dsh-snapshot
其他 活跃维护

dsh-snapshot

Hyna-hla/dsh-snapshot

自动将文件写入、编辑操作的历史版本备份至.dsh-snapshots目录,单文件最多保留20版、单版上限2MB,超限自动覆写不删旧档,配套提供快照查询、历史回滚类工具,无需手动管理文件版本。

1
Stars 标星
0
Forks 分支
1
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
9 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:Hyna-hla/dsh-snapshot
git clone https://github.com/Hyna-hla/dsh-snapshot.git
git clone git@github.com:Hyna-hla/dsh-snapshot.git
README.md main

dsh-snapshot

DeepSeek Harness 宿主插件:文件快照与撤销。

  • 每次 write/edit 工具调用后自动备份文件历史到 <工作区>\.dsh-snapshots\snap-<b64>.json(每文件最多 20 版,单版 ≤ 2MB,超限靠覆写不删除);
  • 提供四个工具:
    • snapshot_list — 列出快照仓库:每个被追踪文件的版本数与最新版本时间;
    • snapshot_restore — 把文件恢复到指定历史版本(恢复前自动再备份一次);
    • snapshot_purge — 清空所有历史版本;
    • export_session — 把当前会话导出为 Markdown / JSON。

安装

  1. 构建产物拷入 profile 的 node_modules\dsh-snapshot(或经 file: 依赖);
  2. cordis.patch.yml 注册:
- insert:
    - id: dsh-snapshot
      name: dsh-snapshot
      config:
        maxVersions: 20
        maxContentBytes: 2097152
  1. 重启 DeepSeek Harness(组合在进程启动时加载)。

说明

  • 沙盒策略:宿主根上下文拿不到会话工作区,写入工作区时需透传 sandboxPolicy(sandboxPolicy.resolve({session}))。
  • 仓库按「每文件一个 JSON(btoa 路径作文件名)」组织,靠覆写而非删除(fs 服务无 mkdir/unlink)。