dsh-time-machine
v0.1.0
Published
Safe, local workspace checkpoints and two-phase restore for DeepSeek Harness
Downloads
179
Maintainers
Readme
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 才应调用真正的恢复工具。
工具
| 工具 | 作用 |
| --- | --- |
| time_machine_checkpoint | 创建存档 |
| time_machine_list | 查看存档 |
| time_machine_diff | 只读比较 |
| time_machine_restore_preview | 预览恢复并签发短时一次性令牌 |
| time_machine_restore | 使用令牌执行恢复 |
恢复默认使用 merge:恢复旧文件,但保留存档后新增的文件。exact 会删除这些新增文件,必须在预览时明确选择,并使用与该模式绑定的确认令牌。
存储与边界
- 数据默认存储在工作区的
.dsh-time-machine/。 - 默认忽略
.git、node_modules、.DS_Store、存储目录和符号链接。 - 单文件默认上限 10 MiB,单次存档默认上限 200 MiB。
- 当前版本不是 Git 替代品:没有分支、远端同步或垃圾回收。
- Developer Preview 阶段的 DSH API 可能发生破坏性变化。本插件按官方源码当前的工具注册契约开发,并以 npm 已发布的
@deepseek-ai/[email protected]做独立构建验证。
开发
npm install
npm run checkLicense
MIT
