首页 > 教程 > DeepSeek Harness 教程 > DeepSeek Harness 加载插件
DeepSeek Harness 教程

DeepSeek Harness 加载插件

第 13 / 35 节 2026-11-07

DeepSeek Harness 加载插件

上一篇写好了 hello-plugin 的源码,这一篇把它真正加载进 Web UI。要用到两个东西:patch 覆盖层 cordis.yml 和 --patch 启动参数。

scratch-plugin 目录结构

在已有的 scratch-plugin/src 旁边再加一个 cordis.yml,整个临时项目长这样:

scratch-plugin/
├── src/
│   └── my-plugin.ts    # 插件源码(上一篇写的 hello-plugin)
└── cordis.yml          # patch 覆盖层:告诉框架插入哪个插件

cordis.yml 的 insert

先在仓库根目录运行 pwd 拿到绝对路径,然后创建 scratch-plugin/cordis.yml:

# 文件路径:scratch-plugin/cordis.yml
# 这是一个 Web 覆盖层(overlay),只负责插入本地插件
- insert:
    - id: hello
      # name 是插件文件路径,必须是绝对路径!
      name: '/absolute/path/to/deepseek-harness/scratch-plugin/src/my-plugin.ts'

把 /absolute/path/to/deepseek-harness 替换成 pwd 打印的真实路径。插件路径必须是绝对路径,相对路径无法解析。

用 --patch 启动

保持终端位于仓库根目录,用这个覆盖层启动 Web UI:

pnpm dsh web --patch ./scratch-plugin/cordis.yml

启动期间终端会打印 [hello-plugin] plugin loaded!;打开 http://127.0.0.1:3080,在设置的插件列表里搜索 hello,就能看到刚安装的插件。

工作原理

dsh 会把多个配置来源按顺序叠加成一份最终配置,--patch 传入的 cordis.yml 就是启动时叠加进 profile 的一个覆盖层:

概念 是什么 作用
profile 一份可启动的组装配置 决定 Web UI 由哪些组合包组成
patch 覆盖层 启动时额外叠加的 yml 插入本地插件、覆盖某项配置
insert patch 里插入插件的语法 按 name 的绝对路径加载插件

提示:--patch 适合本地开发调试;要把插件交付给其他人时,应该用组合包(bundle)的方式。

 

©️版权声明:
本网站(https://aigc.izzi.cn)刊载的所有内容,包括文字、图片、音频、视频等均在网上搜集。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本网站任何内容或服务用于其他用途时,须征得本网站及相关权利人的书面许可,并支付报酬。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,予以删除。

继续学习其他教程