headless-json
在终端中运行以下命令:
dsh plugin install JohnXu22786/headless-json
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install JohnXu22786/headless-json 即可安装该插件,完整源码见 https://github.com/JohnXu22786/headless-json
插件介绍
dsh 内置的 headless 模式最终只打印一段文本并以 0/1 退出,做几次冒烟测试没问题,但一旦想把 dsh 会话接进 CI 流水线,信息量就远远不够了。headless-json 正是为此而生:它以 profile bundle 的形式挂载到任意 dsh 会话,把整轮对话变成一组机器可读的产物——一份含会话元数据、逐事件明细、结果统计的交易级 JSON 报告,一条可在运行中实时 tail 的 NDJSON 事件流,以及一份直接喂给 GitLab CI、Jenkins 或 Azure DevOps 的 JUnit XML。退出码不再是简单的 0/1,而是区分 success、error、timeout、blocked、aborted、interrupted 六档语义,方便下游脚本精细分支。
隐私与确定性是另外两个值得关注的亮点。所有输出在写盘前统一经过脱敏层:文本截断、工具参数隐藏、密钥掩码、路径相对化,均可在挂载时或运行中动态调整。更关键的是,给定同一份会话日志和同一组选项,产出的字节完全一致,这让 diff 对比和回归验证变得可靠。插件从不写 stdout,不会干扰 dsh 官方 headless runner 的输出通道,也保证了一个畸形事件不会炸掉整棵加载树。
如果你正在把 dsh 当作自动化 Agent 嵌入持续集成、需要为每轮运行留档一份可追溯报告,或者希望用 JUnit 格式让 CI 面板把 Agent 执行当作测试来展示,headless-json 就是那块缺失的拼图。它同样适合需要在多 Agent 环境中收集工件路径清单、批量脱敏后再归档的团队。
使用场景
- 将 dsh Agent 会话嵌入 GitLab CI 或 Jenkins 流水线,以 JUnit 格式展示每轮执行结果
- 在自动化流水线中对每轮运行留档 JSON 报告,支持字节级 diff 对比与回归验证
- 多 Agent 环境中收集引用文件路径清单,批量脱敏后再归档至长期存储
适合人员
- 将 dsh 作为自动化 Agent 嵌入持续集成平台的工程团队
- 需要为每轮运行生成可审计、可追溯产物的运维与 QA 团队
- 在多 Agent 环境中管理输出隐私与工件归档的安全合规团队