p2coder/dsh-trace-repeat

p2coder★ 0JavaScript最后同步: 2026-08-15

在 GitHub 打开

会话任务 Trace 原子记录/回放:把每次推理完成与工具执行记为不可变版本(含可复现元数据),支持版本时间线回放与从任意版本经 git worktree 恢复执行。

README 摘要

dsh-trace-repeat 任务 Trace 记录/回放插件(DSH Web): 原子、版本化 地记录任意会话的执行 trace——每次 推理完成 (assistant 消息收齐所有 chunk 后的最终消息)或 tool 执行完成 就是一个 不可变版本 ,含完整可复现元数据(provider/model/reasoningEffort/maxTokens/token 用量/输入输出);支持 回放 (版本时间线 + 详情)与 从历史版本恢复执行 ;与 task-control 暂停/恢复 衔接;多版本经 git commit + worktree 物化。 功能 环节 行为 记录 宿主订阅 session/event (post-commit 馈送,按序): assistant/message → reasoning 版本; tool/call + tool/result → tool 版本(含工具名/参数/结果);普通用户输入 → user 版本;不记 chunk 增量,只记收齐后的最终消息 原子性 每版本一个不可变 JSON(tmp 写 + rename 原子落盘), trace.json 索引同样原子更新;按源事件 seq 幂等去重 可复现元数据 provider/model/reasoningEffort/maxTokens/usage/完整 content(推理);工具名/callId/参数/结果/isError(工具);会话头记 workspace/cwd/preset/agentOptions git 版本化 默认开启:trace 根( .dsh-trace/ )即专用 git 仓库(自动 init,不污染工作区),每版本一个 commit;worktree 物化在 .dsh-trace-worktrees/ -v (git 不允许 worktree 建在仓库内) 暂停/恢复 通过 taskControl 服务(task-control 自管的持久化状态,Route A:不再写 task-control/ 会话事件)在 每个会话事件上对账 :安全暂停(延迟语义)下 tool 运行期间 trace 持续记录、 tool/result 落地后(安全界限)才暂停; 强制暂停 的 paused 版本记录 forced 与 interruptedTool 详情;恢复时记 resumed 标记版本并续记;与 task-control 通过服务解耦 回放 /trace 命令族:会话选择 → 版本时间线(类型/时间/git commit)→ 详情(完整输入输出 + 元数据)→ 从该版本恢复(自动物化 worktree) 恢复执行 /trace resume :以 vN 前 trace 重建 平衡上下文 (自动截断到最近一个无悬挂 tool 调用的「推理完成…

在 GitHub 查看完整 README →
工具/开发dsh-pluginagent

分类