前言¶
在 DeepSeek Harness (DSH) 的开发中,智能体遇到错误后往往无法复用之前的诊断结果,导致重复推理和 Token 浪费。dsh-errkb 插件旨在解决这个问题,它将模型遇到的错误转化为编号、可编辑的知识库,并在错误重复出现时,将记录好的修复方案注入上下文,让模型直接使用已知解。
插件定位¶
- 核心价值:Recycles errors(回收错误)。同一个失败只需诊断一次,记录下来,下次再出现时直接作为已知修复方案返回。
- 维护者:jingchangzhao-gif
- 分类:记忆
当前状态¶
插件目前处于 P5 阶段完成状态。
* 已完成:设计文档完成,核心逻辑已实现(T01-T15)。包括知识库目录解析、错误指纹识别、强制脱敏、错误存储、捕获层钩子、注入层钩子以及五个代理工具。
* 待完成:LLM 请求失败捕获(T16)、自动安装到配置文件的功能(T17)、以及发布到 npm(T18)。
核心功能¶
- 错误回收与记录:将工具失败、非零命令退出和轮次级错误记录到
ERRORS.md。 - 自动注入:检测到重复错误时,在模型重新诊断前注入已记录的修复方案。
- 强制脱敏:对敏感信息进行脱敏处理,确保隐私安全。
- 工具集:提供
err_lookup(查找)、err_record(记录)、err_list(列表)、err_forget(遗忘)和err_stats(统计)五个工具。
使用方法¶
-
前置依赖:
- Node.js 版本需 >= 22.13
- pnpm 版本需 11.7.0
-
加载插件:
由于未提供自动安装命令,需要手动将插件添加到 DeepSeek Harness 的配置文件中。插件加载后,会自动记录错误到ERRORS.md。 -
工具交互:
- 自动流程:插件加载后,会监控工具失败和命令退出码。当错误重复出现时,系统会自动注入修复方案。
- 手动记录:如果错误未被自动记录或需要手动补充,可使用
err_record工具。 - 查询与管理:使用
err_lookup查找特定错误,使用err_list查看所有错误,使用err_forget删除记录,使用err_stats查看统计信息。
知识库格式¶
错误信息以 Markdown 格式存储在 ERRORS.md 文件中。每次写入时都会应用强制脱敏规则。
注意事项¶
- 权限:插件以当前 DSH 进程的权限运行,安装前请检查源码与许可证。
- 局限性:目前不支持自动捕获 LLM 请求失败,且需要手动配置文件添加。
- 隐私:支持强制脱敏,所有敏感信息在存储前会被处理。
总结¶
dsh-errkb 为 DSH 开发者提供了一个将错误转化为资产的基础设施。通过建立编号化的错误知识库,它减少了重复推理的成本。尽管目前还需要手动配置,但其核心的捕获与注入机制已具备实际使用价值。