在 DeepSeek Harness (DSH) 的日常开发中,任务失败是常态。面对 Agent 的报错,开发者需要快速定位原因、获取证据,并制定安全的下一步行动。直接阅读原始日志往往信息冗余且包含敏感数据,这会降低排错效率。
dsh-postmortem 旨在解决上述问题。它读取已有的 DSH session 事件,在几秒内生成一份脱敏的恢复计划。作为本地优先、只读模式的插件,它无需依赖模型即可提供基础复盘能力。
核心能力¶
该插件专注于提供可落地的故障分析与恢复建议。
- 生成脱敏的恢复计划:回答三个核心问题——哪里失败、证据是什么、下一次尝试前应检查什么。输出中不包含用户消息、工具参数、输出、文件、提示词、凭据或原始轨迹。
- 本地优先与只读:所有分析基于本地已有的 Session 事件,不声称任务成功,完全依赖项目现有的验证器来判定任务状态。
- 智能故障检测:能够区分终止状态与因果证据,区分 Agent 的完成文本与任务成功;检测重复失败(如三次及以上未变更的失败调用);识别并报告用户取消操作。
安装与配置¶
安装该插件到指定的 DSH profile,系统会自动注册其 bundle 层。安装完成后重启 profile,即可在失败后使用相关命令。
dsh plugin --profile <profile-name> add @huichangzz/dsh-postmortem
若要启用可选的模型复盘层(用于更复杂的分析),需在 cordis.patch.yml 中添加配置覆盖项。该模型层复用 DSH 已配置的 llm 服务,若模型不可用,确定性报告依然可用。
- id: postmortem
config:
model:
enabled: true
provider: your-provider
model: your-model
timeoutMs: 10000
典型用法¶
安装并重启 profile 后,可通过以下命令进行复盘:
- 查看失败详情与证据:执行
/postmortem。它会列出发现的问题,区分开放轮次的实时状态与已结束轮次,并提供重试前的检查建议。 - 获取简洁的恢复路线:执行
/postmortem-next。它会显示主问题、首个验证步骤,以及一条安全的下一步命令。它不会把 Agent 的完成文本当作任务成功。 - 创建新的恢复会话:执行
/postmortem-recover。它会基于脱敏交接显式创建一个新的、带父 session 关系的 DSH agent,绝不会将失败的 transcript 注入到新会话中。 - 导出 JSON 建议供外部使用:执行
/postmortem-plan。它会导出 schema-v1 格式的动作建议,包含证据类别、建议动作与验证步骤,仅用于复制,本包不会执行这些动作。
兼容性与注意事项¶
- 兼容性:目标兼容 DSH
0.1.1-rc.2和 Cordis4.0.1。插件以公开 session event 词汇表作为兼容性边界。 - Headless 模式:Headless collectors 可能会影响
tool/call字段。 - 配置与安全:插件不配置也不存储任何密钥。
autoOnFailure默认为detected,即只打印可行动的已检测故障。
dsh-postmortem 将复杂的失败日志转化为结构化、脱敏的恢复指南,帮助开发者从“看日志”转向“解决问题”。更多细节与源码请参考项目主页。