dshbase

插件目录 / Developer / dsh-file-undo

dsh-file-undo

已验证 · 实测可装 QinLuza

✓ 持续维护 基于 2 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
JavaScript语言
2026-08-16最近推送
跨平台平台

功能简介

通过/undo命令撤销DSH中文件写入/编辑操作,支持快照历史。

我们的评价
可用 — 实测通过,早期项目

通过/undo命令撤销DSH中文件写入/编辑操作,支持快照历史。 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-file-undo

DSH 插件:撤销 agent 对文件的 **write / edit** 操作,通过 /undo 恢复到操作前状态。

命令

| 命令 | 作用 | |---|---| | /undo | 撤销最近一次文件写入/编辑 | | /undo list | 查看所有已记录的操作历史(索引 + 时间 + 工具 + 文件路径) | | /undo <n> | 撤销指定索引的操作 | | /undo prune [days] | 清理 N 天前的快照(默认 7 天),只缩短可回退深度,不动任何当前文件 |

原理

每次 write / edit 执行前,插件自动保存文件操作前的内容到本地快照;/undo 时用快照内容覆盖回文件。

安装

方式一:本地构建(link)

1. 构建插件: ``sh pnpm install pnpm build ` 2. 在 profile 的 package.json 里加依赖: `json "dependencies": { "dsh-file-undo": "link:<本目录绝对路径>" } ` 3. 在 profile 的 cordis.patch.yml 里挂载: `yaml - insert: - id: file-undo name: 'dsh-file-undo' ` 4. 安装依赖并重启: `sh cd ~/.dsh/profiles/web pnpm install dsh web `

方式二:发布到 npm 后

`sh dsh plugin --profile web add dsh-file-undo `

快照存储

- 位置:
~/.dsh/file-undo/snapshots.jsonl - 插件每次加载自动按 7 天惰性清理一次 - 手动清理:/undo prune [days](默认 7 天) - time 字段缺失的快照条目会保守保留,不会被清理

限制

- 只覆盖
write / edit 两个工具;shell 里直接改文件(如 Set-Content、重定向)不覆盖 - 删除回退不支持(官方 fs 无 delete 方法) - 快照全局共享,不按会话隔离

开发

`sh pnpm typecheck # 类型检查 pnpm build # 构建 node verify-prune.mjs # 隔离验证清理逻辑(临时 HOME,不碰真实快照) ``

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-file-undo」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:QinLuza/dsh-file-undo

Headless(CLI)profile:

dsh plugin --profile headless add github:QinLuza/dsh-file-undo

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

使用场景

扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。

适合谁

想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。

二次开发建议

工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7795 个插件 →