在 DeepSeek Harness (DSH) 中开发智能体时,模型生成的代码或文件内容常需要回滚。手动删除消息和还原文件效率低下,且容易导致状态不一致。dsh-rollback 插件提供了对话历史与文件状态同步回退的能力。
dsh-rollback 是一个为 DSH Web 端提供的 TRAE 风格回退插件,由 domitor-syh 维护。它实现了对话状态与文件状态的对齐回滚,通过检查点机制,将模型上下文和工作区文件同时恢复到指定轮次发起前的状态。
核心功能¶
- 按轮次检查点:每轮发起前建立检查点。
- 10 轮滑动窗口:仅保留最近 10 轮的检查点。
- 文件回退:恢复被修改文件的原内容,找回被删除文件,删除新建文件。
- 原位截断:保持 session id 不变,就地截断对话历史。
- Web 端回退按钮:提供可视化操作入口。
- 人工命令触发:支持命令行操作。
- 受影响文件列表:回退前预览文件变更。
安装与启用¶
使用官方命令安装:
dsh plugin --profile web add @domitor-syh/dsh-rollback
安装后重启 dsh web。
典型用法¶
- Web 端:点击每轮回复下方的“回退”按钮。
- 命令行:
/rollback list:列出可回退的轮次。/rollback preview <n>:预览回退效果。/rollback <n>:执行回退。
适用场景与注意¶
适合需要频繁重置会话状态的智能体开发场景。
- 版本要求:需 DSH >= 0.1.1-rc.2(0.1.5-rc.2 已实测)。
- 兼容性警告:不兼容将 0.1.0-0.2.2 安装到 0.1.5 上。
- 运行限制:运行中的轮次禁止回退。
- 错误处理:插件出错会大声报错(控制台打印),而不是静默失败。
- 文件系统:有盘根写入兜底和空目录清理的特殊处理。
该插件通过提供统一的状态管理简化了回滚流程。源码与许可证请参考 GitHub。