XiaoMoDern/dsh-trajectory-teacher
/trajectory-teacher:DSH插件,可将代理的执行轨迹转化为结构化的复盘报告(决策/陷阱/可复用模式)
Project Overview项目介绍
This is a review report generation plugin for DeepSeek Harness (DSH). It extracts key events from an AI Agent's execution trajectory, analyzes via LLM, and outputs a structured Markdown report covering decision points, pitfalls, and reusable practices. Trigger it manually after task completion; it consumes LLM tokens, so use only when needed.
这是DeepSeek Harness(DSH)的复盘报告生成插件,可提取当前Agent执行轨迹的关键事件,调用LLM分析后生成结构化Markdown复盘报告,包含决策点、踩坑记录、可复用经验。完成一轮Agent任务后输入指令手动触发,需消耗LLM token,按需使用。
请帮我了解并安装插件:【dsh-trajectory-teacher】【https://github.com/XiaoMoDern/dsh-trajectory-teacher】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin add dsh-trajectory-teacher
把 XiaoMoDern/dsh-trajectory-teacher 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-trajectory-teacher
把 DeepSeek Harness (DSH) 里 AI Agent 的一次执行轨迹,自动转成一份可读的复盘报告。
- 输入:DSH 的 Trajectory 事件流(Agent 每次运行自动记录)
- 处理:提取关键事件 → 调 LLM 分析
- 输出:markdown 复盘文档(决策点 / 踩的坑 / 可复用做法)
效果示例
对话里输入 /trajectory-teacher,几秒后得到一份结构化复盘:
# Agent 执行复盘报告
> | 工作目录 | `/path/to/your-project` |
> | 回合数 | 11 | 工具调用 | 50 次 |
## 总结
会话围绕一个项目的下一步展开……
## 决策点
1. **面对「项目下一步」提问时,先读 README/CHANGELOG/git log 再回答** ✅ 走对
- 为什么:用户提供的是过时交接文档,必须用仓库实际状态校正上下文
## 踩的坑
1. **沙箱环境 TLS 凭证缺失,导致无法实测后端**
- 教训:遇到环境类故障要快速识别「沙箱限制」而非「服务故障」
## 可复用做法
1. **用「漏斗缺口」而不是「功能清单」定位项目下一步**
- 适用场景:产品能跑、但增长停滞时
安装
dsh plugin add dsh-trajectory-teacher
安装后重启 DSH,插件自动挂载。
用法
在对话里跑完一轮任务后,输入:
/trajectory-teacher
插件会复盘当前会话的完整轨迹,返回一份 markdown 复盘报告。
可选配置
默认复用当前会话正在用的模型来生成复盘。若要指定,在 profile 的 cordis.patch.yml 里覆盖:
- id: trajectory-teacher
config:
provider: deepseek-official
model: deepseek-v4-flash
复盘分析已默认关掉 thinking(
reasoningEffort: 'off')——提取+总结不需要深度推理,更快更便宜、输出更稳定。
How it works
session.events(内存事件流)
↓ extract 过滤噪音(token 级 chunk 等),提取关键事件并摘要化 + 脱敏
↓ analyze 调 LLM,产出结构化 JSON(决策点 / 坑 / 可复用做法)
↓ render 套模板生成 markdown
复盘报告
- 噪音过滤:一次流式回复会产生几百个 token 级 chunk,全部丢弃,只留
tool/call、assistant/message、turn/*、approval/*等关键事件。 - 脱敏:轨迹里可能混入 API key 明文,报告输出前自动打码(
sk-***)。 - 成本控制:手动触发(不自动跑)、只喂关键事件摘要(有长度上限)、关 thinking、用便宜模型。
为什么是「手动命令」而非「自动跑」
复盘要烧 LLM token,所以不自动触发——用 /trajectory-teacher 命令,你想复盘时才跑。
Project structure
trajectory-teacher/
├── index.ts # apply(ctx) 插件入口,注册 /trajectory-teacher 命令
├── cordis.patch.yml # bundle 的 patch 层(dsh plugin add 安装时用)
├── lib/
│ ├── parse.ts # zstd 解压 + 事件流解析(历史轨迹文件)
│ ├── extract.ts # 过滤噪音 + 提取关键事件 + 摘要 + 脱敏
│ ├── analyze.ts # 调 LLM 产出结构化复盘
│ └── render.ts # JSON → markdown
├── scripts/
│ ├── build.mjs # esbuild 打包成 dist/index.js
│ └── link-deps.mjs # 软链 DSH 的 @deepseek-ai 包(开发用)
└── tests/ # node:test 单测
Development
本地调试(从源码挂载到 DSH):
cd <deepseek-harness 源码根目录>
pnpm dsh web --patch <本仓库>/dev/cordis.patch.yml --port 0
运行测试与构建:
npm test # node:test 单测
npm run build # esbuild 打包成 dist/index.js
Tianbuyu-wwx/DSH-FormatForge
Rainier-Z/dsh-workspace-monitor
ZSeven-W/dsh-openpencil