前言¶
DeepSeek Harness 插件 dsh-deadend 是一个为编码智能体设计的“反驳账本”。它解决的问题是:智能体在每次会话中重复尝试已知失败的方案,因为现有的记忆系统通常只记录“什么有效”,很少记录“什么无效”。dsh-deadend 将“试过且走不通”的方案记入仓库,并在下一次尝试前进行验证。
核心功能¶
该插件主要包含以下能力:
- 锚点追踪:每条记录都携带锚点(文件哈希)。当记录中依赖的代码发生变化时,该记录会自动失效。
- 自动过期:锚点未变时,记录保持“权威”状态;锚点改变时,自动降级为“怀疑”状态。
- 命令规范化:日志哈希时会忽略行号、路径、时间戳等噪音,确保跨会话、跨机器的失败模式能被正确识别。
- 退出码:提供标准化的退出码用于 CI 流程:3(被拦截/权威失败)、4(怀疑/需复测)、5(拒绝记录)。
- 仓库账本:数据存储在仓库的
.deadend/ledger.jsonl中,而非本地缓存,支持多人协作与历史追溯。 - 可合并性:基于内容生成的身份(ID)支持去重与合并。
安装与启用¶
安装该插件需要 DeepSeek Harness 环境及 Node.js >= 20。安装过程无需构建步骤。
dsh plugin --profile web add github:liyixuan201211/dsh-deadend
典型用法¶
使用前应确保环境满足要求。插件提供 check、record、verify 等命令。
检查已知失败:
在执行昂贵的操作前,先检查是否已有权威的失败记录。
deadend check --cmd "npm install sharp" --log /tmp/last-install.log
记录失败:
记录一个失败案例,并指定其锚点文件。
deadend record --title "npm install sharp fails: no prebuilt binary for darwin-arm64" --cmd "npm install sharp" --exit 1 --log /tmp/last-install.log --why "sharp ships prebuilt binaries and publishes none for this platform/arch" --retry "npm rebuild sharp --build-from-source (needs libvips)" --anchor package.json --anchor package-lock.json --evidence /tmp/last-install.log --tag native
验证结果:
当怀疑记录可能不再适用时,进行验证。
deadend verify dd_50e127c7d9c5 --still-fails --log <new-output>
注意事项¶
- 未锚定条目:如果不指定锚点(
--unanchored),记录将永久阻塞,不会自动过期。 - 存储位置:账本位于仓库目录下,而非机器缓存,确保了数据的可共享性与可审查性。
- 依赖要求:需确保运行环境安装了 Node.js 版本 >= 20。
总结¶
dsh-deadend 通过引入“锚点”机制,解决了负面知识难以自动失效的问题。它将失败经验固化为仓库资产,确保智能体不会在已知的错误路径上无限重试。