回放会话轨迹,断点改参重跑并对比分叉
27.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add devmom/dsh-trajectory-debug该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 81 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 7 处,展示前 7 条)
- 写入本地文件packages/trajectory-debug-host/src/sidecar.ts:112
mkdirSync(root, { recursive: true }) - 读取本地文件packages/trajectory-debug-host/src/sidecar.ts:152
if (existsSync(file)) rmSync(file) - 删除本地文件packages/trajectory-debug-host/src/sidecar.ts:152
if (existsSync(file)) rmSync(file) - 读取本地文件packages/trajectory-debug-host/src/sidecar.ts:159
data = existsSync(file) - 读取本地文件packages/trajectory-debug-host/src/sidecar.ts:160
? (JSON.parse(readFileSync(file, 'utf8')) as SessionSidecarData) - 写入本地文件packages/trajectory-debug-host/src/sidecar.ts:172
writeFileSync(tmp, JSON.stringify(data)) - 写入本地文件packages/trajectory-debug-host/src/sidecar.ts:173
renameSync(tmp, file)
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 回放会话轨迹
- 断点改参重跑
- 对比分叉
README
由 DeepSeek 最新模型翻译生成DSH 插件:Trajectory Debug Workbench(trajectory-debug)
目标宿主:DeepSeek Harness(@deepseek-ai/dsh v0.1.0-rc.x,开发者预览)设计文档见仓库外 Doc/(产品/架构/技术/使用指南)。
把 DSH 的事件溯源会话变成可调试的资产:瀑布流轨迹、单步回放(零 Token)、断点暂停/继续、改参重跑(沙箱内)、分叉对比、性能分析,外加 OTel GenAI trace 导出与 trajectory_ 模型工具。
工作区结构
packages/
├── trajectory-debug/ # Service Definition + wire 类型(纯类型包,无插件入口) ├── trajectory-debug-host/ # Host Provider:回放/性能/对比引擎、断点、投影、命令、RPC 传输 │ ├── src/adapt.ts # DSH SessionEvent → DebugEvent(唯一接触 DSH 词汇的边界) │ ├── src/replay-engine.ts # 确定性回放(纯函数,零模型/工具调用) │ ├── src/perf-analyzer.ts # 性能折叠(口径对齐 dsh-session-stats) │ ├── src/diff-engin
展开完整文档(README 剩余 1 节)
DSH 插件:Trajectory Debug Workbench(trajectory-debug)
目标宿主:DeepSeek Harness(@deepseek-ai/dsh v0.1.0-rc.x,开发者预览)设计文档见仓库外 Doc/(产品/架构/技术/使用指南)。
把 DSH 的事件溯源会话变成可调试的资产:瀑布流轨迹、单步回放(零 Token)、断点暂停/继续、改参重跑(沙箱内)、分叉对比、性能分析,外加 OTel GenAI trace 导出与 trajectory_ 模型工具。
工作区结构
packages/
├── trajectory-debug/ # Service Definition + wire 类型(纯类型包,无插件入口) ├── trajectory-debug-host/ # Host Provider:回放/性能/对比引擎、断点、投影、命令、RPC 传输 │ ├── src/adapt.ts # DSH SessionEvent → DebugEvent(唯一接触 DSH 词汇的边界) │ ├── src/replay-engine.ts # 确定性回放(纯函数,零模型/工具调用) │ ├── src/perf-analyzer.ts # 性能折叠(口径对齐 dsh-session-stats) │ ├── src/diff-engine.ts # 分叉对比 + JSON diff │ ├── src/breakpoint-manager.ts # agent/pre-step waterfall 断点拦截 │ ├── src/projections.ts # trajectory/perf 投影单元 │ ├── src/commands.ts # /trajectory /perf │ ├── src/sidecar.ts # 侧车(memory/file 原子 JSON) │ ├── src/transport.ts # webserver 自定义路由 RPC(浏览器通道) │ └── src/index.ts # apply():装配 + 卸载撤销 ├── trajectory-debug-remotes/ # 双面 typert 骨架(浏览器 RPC 实际走 host transport) ├── client-ui-trajectory-debug/ # 浏览器 "Debug" Tab:瀑布流/性能 + 回放/断点/改参/对比面板 └── trajectory-debug-bundle/ # 组合包:dsh.bundle + cordis.patch.yml
命令
corepack pnpm install # 需要 corepack;Node ≥ 22.19 corepack pnpm -r build # 产出 lib/(lib-first 清单) corepack pnpm -r typecheck # 全部包类型检查 corepack pnpm test # vitest 单元测试(56 个用例) corepack pnpm check # build + typecheck + test 组合门禁 corepack pnpm check:publish # 发布前清单校验
node scripts/smoke.mjs # 真实 dsh 进程加载冒烟(自动重建 td-smoke profile)
状态
| 能力 | 说明 |
| 瀑布流数据(引擎) | buildTrajectoryPage:turn/step/tool 行、状态、耗时、Token、错误码、过滤、分页 |
| 单步回放(引擎) | stepContextAt:模型视角 + 行动视角;ReplayCursor 步进/seek |
| 性能分析(引擎) | analyzePerf:成功率/分位数、失败归类、Token 分布、TTFT/解码、轮次统计(可配价格表估算成本) |
| 分叉对比(引擎) | compareTrajectories:步对齐、工具变更、结果 diff、差异摘要 |
| 断点暂停/继续 | BreakpointManager:agent/pre-step waterfall 短路 + 超时自动放行 |
| 改参重跑 | rerunTool 走 ctx.tools.execute 完整管线;record\|sandbox\|ask 三档(ask 无 live agent fail-closed) |
| 分叉真实重跑 | sessions.fork + agents.resume + followup;级联 cascade: truncate\|preserve |
| 投影单元 | trajectoryDebug/trajectory + perf(session-projection 注册表,浏览器零代码消费) |
| 命令 | /trajectory [stepIndex]、/perf |
| 模型工具 | trajectory_search / trajectory_step / trajectory_perf(enableModelTools 开启) |
| trace 导出 | export('trace'):OTel GenAI 语义 spans(Langfuse/LangSmith 就绪) |
| 侧车持久化 | FileSidecar 原子 JSON 写入(sidecar: 'memory'\|'file') |
| 浏览器 UI | "Debug" 会话视图 Tab:瀑布流 + 性能仪表盘(投影推送实时渲染)+ 回放/断点/改参/对比控制台(webserver RPC) |
| 浏览器 RPC 通道 | host 注册 POST /api/trajectory-debug/rpc(webserver 自定义路由,typert 无关),客户端 fetch 调用 |
| 真实加载 | scripts/smoke.mjs:装入独立 profile 并在真实 dsh 进程内加载成功 |
浏览器 RPC 传输(typert 无关通道)
DSH 的 typert Remote 链依赖构建期生成器;本插件改用 webserver 自定义路由(官方"web-transport 插件注册自己的路由"扩展点):
- 端点:POST /api/trajectory-debug/rpc,请求 { method, params },响应 { ok, value | error };
- 方法:trajectory.list / step.context / perf / replay.start|step|seek / breakpoint.set|remove|list|resume / intervention.rerunTool / variant.fork|list|compare / export;
- 安全:服务器默认只绑定 loopback,路由不额外放行信任。
客户端 bundle 构建
pnpm -r build && node scripts/bundle-client.mjs 产出浏览器 bundle:
- 入口 src/client/index.ts → esbuild(CJS)→ 包装为 window.__ModuleLoader__.load({ id, factory })(DSH 官方客户端格式);
- 运行时仅外部依赖 react(shell 种子词);全部 dsh 引用均为 type-only(已擦除);
- 产物 packages/client-ui-trajectory-debug/lib/client.js,经 exports["./client"] 提供给 modules 扫描器;
- 装入 profile 后需同步到 profile 的包目录(pnpm file: 依赖是拷贝): robocopy packages\client-ui-trajectory-debug\lib \node_modules\dsh-client-ui-trajectory-debug\lib /MIR
安装到 DSH(profile)
已发布到 npm,直接安装(无需构建):
dsh plugin --profile web add dsh-trajectory-debug-bundle
dsh web --dump-config # 应看到 trajectory-debug-host / -remotes / ui-trajectory-debug 三行
源码树安装(开发者):
corepack pnpm check # 门禁
node scripts\smoke.mjs # 真实加载冒烟
dsh plugin --profile web add ./packages/trajectory-debug-bundle
安装后重启 dsh web:会话顶部视图 Tab 出现 Debug;输入框可用 /trajectory、/perf。
发布状态
npm
5 个包已全部发布到 npm(v0.1.0):dsh-trajectory-debug、dsh-trajectory-debug-host、dsh-trajectory-debug-remotes、dsh-client-ui-trajectory-debug、dsh-trajectory-debug-bundle。
发布流程:
corepack pnpm check # 门禁 corepack pnpm check:publish # 清单校验(无 file: 依赖、版本合法、bundle 携带 patch+index.js) corepack pnpm publish:all # pnpm -r publish:workspace: 自动转版本号;prepublishOnly 先构建
- 内部依赖 workspace:*(pnpm 发布自动改写为版本区间);禁止提交 file: 依赖;
- 仓库 Topics 添加 dsh-plugin(deepseekdocs.com/ecosystem 自动收录);精选收录见 docs/awesome-submission.md。
生态对比
见 COMPARISON.md:与 dsh-message-edit / dsh-plugin-cost / dsh-deeplink / dsh-eval 的定位差异与已落地改进。
运行时踩坑(rc.6 实测)
1. Service 构造器即注册:super(ctx, 'trajectoryDebug') 已完成 ctx.provide,apply() 再 provide 会抛 has been registered;
2. ctx.logger 是可调用对象:ctx.logger(name).info(msg),且必须 try/catch 包裹;
3. pnpm file: 依赖是拷贝:改码后需 pnpm -r build + 在 profile 目录重装才会生效;
4. pnpm 11 供应链策略:minimumReleaseAge 拦截新发布包,冒烟 profile 用 minimumReleaseAge: 0 规避。
设计要点
- 事件模型自持:引擎折叠自有 DebugEvent 最小模型,adapt.ts 是唯一接触 DSH SessionEvent 的边界 → 对 DSH 预览期破坏性变更免疫;
- 投影状态为纯 JSON,满足 projection-cache 持久化契约;
- "模型可见即已记录"不变式:分支真实执行只走既有 agent 通道,源会话日志永不被改写;
- 回放零消耗:引擎不依赖 LLM/工具;
- 客户端 bundle 自建:不依赖 DSH 的 tsdown 链。
兼容性
- 依赖面:@deepseek-ai/cordis + dsh-session / dsh-agent / dsh-commands / dsh-session-projection(^0.1.0-rc.6,随 rc 更新);
- 插件卸载 = 全部注册(effect)撤销,源会话零影响。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
devmom/dsh-trajectory-debug
回放会话轨迹,断点改参重跑并对比分叉
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,288已汉化MCP
71.7
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9
原生编程智能体paean-ai/deeptide
由 DeepSeek 打造,为 DeepSeek 而生。
★ 1,107已汉化DSH
67.7
多引擎接力台emo-xiaoyu/harness-mix
macOS/Linux 已加入源码构建与启动适配;目标系统的完整桌面验收仍需在对应机器执行。安装方式、Linux…
★ 419已汉化DSH
66.8
这是你的仓库?认领条目