dsh-agent-rewind
代理驱动会话倒带 DeepSeek利用 (DSH):命名一个恢复点,然后让 模型 将会话叉回它。
为什么存在这个
DSH有原始的- ctx.sessions.fork(source, boundary) ——但 没有模型可见的调用方式. 今天的每个调用者都是主机或客户端代码:
- 主机服务
ctx.sessions.fork - 主机远程
session.fork({ sessionId, atSeq? }) - Web GUI分支按钮
所以agent可以 问你 分支一个会话,但它自己不能分支一个,也没有持久的索引说“这是我想回到的边界”。这个包提供的正是这些,而不是其他任何东西。
安装
dsh plugin --profile <profile> add dsh-agent-rewind
然后重新启动DSH,或者安装 dsh-session-policy 这取决于这个包。
工具
| 工具 | 参数 | 行为 |
|---|---|---|
agent_checkpoint | label!, note?, sessionId? | 记录一个命名的恢复点:目标会话最后完成的回合边界(turn/end Seq(包括)被追加到 <cwd>/.dsh/memory/checkpoints.md. 当文件持有的当前格式检查点超过配置的限制(默认200个)时,最老的检查点将被自动修剪。 |
agent_rewind | sessionId!, label! | 查找该标签的最新检查点,验证它属于会话,然后在该边界派生子会话并返回其id。 |
agent_checkpoint_list | - - - - - - | 列出每个可解析的当前格式检查点(label / session / seq / note)。 |
无刀具表面:在根会话上,每个闭合的转弯附加一个 auto-turn 追加一行和一个失败的转弯 auto-error. 这是恢复遥测-写入失败只警告,而不会失败关闭。
检查点只有意义 在 turn, so call agent_checkpoint 在转弯开始后的工作你要能够返回。
设计说明
- 命名检查点与
@deepseek-ai/dsh-session-checkpoint-policy。 该包在模型请求或副作用(崩溃持久性)之前将事件日志刷新到持久存储中。这个记录了人类/代理选择 命名 你可以故意倒回去的界限。 - 冷路径使用DSH自己的
buildForkSeed。 当边界落在开放弯内时,分叉种子必须用合成事件(session/end-seed+step/end+turn/end); 对原始前缀进行切片会产生一个结构上未关闭的会话。buildForkSeed第一方的方式是正确的吗,它是从哪里导入的@deepseek-ai/dsh-session/fork-与第一方相同的指定符dsh-api-session-controller用途。 - 和第三方不一样
dsh-rewind包中。 这个是人类类型的/rewind斜杠命令恢复 工作区文件 从git快照。这个是 model-invoked 工具,用于恢复 会话分支 通过DSH的本地分叉。不同的机制,不同的呼叫者,不同的东西被修复,它们相互补充。 - 检查点行格式是一种兼容性契约:
- [ISO] label | session=<sid> | seq=<n> [| note]。剪枝只会删除解析为当前格式检查点的行;注释、空白行、遗留行和散文都保留在原处。
上游退役状态
如果DSH提供了一个模型可见的工具 sessions.fork在美国,这一方案应该被彻底删除,而不是加以调整。它的存在只是为了打开一扇故意关闭的门。
许可证
麻省理工学院