dsh-file-undo
在终端中运行以下命令:
dsh plugin install QinLuza/dsh-file-undo
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install QinLuza/dsh-file-undo 安装本插件,源码仓库为 https://github.com/QinLuza/dsh-file-undo。
插件介绍
让 Agent 改文件时,你往往要等对话结束才发现某次 write 或 edit 并不对路;而普通聊天里的「撤销」又很难对准磁盘上的真实内容。dsh-file-undo 在每次 write/edit 真正落盘前自动记下全文快照,把改动放进可审查的时间线,让你在侧栏里用红绿 diff 看清「撤销会恢复什么、会删掉什么」,再决定要不要动文件。
核心能力围绕「看得见、撤得稳」:历史列表带工具类型、文件名、行数变化与模型轮次;打开条目会自动预检能否安全撤销(例如文件已被你手工改过、或其后还有同文件的编辑),并采用两阶段确认避免误点。支持撤销最近一次操作、按索引撤销,以及「回退到此状态」的原子写回;重做与撤销可双向循环,引擎在 host 侧做事务与乐观并发校验,UI 只展示裁决结果。
同一项目树下可切换或自动跟随不同会话,面板请求与会话工作区绑定,避免把 A 会话的历史套到 B 会话上。聊天里仍可用 /undo 系列命令;在无 Web 界面的 headless 场景下命令可用,面板与会话跟随会按环境降级。
适合日常用 DSH 让 Agent 改代码或文档、又希望保留「像 IDE 本地历史那样」可回滚能力的人;也适合需要在多会话并行时分别审查与撤销文件改动的团队或个人。需注意:仅覆盖 write/edit 工具,终端里直接改文件不会进入时间线。
使用场景
- Agent 误改配置文件后需要快速回滚到落盘前状态
- 想在侧栏逐条对比红绿 diff 再决定是否撤销
- 同一项目下多个会话并行,要分别查看与撤销各会话的文件改动
适合人员
- 经常用 DSH Agent 改代码或文档的开发者
- 需要可审查、可确认的文件回滚流程的用户
- 在同一仓库多会话协作、担心改错文件的人