DSH Time Machine
给 DeepSeek Harness 装上一台工作区时光机:改之前存档,改崩后安全回去。
dsh-time-machine 是一个本地优先的 DeepSeek Harness 插件。它把工作区保存为内容寻址快照,展示当前文件与存档之间的差异,并通过“两阶段确认”恢复文件。
为什么可能爆火
- 一句话能演示:“鲸鱼,重构前存个档。”
- 解决真痛点:Agent 的上下文能撤销,不代表已经写入磁盘的文件能撤销。
- 安全感可视化:恢复前明确展示新增、修改、删除文件数量。
- 本地优先:文件内容不会上传到额外服务。
- 不要求 Git:草稿、未初始化仓库、被忽略文件同样能保护。
安装
npx @deepseek-ai/dsh plugin --profile web add dsh-time-machine
重启 dsh web。本地开发时也可以传入当前目录:
npx @deepseek-ai/dsh plugin --profile web add .
DSH 的插件管理会调用 pnpm,请确保 pnpm --version 能正常运行。
对话示例
重构登录模块前,先给工作区存个档,叫“登录重构前”。
看看当前工作区和“登录重构前”相比变了什么。
预览回到“登录重构前”,先不要真的恢复。
只有在用户看过预览并明确同意后,Agent 才应调用真正的恢复工具。
工具
恢复默认使用 merge:恢复旧文件,但保留存档后新增的文件。exact 会删除这些新增文件,必须在预览时明确选择,并使用与该模式绑定的确认令牌。
存储与边界
- 数据默认存储在工作区的
.dsh-time-machine/。
- 默认忽略
.git、node_modules、.DS_Store、存储目录和符号链接。
- 单文件默认上限 10 MiB,单次存档默认上限 200 MiB。
- 当前版本不是 Git 替代品:没有分支、远端同步或垃圾回收。
- Developer Preview 阶段的 DSH API 可能发生破坏性变化。本插件按官方源码当前的工具注册契约开发,并以 npm 已发布的
@deepseek-ai/dsh-tools@0.0.1-rc.1 做独立构建验证。
开发
npm install
npm run check
License
MIT