G1en-114/dsh-failbook

G1en-114★ 1TypeScript最后同步: 2026-08-18

在 GitHub 打开

失败账本:DeepSeek Harness 工具失败自动记录·签名聚类·跨会话持久化 + 失败感知重试拦截,让 Agent 越用越少犯错,含 Web UI 面板

README 摘要

🧾 dsh-failbook · 失败账本 让 DeepSeek Harness 的 Agent 越用越少犯错 :记录每次工具调用失败,按失败原因自动聚类,持久化账本,并在同一错误反复出现时 拦住 Agent 的重试 ——换参数犯同一个错也拦得住。 DeepSeek Harness (DSH) 插件 · 宿主端(Cordis)+ 浏览器端(设置面板) · MIT · 零配置开箱即用 English · 安装 · 配置 · 工作原理 · 对比 · Roadmap 为什么做这个 Agent 干活时最烧钱、最烦人的场景: 同一个错误反复重试 。 - command not found: pipx —— 换个写法再来一遍,还是 127; - 沙箱拒绝 —— 策略不给权限,硬重试 5 次; - npm ERR! —— 依赖没装对,重装 N 遍。 官方 repeat-tool-reminder 只抓 参数完全相同的连续重复 ,换参数犯同一个错就抓不住。 dsh-failbook 按 失败签名 聚类:只要失败原因一样,不管参数怎么换,都记进同一个账本,攒够次数就注入提醒,告诉模型"别重试了,原因在这,建议这样做"。 功能 能力 说明 📥 自动记录 挂钩 tools/post-execute ,捕获每次工具调用失败:结构化错误、非零退出码、沙箱拒绝、常见错误文本 🗂️ 签名聚类 同一失败原因(如 bash:command-not-found )自动归为一桶,不因参数不同而散落 💾 跨会话持久化 通过官方 ctx.storageDomain 存储,重启不丢;无该服务时自动降级为内存账本 🛑 失败感知重试拦截 同一签名近窗口内失败 ≥ N 次(默认 2 次)→ 注入一段建议性提醒,附失败原因和改法建议 🖥️ Web UI 面板 设置页「失败账本」:Top 失败签名表、次数/近窗口/最近时间、静音、单删/清空 🔇 静音与排除 误报桶一键静音; excludeTools / patterns 精细控制 🧮 保守检测 漏判 误判:只认确凿的失败标记,可选扩展错误模式 演示 安装 或手动编辑配置目录的 cordis.patch.yml : 重启 dsh web 后,打开 设置 → 失败账本 即可看到面板。 配置 配置项 默认 说明 enabled true 总开关 retryGuardThreshold 2 近窗口内同一签名失败 ≥N 次触发提醒; 0 关闭提醒(只记录) reminderCooldownSec 300 同一桶两次提醒的最小间隔(秒),防刷屏 reminderLocale 'zh' 提醒文案语言: zh / en exitFailureMin 2 退出码 ≥ 此值记为失败( 1 常是 grep 无匹配等正常负结果) recentWindowSec 864…

在 GitHub 查看完整 README →
皮肤/UIagent-toolscordisdeepseek-harnessdeepseek-harness-plugindeepseek-harness-pluginsdshdsh-plugindsh-plugin-market

分类