dsh-plugin-session-rollback:会话与工作区代码同步回退

在使用 DeepSeek Harness(DSH)开发或调试智能体时,经常遇到需要撤销上一步操作的场景:例如代码改错了,或者对话逻辑走偏了。手动删减消息并还原代码不仅繁琐,还容易遗漏。下面介绍一款能够解决这一痛点的插件。

这是什么

dsh-plugin-session-rollback 是由 antlordGit 维护的插件,为 DSH 提供会话与工作区代码同步回退能力。它的核心价值在于将对话记录的删除与代码状态的还原绑定在一起,确保两者保持一致。

核心功能

  • 自动为每条真人提问创建工作区代码检查点。
  • 在用户消息的复制按钮旁提供「撤销」操作。
  • 同步回退当前页面的聊天记录和工作区代码。
  • 移除目标问题及之后的全部问题和回答。
  • 回退前自动备份当前工作区。
  • 支持使用 /rollback-undo 撤销最近一次代码回退。
  • 快照采用 SHA-256 内容寻址存储。
  • 自动适配 DSH 的明暗主题。

安装与启用

安装方式如下:

dsh plugin --profile web add github:antlordGit/dsh-plugin-session-rollback

安装完成后需要重启 DSH Web:

dsh web

典型用法

插件安装并重启后,正常与助手对话。在聊天界面中,点击某条用户消息下方、复制按钮旁边的「撤销」按钮,确认回退范围。页面会移除该问题及之后的所有问题和回答,同时将工作区代码恢复到该问题提交前的状态。

回退前的代码会自动备份。如果需要撤销最近一次代码回退,在输入框执行以下命令:

/rollback-undo

适用场景与注意

  • 适用场景:适合需要在对话中反复调试代码、验证逻辑,且需要随时回退到特定提问节点的开发者。
  • 注意事项:
    • 插件安装或启用之前产生的消息通常没有代码检查点,无法安全回退代码。
    • 仅 source.kind === 'user' 的真人消息会创建检查点;插件、模型或工具生成的消息不会创建。
    • 正在运行的会话不能回退,请先停止或等待当前回答结束。
    • 被排除的目录、超限文件(16MB)、符号链接和特殊文件不会随代码一起回退。
    • /rollback-undo 恢复的是最近一次自动备份,作用于代码,不会重新显示已从当前 Surface 隐藏的聊天记录。

短结尾

该插件通过自动快照和内容寻址存储,实现了对话与代码的原子级回退。详细文档与源码可查看 GitHub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜