前言¶
DeepSeek Harness(DSH)的技能机制要求模型先读取指令再执行,每次激活都会把方法文档注入主窗口,带来可观的上下文开销。如果指令本身较长,主对话会额外承担这些 tokens。
dsh-agents-init 把「写 AGENTS.md」这件事整个放进子代理里跑。主对话只发出命令、只收到结果,指令正文一次都不进入主窗口。
插件定位¶
- 名称:dsh-agents-init
- 维护者:OZONGO
- 分类:工作流
- 仓库:https://github.com/OZONGO/dsh-agents-inits
它是一个 DSH 插件,通过宿主代码直接派生子代理来执行 AGENTS.md 的生成、修复或审计,让主窗口完全避免读取方法文档。
核心功能¶
/agentinit命令:在主对话中直接调用子代理执行任务。- 命令回执:执行开始时立即返回一行回执,例如:
- Started an AGENTS.md subagent (child-0123456). Its report will arrive when it finishes; this conversation stays out of the work until then.
- 子代理完成后自动回传报告,期间主对话可继续做别的事,不会被阻塞。
- 方法文档仅由子代理在自己的上下文中读取,主窗口从不会看到任何指令正文。
安装与启用¶
使用官方安装命令:
plugin_manager action=install_bundle target=<本目录的绝对路径>
安装后,插件会在宿主中插入一条条目 skill-agents-init。index.js 只导入 Node 内置模块,可在任意 profile 中激活,不依赖 @deepseek-ai/* 的 peer 解析。
典型用法¶
/agentinit # 直接开始
/agentinit audit this repo # 带上你的要求,原样转给子代理
命令会立即返回一行回执。子代理在后台完成任务,完成后报告自动回传。主对话可以在子代理运行期间继续其他工作。
配置项¶
配置全部可选,未知字段或类型错误会导致激活直接失败,不会静默忽略。
| 字段 | 默认值 | 含义 |
|---|---|---|
provider |
spawn |
子代理后端名。spawn 是 dsh-base 挂载的进程内实现。 |
agentPreset |
"" |
给子代理指定一个 agent preset;留空则继承父级。 |
allowMethodEdit |
true |
是否允许子代理修正方法文档(当某次运行证明某条规则是错的)。 |
activationNote |
"" |
追加到每次运行的额外指引。 |
配置示例:
- id: skill-agents-init
name: dsh-agents-init
config:
provider: spawn
如果配置了不存在的 provider,命令会立刻报错并列出当前可用的后端名。
文件与测试¶
index.js:宿主插件,/agentinit命令 + 直接派生子代理。references/methodology.md:方法文档,只被子代理读取,从不进入主窗口。cordis.patch.yml:组合包补丁,插入宿主条目。scripts/agents_md.py:只读检查器,核验命令与路径(sections、check、stats)。locale/en.json、locale/zh.json:插件管理页的展示元数据。test/smoke.mjs:离线契约检查,使用假的 context。test/runtime.mjs:挂载到真实 Cordis 运行时,驱动真实的 commands 服务。
测试用纯 Node 运行,无任何依赖:
node test/smoke.mjs
node test/runtime.mjs
test/runtime.mjs 需要一份 DSH 安装。它会自动搜索常见位置,也接受 DSH_INSTALL_ROOT;找不到时打印 SKIPPED 并以 0 退出。
适用场景与注意¶
- 适合需要频繁生成、修复或审计 AGENTS.md 的项目。
- 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
已知边界:
- 隔离的是生产过程,不是产物。
AGENTS.md一旦写入仓库,会被dsh-agent-instructions自动注入,从项目根到会话工作目录全链路加载。子代理能让你不为一整个仓库的阅读付上下文,但产出的那份文件本身仍要按设计进入每次请求。 - 修改本插件后需要重启宿主。Node 的 ESM 没有模块缓存失效机制,插件重新启用时会复用进程内已加载的模块。改动
index.js后请重启 DSH,而不是只切换插件的启用状态。references/methodology.md不受影响,它每次运行都重新读取。
短结尾¶
dsh-agents-init 通过子代理隔离了方法文档的读取,让主窗口只承担命令回执与报告,减少上下文开销。它不依赖 @deepseek-ai/* 的 peer 解析,可在任意 profile 中激活。
- 目录页:https://www.skillhub.cn/plugins/OZONGO/dsh-agents-inits
- 仓库:https://github.com/OZONGO/dsh-agents-inits