在 DeepSeek Harness (DSH) 中,AI Agent 的执行轨迹会被记录,但原始日志通常包含大量噪音,且缺乏结构化的可读性。开发者很难快速回顾决策点或从错误中学习。dsh-trajectory-teacher 插件解决这一问题,将原始轨迹自动转换成一份结构化的复盘报告。
该插件由 XiaoMoDern 维护,归类于工作流类插件,使用 MIT 许可证。
安装与启用¶
安装插件需要使用 DSH 插件命令。
dsh plugin add dsh-trajectory-teacher
安装后必须重启 DSH,插件才会自动挂载。
使用方法¶
使用时,先在对话中完成一轮任务。然后,输入指令以触发复盘。
/trajectory-teacher
插件会分析当前会话的完整轨迹,返回一份 Markdown 格式的复盘报告。复盘是手动触发的,以控制 LLM Token 成本。
核心功能¶
该插件提供以下核心功能:
- 将 Agent 执行轨迹自动转成复盘报告。
- 提取关键事件,包括决策点、踩的坑以及可复用做法。
- 自动脱敏,处理轨迹中可能出现的 API Key 明文。
- 过滤噪音,仅保留关键事件。
- 支持自定义模型配置。
- 默认关闭 thinking 以控制成本。
可选配置¶
默认复用当前会话正在用的模型来生成复盘。若要指定,在 cordis.patch.yml 中覆盖。
- id: trajectory-teacher
config:
provider: deepseek-official
model: deepseek-v4-flash
复盘分析已默认关掉 thinking(
reasoningEffort: 'off')——提取+总结不需要深度推理,更快更便宜、输出更稳定。
工作原理¶
处理流程如下:
- 提取:从
session.events(内存事件流)开始。过滤噪音(丢弃 token 级 chunk),提取关键事件(tool/call、assistant/message、turn/*、approval/*等),进行摘要化并脱敏。 - 分析:调用 LLM,产出结构化 JSON(包含决策点 / 坑 / 可复用做法)。
- 渲染:套模板生成 markdown。
- 噪音过滤:一次流式回复会产生几百个 token 级 chunk,全部丢弃,只保留关键事件。
- 脱敏:轨迹里可能混入 API key 明文,报告输出前自动打码(
sk-***)。 - 成本控制:手动触发(不自动跑)、只喂关键事件摘要(有长度上限)、关 thinking、用便宜模型。
项目结构¶
项目主要包含以下文件:
index.ts:插件入口,注册/trajectory-teacher命令。cordis.patch.yml:bundle 的 patch 层。lib/parse.ts:zstd 解压 + 事件流解析。lib/extract.ts:过滤噪音 + 提取关键事件 + 摘要 + 脱敏。lib/analyze.ts:调 LLM 产出结构化复盘。lib/render.ts:JSON 到 markdown。
开发调试¶
本地调试(从源码挂载到 DSH):
cd <deepseek-harness 源码根目录>
pnpm dsh web --patch <本仓库>/dev/cordis.patch.yml --port 0
运行测试与构建:
npm test
npm run build
注意事项¶
复盘要烧 LLM token,需要手动触发。安装后需重启 DSH。输出前自动打码 API Key。确保在安装前检查源码与许可证。