悬停消息一键回退文件与对话,原文回填输入框
31/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add L0251314/dsh-rewind该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · chat
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 21 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 桌面端插件:悬停消息一键回退——文件回滚 + 会话折叠 + 输入框回填。快照式实现,不碰 git。
README
由 DeepSeek 最新模型翻译生成dsh-rewind
DeepSeek Harness 桌面端的「代码回滚 + 会话回滚」插件:悬停任意用户消息即可一键回退,把文件改动和模型上下文一起退回到这条消息之前,消息原文自动回填输入框,供你修改重发。快照式实现,完全不碰 git。
效果预览
| 悬停消息 → 回退按钮 | 回退前弹影响清单 | 确认后:折叠 + 回填 + 文件恢复 |
| 悬停出现回退按钮 | 影响清单弹窗 | 回退后效果 |
上图为真实操作截图:AI 用 rm 删除了 rw-demo.txt,悬停该条消息点击回退,弹窗明确提示「将恢复文件(1)」,确认后文件原样恢复、该轮对话折叠、输入框回填原文。
功能特性
- 悬停回退按钮:在每条用户消息的操作行自动注入原生风格的「回退」按钮,点哪里退哪里
- 影响清单确认弹窗:回退前列出将受影响的文件,按三类分组展示——将删除(AI 新建的文件)、将恢复改动(被修改的文件)、将恢复文件(被删除的文件),确认后才执行
- 文件回滚:被修改的文件还原为该轮之前的内容;AI 新建的文件被删除;被 AI 删除的文件原样恢复
- 会话回滚:模型上下文同步折叠,AI 不再「记得」被撤销的对话,对下一次模型请求立即生效
- 输入框回填原文:被回退消息的完整原文自动填入输入框,可直接修改重发
展开完整文档(README 剩余 1 节)
dsh-rewind
DeepSeek Harness 桌面端的「代码回滚 + 会话回滚」插件:悬停任意用户消息即可一键回退,把文件改动和模型上下文一起退回到这条消息之前,消息原文自动回填输入框,供你修改重发。快照式实现,完全不碰 git。
效果预览
| 悬停消息 → 回退按钮 | 回退前弹影响清单 | 确认后:折叠 + 回填 + 文件恢复 |
| 悬停出现回退按钮 | 影响清单弹窗 | 回退后效果 |
上图为真实操作截图:AI 用 rm 删除了 rw-demo.txt,悬停该条消息点击回退,弹窗明确提示「将恢复文件(1)」,确认后文件原样恢复、该轮对话折叠、输入框回填原文。
功能特性
- 悬停回退按钮:在每条用户消息的操作行自动注入原生风格的「回退」按钮,点哪里退哪里
- 影响清单确认弹窗:回退前列出将受影响的文件,按三类分组展示——将删除(AI 新建的文件)、将恢复改动(被修改的文件)、将恢复文件(被删除的文件),确认后才执行
- 文件回滚:被修改的文件还原为该轮之前的内容;AI 新建的文件被删除;被 AI 删除的文件原样恢复
- 会话回滚:模型上下文同步折叠,AI 不再「记得」被撤销的对话,对下一次模型请求立即生效
- 输入框回填原文:被回退消息的完整原文自动填入输入框,可直接修改重发
- bash / pwsh 删除命令的文件也可恢复:rm、Remove-Item 等删除命令执行前会对目标文件快照,被删文件回滚时原样写回
- 不碰 git:快照式实现,不提交、不暂存、不改 .git,非 git 目录也能用
- 对话式回滚:内置 rewind_list / rewind_restore 模型工具,直接对 AI 说「回滚到上一步」即可(code / conversation / both 三种范围可选)
安装
要求:DeepSeek Harness 桌面端(Windows),且 pnpm 可用(插件安装走 pnpm)。
方式一(推荐):从 Git 仓库安装
在 DeepSeek Harness 桌面端的「插件」页选择「从 Git 仓库安装」,填入本仓库地址;或用命令行执行:
dsh plugin add https://github.com/L0251314/dsh-rewind
方式二:从本地路径安装
先把本仓库克隆到本地,然后在插件页选择「从本地路径安装」,指向克隆后的仓库目录:
git clone https://github.com/L0251314/dsh-rewind
加载成功的标志:启动日志出现 [dsh-rewind] 已加载(代码回滚 + 会话回滚)。
工作原理
1. 工具执行前快照文件:write / edit / str_replace_editor 按路径参数快照目标文件;bash / pwsh 解析删除类命令(rm、del、Remove-Item 等)并快照将被删除的文件。每个用户轮次一个检查点,同一轮内同一路径只记录轮前状态,原子写入本地快照库 ~/.dsh/rewind/v1/<工作区哈希>/<会话ID>.json。
2. 回退时按最早快照恢复文件并删除新建文件:取目标轮(含)之后的所有检查点,同一路径取最早一份快照——修改的文件写回轮前内容,被删的文件原样写回,新建的文件删除;恢复操作严格限制在工作区根内。
3. 会话折叠通过向会话日志追加一条空 system 节点的 surface replace 完成:该节点不投影任何消息,模型历史与界面同时清除目标轮及之后的内容,与官方 compaction 同机制,对下一次模型请求立即生效。
flowchart TD
A["AI 调用文件变更工具"] --> B{"工具类型"}
B -->|write / edit / str_replace_editor| C["快照目标文件的轮前内容"]
B -->|bash / pwsh 删除命令| D["解析命令,快照将被删除的文件"]
C --> E[("快照库 ~/.dsh/rewind/v1每轮一个检查点")]
D --> E
E --> F["用户悬停消息,点击回退"]
F --> G["确认弹窗:影响清单将删除 / 将恢复改动 / 将恢复文件"]
G -->|确认| H["文件回滚:按最早快照写回新建文件删除,被删文件恢复"]
G -->|确认| I["会话折叠:追加空 system 节点下一次模型请求立即生效"]
H --> J["输入框回填该消息原文"]
I --> J
注意事项与限制
- 快照式回滚不执行任何 git 操作(不提交、不暂存、不改 .git),也不会回退你的 git 提交。
- 会话回滚在下一次请求生效:当前轮进行中发起的回滚,会在该回合结束后(发送下一条消息时)自动完成;文件回滚则立即生效。
- 误回退无法一键撤销:被删除的「新建文件」不会进回收站。重要改动请先自行提交 git 或手动备份。
- 目前仅支持 Windows + DeepSeek Harness 桌面端。
- 插件升级需卸载后重装(桌面端限制)。
- 工具追踪覆盖 write / edit / str_replace_editor / bash / pwsh,未列出的写入类工具不会生成快照(可在插件配置 trackedTools 中追加)。
- bash/pwsh 删除追踪基于命令解析,通配符批量删除、脚本间接删除可能漏追踪。
- 单文件快照上限 5MB,超限记为 skip,恢复时跳过该文件。
常见问题
Q:回退后想撤销怎么办? A:没有自动撤销。被还原的文件需要手动改回,被删除的文件可以尝试从系统回收站或你自己的备份找回。建议重要改动先提交 git 再让 AI 继续。
Q:它会回退我的 git 提交吗? A:不会。插件完全不读写 git,只按自己的快照恢复文件。
Q:支持哪些模型? A:模型无关。回滚逻辑只依赖宿主的会话与工具事件,GLM、DeepSeek 等模型均可使用。
开发
npm install
npm test # 运行单元测试(node --test "test/*.test.mjs",23 个用例)
目录结构:
| 路径 | 说明 |
| lib/index.js | 插件入口:事件订阅、工具注册、REST 路由与 UI 注入 |
| lib/capture.js | 会话跟踪与文件快照捕获 |
| lib/service.js | 服务编排:检查点查询、回滚执行、延迟会话折叠 |
| lib/restore.js | 恢复引擎:文件回写、会话折叠、diff 计算 |
| lib/store.js | 快照存储:原子落盘、保留期/总量清理 |
| lib/tools.js | 模型工具定义(rewind_list / rewind_restore) |
| lib/webui.js | REST 路由 + 消息级回退按钮 / 悬浮面板注入 |
| lib/util.js | 路径解析、原子写、哈希等工具函数 |
| client.js | 桌面端客户端插件占位(UI 由服务端注入) |
| cordis.patch.yml | bundle 挂载声明 |
| test/ | 单元测试 |
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
L0251314/dsh-rewind
悬停消息一键回退文件与对话,原文回填输入框
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,489已汉化DSH
73.1
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,918已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,453已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
Download DS Bot for Windows 10/11 64-bit / 下载 Windows…
★ 5,293已汉化DSH
71.2
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,797已汉化DSH
71.1
这是你的仓库?认领条目