dsh-rewind
Conversation rewind / restore / branch-continue for DeepSeek Harness — OpenChamber-style timeline with project-file rollback
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Da-Mie/dsh-rewind说明文档
阅读完整 README ↗dsh-rewind
DeepSeek Harness(DSH)插件:在 Web 会话中实时回退对话、回退后可恢复; 若在回退点发送新提示词,则项目(工作区文件)回退到该阶段并从新提示词继续。
交互设计与呈现方式参考自 OpenChamber: 时间线对话框、回退清单停靠条、"提示词回填输入栏后直接修改"的交互模型。 底层机制使用 DSH 原生能力(fork / archive / append-only 会话日志)+ 插件自建项目快照。
功能
- 时间线对话框(Alt+T):搜索用户消息、点击滚动定位;行内 ↩ 回退到此 / ⑂ 从此分支;上一个回合 / 最新 / 加载更早;
- 消息行 ↩ 图标(复制键左侧,OpenChamber 式):用户消息行回退到本条;回合尾部(assistant 回复)行回退到该回复之后;
- 回退不替换输入栏:被回退的提示词文本填入原输入栏(可直接修改);输入栏上方出现 "已回退 N 条消息"停靠条(todos 同款视觉),可逐条 [恢复到此] 或 [恢复全部];
- 直接发送即自动提交:回退态下在输入栏回车发送 → 清除隐藏消息 + 项目文件回滚 + 在 fork 出的新会话重发;
- ⑂ 从此分支:立即 fork 前缀会话 + 归档旧会话(侧边栏移除)+ 项目回滚,切到新会话并预填消息文本;
- 项目文件只在发送新提示词(提交)时回滚;回退 / 恢复本身不动文件。
示意图


安装
方式一:交给 DSH 自动安装(推荐)
把本仓库链接发给 DSH(例如:请安装这个插件:https://github.com/Da-Mie/dsh-rewind)。 DSH 会读取 docs/AI-INSTALL.md(给 AI 的安装指引)并自动完成: 克隆仓库 → 建立 junction 链接 → 注册到 Web profile → 重启生效。
方式二:手动安装
- 克隆本仓库到稳定目录,例如
E:\AI_apps\DSH\DSH_WorkFile\plugins\dsh-rewind; - 在
$env:USERPROFILE\.dsh\profiles\node_modules下建 junction 指向包目录; 在profiles\web\package.json的dependencies加"dsh-rewind": "link:", 并在dsh.profile.bundles追加"dsh-rewind"; - 重启 DSH 桌面应用后端,浏览器刷新加载
lib/client.js(插件集变更需要重启)。
配置(cordis.yml 行 config,作为 apply 的第二个参数传入)
| 字段 | 默认 | 说明 |
|---|---|---|
enabled | true | 总开关 |
excludes | 内置列表 | 快照排除的目录名(node_modules/.git/dist 等),用数组覆盖 |
已知边界
- 提交时重发仅携带文本(图片附件会丢失);
- 回退点限已完成的 turn 边界;提交前会先取消运行中的 turn;
- 旧分支"删除" = 归档(侧边栏隐藏,磁盘数据保留可恢复)。
许可证
交互设计参考 OpenChamber(MIT)。