dsh-agents-init:让 AGENTS.md 生成完全在子代理中运行

前言

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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye