DeepSeek Harness(简称 dsh)是 DeepSeek 开源的 agent harness。为了让 AI 真能干活,它在仓库里攒下了一整套配套文件:给 AI 每次开工读的规则、近七百篇决策记录、十一个把工作流固化下来的 skill、上百个自动门禁脚本。这些东西散在各个目录,不专门去翻很难注意到。
这个仓库把它们挑出来放到一起,原样不动,再配一份讲怎么用的教程。
跟 AI 协同的麻烦不在智力,在三件事,而且换更强的模型也不会消失:
| 前提 | 具体表现 | 兜它的机制 |
|---|---|---|
| 没有记忆 | 每个 session 从零开始,上周定的规矩它不知道 | ① 常驻规则 ② 决策记录 |
| 产量太大 | 一晚上的 diff 你三天看不完,逐行人工审不现实 | ③ 机器门禁 |
| 会自我美化 | 没验证的事写成验证过了,推理过程当结论写进注释 | ④ 坏习惯规范 ⑤ Skills |
| (协作放大) | 几个 AI 同时改会互相覆盖,人审成为瓶颈 | ⑥ 隔离并行 + 互审 |
一篇一个机制。每篇都拿仓库里能点开的真实文件举例,说明它好在哪。
| 篇 | 讲什么 |
|---|---|
| 一、常驻规则 | 把规矩写成 AI 每次开工自动读到的一份索引,而不是每次重新交代一遍。三个不显然的取舍:它是索引不是教程(所以要设字数上限)、按目录分层就近生效、软链接让不同厂商的 AI 共用同一份。 |
| 二、决策记录 | 每个非平凡决定写一篇记录,必须写清否掉了哪些方案、为什么 —— 否则三个月后有人重提旧方案,你没有任何东西可以引用。附四个真实记录:被否的中央索引、依赖审计的否决清单、压缩方案的五个备选、事故之后加的守卫。 |
| 三、机器门禁 | 能机器判断对错的规则一律写成脚本自动跑,三道关卡按「秒级 / 分钟级 / 穷尽」分工。两个让门禁变成摆设的坑:加了却从没见它红过、把 prompt 层的过滤当成了强制。 |
| 四、坏习惯规范 | AI 的毛病是成体系的,所以能一类一类立规矩。三条:别把推理过程写进产物、测世界而不是测 AI 的自我报告、措辞要点名具体对象而不是用空词。 |
| 五、Skills | 值钱的不是把步骤记下来,而是固化那条「AI 容易做错、且做错了当时看不出来」的判断。共同形状是「一条可执行的判定 + 一张防止做过头的护栏」,而护栏那半通常更难写。另附八类思维链泄漏的对照表,备查。 |
| 六、并行与互审 | 多个 AI 怎么同时干活而不互相覆盖:一人一个 worktree、依赖链交给平台的官方栈功能、AI 审 AI 但硬性要求逐条技术核实、不许附和。 |
| 七、怎么开始 | 六步采用路线,每步单独也有收益。前三步是地基(没有常驻规则,skill 没人加载;没有决策记录,门禁会被绕开),停在第三步也是个完整可用的状态。 |
按顺序读最省力,也可以直接跳到关心的那篇。
| 你想看 | 去哪 |
|---|---|
| 「给 AI 读的规则」长什么样 | 根 AGENTS.md;另有五份子目录专属的(docs、packages、scripts、.github、notes),六份叠起来就是「分层就近」的实物 |
| 决策记录怎么写、怎么流转 | 制度全文;.agents/notes/ 下有 204 篇真实记录,六个类别、四种生命周期都有 |
| 一个 skill 里到底固化了什么 | dsh-trim-cot-leakage 最典型——一条判定加一张「什么不算泄漏」的护栏,后者拦的是 AI 清理时把 issue 号、豁免理由、实测数据一起删掉 |
| 测试上有什么讲究 | 测试策略,里面「验证世界而不是验证自我报告」那节值得单独看 |
这些原件是 dsh 的文件,里面的命令(pnpm run test)、目录(packages/)、技术选择(Cordis、ESM)说的都是 dsh 那个仓库,在这里不成立。当参考实现看,抄到自己项目时换成自己的事实,顺序见第七篇。
原件正文一字未改,只动了跨仓库链接,以及在有中文对照的文件顶部加一行语言切换。收录范围、改了哪些链接、哪些 skill 不容易搬,都在 ATTRIBUTION.md 里。