DeepSeek Harness 插件能配哪些项?DSH plugin 的 config 目录与 cordis.yml
DeepSeek Harness 的插件配置目录(config-catalog)由脚本从源码生成,按每个可加载的 harness 包原样列出它的 config 声明;每个 config: 块都能由 cordis.yml 条目设置,每个条目还用 inject、refs、source 三个标识标注(来源)。 这篇讲清它是谁、怎么读、以及哪些字段能配、哪些不能。
DeepSeek Harness 的 config 目录是什么:按包列出 config 声明
config-catalog 是一份以部署为轴的参考文档:针对每个可加载的 harness 包,它原样列出其 apply 函数或服务构造函数接收的配置声明(含 JSDoc),并附上所有引用类型(来源)。 几个要点:
- 它由源码生成 — 文件由
scripts/gen-config-catalog.ts生成,并用pnpm run verify-config-catalog校验新鲜度。预期:你只需查阅,不要手工编辑。 - 配置入口统一是
cordis.yml— 每个config:块都可以由cordis.yml条目设置。预期:找到包名,再到对应 profile 的配置里写config:。 - 范围限于 harness 层 — 目录范围限定在
packages/;配置树还可能加载 vendored cordis 插件(如控制台日志记录器)。预期:查不到某个 vendored 插件的配置时,去它的上游文档找。 - 三份参考各司其职 — 面向模型的工具 schema 看工具目录,插件作者的连接方式看各子系统页面的
cordis-surface区,本目录只看配置声明。预期:别把三者的用途搞混。
读懂一条:inject、refs 与 source
每个包的条目用三个标识符标注,读懂了这三项,就知道这个插件依赖谁、还需要去哪查类型(来源)。 逐个看:
inject— 列出插件注入的服务键。预期:它提醒你,该插件的cordis.yml树还必须加载这些服务对应的提供者,否则插件起不来。refs— 列出声明引用、但没有粘贴在此处的类型。预期:需要看完整定义时顺着它去查。source— 链接到声明这份配置的源文件。预期:想确认字段语义或默认值时,直接读源码最准。
DSH plugin 能配哪些字段、哪些不能配
粘贴的内容是插件声明的完整配置类型——运行时 schema 有意排除的字段是仅供运行时使用的 seam(其 JSDoc 会说明),不能通过 cordis.yml 设置(来源)。 判断方法:
- 先看它是不是运行时 seam — 被 schema 排除的字段会自带说明。预期:这类字段写进
cordis.yml也不会生效。 - 再用真实字段落地 — 以 DeepSeek 会话日志为例,可在 profile patch 里写
session-log-deepseek.enabled: false来关闭它(来源)。预期:字段名对得上目录与源码,配置才生效。 - 改完按 profile 验证 — 确认写在了当前实际使用的 profile 里。预期:换 profile 试一次即可排除「写错层」。
想找现成插件、看社区都在配什么,可以先进 DSH Plugin Hub,再到本目录核对它暴露的配置字段。
注意事项与常见问题
- 别手改生成文件:config-catalog 是生成物,改动会被校验判定为过期。
inject不满足会启动失败:服务提供者没在同一个配置树里加载时,插件无法注入。- schema 排除的字段配不了:不要试图用
cordis.yml绕过运行时 seam。 - 字段级目录 ≠ 覆盖规则:想知道多个 patch 怎么合并、谁覆盖谁,见《DeepSeek Harness 插件配置怎么改》。
- 想知道配置文件在哪:见《dsh 配置文件在哪》。
常见问题
DeepSeek Harness 的插件配置目录(config-catalog)是一份以部署为轴的参考文档,由脚本从源码生成,针对每个可加载的 harness 包原样列出其 apply 函数或服务构造函数接收的配置声明(含 JSDoc),并附上所有引用类型。每个 config: 块都可以由 cordis.yml 条目设置。
在 DeepSeek Harness 的 config-catalog 条目上,inject 列出插件注入的服务键,其 cordis.yml 树还必须加载这些服务的提供者;refs 列出声明引用、但没有粘贴在原处的类型;source 链接到声明该配置的源文件。
因为 DeepSeek Harness 的 config-catalog 粘贴的是插件声明的完整配置类型,而运行时 schema 会刻意排除一部分字段——这些是仅供运行时使用的 seam(其 JSDoc 会说明),不能通过 cordis.yml 设置。
在 DeepSeek Harness 对应 profile 的 cordis.yml / cordis.patch.yml 里,给该插件条目写 config: 块,按 config-catalog 给出的字段名填值;例如 DeepSeek 会话日志可用 session-log-deepseek.enabled: false 关闭。
在 DeepSeek Harness 里,面向模型的工具 schema 查工具目录(tool-catalog);插件作者所依据的连接方式查各子系统页面里生成的 cordis-surface 区;config-catalog 本身只负责按包列配置声明。
相关术语
- config-catalog
- config-catalog 是 DeepSeek Harness 官方生成的插件配置目录,按每个可加载的 harness 包列出其配置声明与引用类型,是以部署为轴的参考文档,请勿手工编辑。— DeepSeek Harness 官方文档 - 插件配置目录
- cordis.yml
- cordis.yml 是 DeepSeek Harness 的配置树文件,以条目形式声明要加载的插件及其 config: 块;config-catalog 里列出的每个 config 声明都能由这里的条目设置。— DeepSeek Harness 官方文档 - 插件配置目录
- inject
- inject 是 config-catalog 条目的标识之一,列出该插件注入的服务键;要让插件工作,其 cordis.yml 树还必须加载这些服务对应的提供者。— DeepSeek Harness 官方文档 - 插件配置目录
- refs
- refs 是 config-catalog 条目的标识之一,列出该配置声明引用、但未粘贴在条目里的类型,便于你顺着链接查到完整定义。— DeepSeek Harness 官方文档 - 插件配置目录
来源
- DeepSeek Harness 官方文档 - 插件配置目录· deepseek-harness
- DeepSeek Harness 官方文档 - Python SDK 入门· deepseek-harness