dyhyfjn/dsh-rollback-withdraw ↗★ 0
dsh-rollback-withdraw
Trae-style withdraw for DeepSeek Harness Web: a rollback button on every user/assistant message that restores the workspace code (git commits or hard-link file snapshots) and forks the session back to the last completed turn. 会话撤回插件:每条消息一键回滚代码与对话。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:dyhyfjn/dsh-rollback-withdraw说明文档
阅读完整 README ↗dsh-rollback-withdraw
面向 DeepSeek Harness Web 的 Trae 式会话撤回插件。 在每条用户提问与助手回答旁提供一键撤回按钮:把工作区代码与会话本身(记忆、轨迹、目标)整体回滚到该消息之前的最后一个完整回合。
它能做什么
DSH Web 会话中每个已完成的回合都会自动成为一个回滚点。点击任意消息旁的撤销图标,工作区文件即恢复到该消息之前最后一个完整回合的状态,同时会话在该处分叉并自动打开回滚后的对话——仿佛那段交流从未发生过。
- 工作区代码:通过最佳可用后端恢复(见下)。
- 会话:在边界处 fork 出子会话并打开;模型记忆、轨迹、目标与子代理血缘都与那一刻完全一致。
- 原生 git 集成:工作区是 git 仓库时,回滚点就是真实提交,撤回 =
git reset --hard+ 安全的git clean。
功能特性
- 每条消息都可撤回——用户气泡下方、每个已完成回合的最后一条助手消息旁。
- 双恢复后端,自动选择:
- git 模式(默认开启,一键切换):每回合结束提交
rollback checkpoint;撤回用git reset --hard+ 保留依赖/构建目录的git clean。空间高效、与常规 git 工作流一致。 - 文件快照模式:否则在每回合结束生成硬链接快照——未变更文件跨快照共享同一副本,保留几百轮历史几乎零成本。
- git 模式(默认开启,一键切换):每回合结束提交
- 按工作区开关——会话头部 git 分支图标一键切换 git 自动提交;选择持久化在
.dsh-rollback/config.json。 - 随客户端启动自动加载——以 web profile bundle(
dsh.bundle+dsh.client)形式打包,重启无需重新激活。 - 两步确认——第一次点击进入"确认"状态(按钮变红),再次点击才执行,杜绝误撤回。
环境要求
| 项目 | 说明 |
|---|---|
| 操作系统 | Windows(依赖 robocopy 与 PowerShell 5.1+);其他平台规划中 |
| Git | 可选——仅 git 模式需要 |
| DSH | web profile(dsh web) |