前言¶
DeepSeek Harness (DSH) 的核心设计是“一切皆插件”。当你在 DSH 中开发智能体时,模型往往缺乏对代码质量和开发流程的主动约束。shenhuanageshei/dsh-thincoder-suite 是一个移植自开源项目 thincoder 的插件,它将“AI 写代码时的四条自我纪律”封装为四个独立工具。它不依赖 DSH 本体代码,直接在插件层实现功能。
这套机制通过强制输出可机械核对的痕迹(对账表、令牌、纪要),将原本依赖信任的流程转变为可审计的流程。
核心功能¶
插件提供四个核心工具,分别解决评审循环、代码方向、能力溢出和卡点问题。
- advisor:解决评审无限循环问题。它会强制输出“逐条对账表”,并通过“引用验真”机制核对行号,确保评审有界且可追溯。
- eng / eng_coder:解决代码方向错误问题。进入工程模式后,模型必须先拿到“设计评审通过令牌”才能执行写代码操作,否则会被拦截。
- escalate:解决模型能力不足问题。当任务超出当前模型能力时,将写权限连同任务一起交给池中的更强模型,并返回术后报告供验收。
- consult_start:解决卡点问题。支持多模型并行独立会诊,会诊结果落盘并通知,只有消化了旧会诊结果才能发起新会诊。
安装与启用¶
依赖要求¶
- DSH (DeepSeek Harness): 版本需满足
>= 0.2.0-rc.1。 - Jobs 插件: 想要支持超过 10 分钟的长任务,必须安装
dsh-jobs-local和dsh-tool-jobs两个插件。
安装步骤¶
- 克隆仓库:
git clone https://github.com/shenhuanageshei/dsh-thincoder-suite.git
- 在你的 web profile 目录(通常为
~/.dsh/profiles/web)执行:
pnpm add link:<克隆路径>/dsh-thincoder-suite
- 编辑 profile 的
package.json,将包加入 bundles:
{
"dsh": {
"profile": {
"bundles": [
"@dsh-external/dsh-thincoder-suite"
]
}
}
}
- 重启 DSH。日志中出现
[thincoder-suite] active: advisor/eng/eng_coder ...即表示安装成功。
使用说明¶
advisor:评审收敛与对账¶
advisor 将“无限找茬”的评审模式改为“有界对账”模式。它要求被评审方每轮必须输出 | # | Action | Detail | 格式的对账表,且 Action 只能是 Fixed / Dispatched / Not an issue / Deferred 四种之一。
- 引用验真:评审报告中的每个
文件:行号都会去磁盘验证,伪造引用会被标出。 - 轮次控制:代码评审有 5 轮硬上限;设计评审豁免轮次上限,但若连续三次跑不出可用结论,将拒绝再发起(不可自解除)。
eng / eng_coder:工程模式与令牌机制¶
- eng:开启工程模式,模型此时只能写文档(
docs/**和根级.md),无法修改产品代码。设计评审必须由用户发起,模型不能自己审自己给自己发令牌。 - eng_coder:负责实际的产品代码编写。它支持结构化阶段任务书(
stages),每段有目标、可动文件和验收标准。 - 令牌:设计评审通过后发放令牌。令牌默认 7 天有效,存放在
$DSH_HOME/.thincoder/design-tokens.json。设计文档未变时自动续期。
escalate:能力升级¶
当任务超出当前模型能力时,使用 escalate 工具。它将任务连同写权限一并移交给 consultModels 池中的更强模型。子代理内不再允许递归飞刀,且在工程模式下直接拒绝(只能走 eng_coder)。
consult_start:并行会诊¶
consult_start 发起多模型并行独立分析(只读)。会诊在后台运行,完成后通知用户。纪要默认先落盘到 docs/consult-minutes/,再发送通知。为了防止重复会诊,未消化的会诊会拦截新的发起。
长任务后台化¶
- 默认后台:
eng_coder和escalate默认使用后台执行(批 21 起省略background即后台)。任务完成后会通知用户,报告全文首选读取落盘文件$DSH_HOME/.thincoder/jobs/<jobId>.txt。 - 前提条件:后台化依赖
dsh-jobs-local+dsh-tool-jobs。未安装这两个插件时,任务会告警并回落为同步执行(此时仍受平台 10 分钟墙钟限制)。
注意事项¶
- 版本兼容:本插件仅支持 DSH
>= 0.2.0-rc.1。低版本 DSH 无法安装,平台会在安装期拦截。 - 本地开发:开发调试时请务必使用
link:而非file:。link:会在node_modules建立源码目录链接,修改代码即刻生效;file:仅仅是硬链接复制,修改源码不会反映到插件中。 - 安全模型:授权依赖记录全等匹配 + 设计文档集指纹 + 流程纪律(令牌格式为
uuid:过期时间)。