YiHarvest/dsh-failure-capsule
YiHarvest★ 0TypeScript最后同步: 2026-08-14
Local-first failure evidence capsules for DeepSeek Harness sessions
README 摘要
dsh-failure-capsule DeepSeek Harness 的本地优先故障证据包插件:当工具或 Agent 失败时,自动把 失败前发生了什么、项目当时是什么状态、运行环境和插件组合是什么 整理成一个经过脱敏的 ZIP。 English 当前状态: 可作为标准 Profile Bundle 安装;面向 @deepseek-ai/[email protected] 的原生 session/event 与 agent/error 接口实现。插件不修改 Harness 核心,不上传数据,也不调用模型诊断故障。 快速开始 为使用中的 profile 安装插件。Web 与 headless 是两个独立 profile,需要分别安装: 验证组合层: 随后正常使用 DSH。失败发生时,插件默认把证据包写入当前项目: 它解决什么问题 普通错误日志往往只有“最后哪里炸了”,但 Coding Agent 的失败通常依赖一整段过程:模型请求、工具调用、权限、工作树变化、运行时以及插件组合。Failure Capsule 把这些信号放在同一个离线证据包里: 默认捕获以下故障: 信号 默认 说明 : tool/result 且 isError=true ✅ 每个失败工具调用各生成一份 turn/end / error ✅ 模型、传输或 Agent 回合失败 turn/end / blocked ✅ 回合被策略或流程阻塞 turn/end / interrupted ✅ 上个进程未能正常关闭回合 agent/error ✅ 没有落入持久化失败回合的运行时错误 turn/end / aborted ❌ 用户取消默认不视为故障,可配置开启 ZIP 内容 Timeline 默认最多 80 条事件。每条 Git 命令默认最多采集 512 KiB;达到预算会终止命令并明确标注截断。Git 通过参数数组直接执行,不经过 shell,不读取未跟踪文件内容,也不运行 hook 或 textconv。 安全模型 - Local-first: ZIP 只写本机;插件没有网络请求和遥测后端。 - 导出副本脱敏: 原始 Session Log 和工作树不被改写。 - 默认脱敏: 敏感字段、Bearer/Basic 凭据、常见 provider/GitHub/npm token、AWS access key、环境变量赋值、URL 用户密码、私钥块和本机路径。 - 有界采集: Session Event 数量和每个 Git 输出都有硬上限。 - 错误隔离: 证据生成失败只写 Harness warning,不改变 Agent 的原始失败或后续运行。 - 安全停止: 插件卸载时会等待已启动的证据包写入结束。 自动脱敏不能证明 ZIP 中绝对没有业务秘密。分享前仍应人工检查,尤其是自由文本、源代码 diff 和…
在 GitHub 查看完整 README →