DeepSeek Harness 插件配置怎么改?DSH plugin 的 config 块与 patch 覆盖
DeepSeek Harness 里每个 DSH plugin 的 config: 块都能由 cordis.yml 条目设置,官方 config-catalog 逐包列出可配项;改动通过 patch 层覆盖,越靠后的层越优先。 这篇讲清插件条目怎么写、覆盖顺序怎么排、字段怎么查。
DeepSeek Harness 插件配置项从哪来:cordis.yml 的 config 块与配置目录
DeepSeek Harness 的总原则是「每个 config: 块均可由 cordis.yml 条目设置」,条目用 name 指定插件、config 传参,可配字段在官方 config-catalog 里逐包列出(来源)。 按下面认一遍:
- 看插件条目结构 — 一条插件配置由
name(插件名)、config(参数字典)构成,必要时加id标识与insert控制插入位置。预期:name对不上时插件根本不会加载。 - 查官方配置目录 — 在 config-catalog 里按包名找该插件的可配项。预期:例如
@deepseek-ai/dsh-agent-default-model有provider与model,dsh-agent-instructions有dshHome、maxBytes、instructionFileCandidates。 - 认字段类型 — 数值、布尔、字符串数组各有语义,如
dsh-agent-loop的maxParallelToolCalls是数值、agents[]是列表。预期:类型写错会导致配置校验失败。 - 写进条目 — 把想改的键值写进对应插件的
config。预期:保存后按生命周期决定是否需重启。
DeepSeek Harness 怎么覆盖插件默认配置:patch 层与 --patch
插件默认配置按四层依次叠加:各组合包自己的 patch → profile 的 cordis.patch.yml → home 级 $DSH_HOME/cordis.patch.yml → 启动时的 --patch,越靠后的层越靠外、越优先(来源)。 按目标层选写法:
- 只改一个 profile 的插件 — 写
$DSH_HOME/profiles/<name>/cordis.patch.yml。预期:只影响该 profile,别的 profile 读不到。 - 让本机所有 profile 都吃到 — 写
$DSH_HOME/cordis.patch.yml。预期:作为 home 级层被所有 profile 叠加。 - 临时试验 — 启动时用
--patch指定覆盖文件。预期:优先级最高、不改动任何持久文件,重启即失效。 - 确认生命周期 — 看该 profile 的
patchReload是live还是startup。预期:startup下改完要重启才生效。 - 用 dump 验证 —
--dump-config打实际合成值、--dump-default-config打默认值。预期:两份对比即可确认哪层赢了。
DeepSeek Harness 怎么查插件能配哪些字段:--dump-config-schema
--dump-config-schema 在不启动服务的情况下打印配置项结构定义,是「能配什么」的权威答案;--dump-config 则回答「实际配成了什么」(来源)。 排查插件配置时按这个顺序:
- 先 dump schema — 跑一次
--dump-config-schema,按插件名找到它的字段定义。预期:能确认字段名、类型与是否必填,避免凭记忆猜。 - 再 dump 实际值 — 跑
--dump-config。预期:看到的是多层叠加后的最终结果。 - 对比默认值 — 跑
--dump-default-config。预期:分清「默认就是这样」还是「你改成了这样」。 - 定位覆盖来源 — 若实际值与预期不符,逐层检查 profile 与 home 级 patch。预期:找到更外层把内层盖掉的那一行。
改 DSH插件 配置时如果想找带配置面板的现成插件,可在 DSH Plugin Hub 的设置页里改,图形化比手写 yaml 省事。

DeepSeek Harness 插件配置的注意事项与局限
name必须精确:插件名写错时配置不会报错、插件直接不加载,先确认包名。- 层越外影响越大:home 级 patch 影响所有 profile,只动一个就写 profile 级。
--patch不持久:适合验证,别把它当正式配置。patchReload: startup要重启:不是所有改动都会热生效。- 能配 ≠ 该配:改前先看官方 config-catalog 的字段说明,别填未定义的键。
配置层与文件位置的关系见《dsh 配置文件在哪》;插件装到哪个 profile 见《DeepSeek Harness 怎么建独立 profile》。
常见问题
DeepSeek Harness 的插件配置项在官方插件配置目录(config-catalog)里逐包列出,总原则是每个 config: 块都能由 cordis.yml 条目设置。例如 dsh-agent-default-model 有 provider 与 model,dsh-agent-loop 有 maxParallelToolCalls。
DeepSeek Harness 的插件条目用 name 指定插件、用 config 传参,必要时用 id 标识、用 insert 控制插入位置。远程或 stdio 类插件还会带 transport 与 command 等字段。
多是这样。DeepSeek Harness 按组合包 patch → profile 的 cordis.patch.yml → home 级 $DSH_HOME/cordis.patch.yml → --patch 的顺序叠加,越靠后越优先。写在会被外层覆盖的层,就会表现为改了没反应。
它用于在不起服务的情况下打印配置项的结构定义,能看清某个插件接受哪些字段与取值类型,配合 --dump-config 一起用,前者看「能配什么」、后者看「实际配成了什么」。
改 profile 的 cordis.patch.yml 是持久生效、只影响该 profile;--patch 是启动时指定的一次性覆盖层,优先级最高、适合临时试验,不写进文件。
相关术语
- config-catalog
- config-catalog 是 DeepSeek Harness 的官方插件配置目录,逐包列出可配置项,其总原则是每个 config: 块都可以由 cordis.yml 条目设置。— DeepSeek Harness 官方文档 - 插件配置目录
- config 块
- config 块是 DeepSeek Harness 插件条目里承载参数的字段,写在 cordis.yml 或 cordis.patch.yml 的插件条目下,内容随插件而异。— DeepSeek Harness 官方文档 - 插件配置目录
- --dump-config-schema
- --dump-config-schema 是 dsh 命令行的排查参数,用于打印配置项结构定义,帮助确认某插件支持哪些字段与取值类型,而不必启动服务。— dsh CLI README
- --patch
- --patch 是 dsh 启动参数,用于指定一个额外的高优先级配置覆盖层,只对本次启动生效,适合临时试验配置改动。— dsh CLI README
来源
- DeepSeek Harness 官方文档 - 插件配置目录· deepseek-ai
- dsh CLI README· deepseek-ai