DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

GeoSyntax /

GeoSyntax/dsh-plugin-time-machine

Verified

Community DSH plugin for coordinated session/workspace checkpoints, safe rewind, DAG forks, and failure reflection.

★ 0 Stars0 Forks5 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@47bbf604

DSH Time Machine(时光机)

让工作区、会话记忆和失败分支一起回滚,并且可以从任意检查点继续探索。

Time Machine 是面向 DeepSeek Harness 的非官方社区插件。它补上 DSH 原生 append-only 会话日志缺少的工作区物理回滚能力,并把“文件状态”和“Agent 认知状态”放进同一个可解释的检查点。

English README · 官方 DSH 社区介绍 · 插件目录提交

真实效果

下面的效果来自本地运行的 Web 仪表盘:一次失败的 Redis 分支、一处自动救援点,以及继续成功的 JWT 分支会同时保留在时间线中。回滚后新增的配置文件和临时目录会被清理,失败信息仍可用于下一次 Agent 推理。

DSH Time Machine 本地实机仪表盘

这张图来自本地真实运行的 Web 仪表盘,而不是示意图:左侧同时保留成功基线、失败 Redis 分支、自动救援检查点和成功的 experiment/jwt 分支;右侧展示当前检查点的 Git 元数据、Agent 写入审计和可恢复文件。你可以直接复制下面的命令启动同一个界面。

DSH Time Machine DAG 结构示意

本地实机页面包含四个关键区域:分支状态、DAG 时间线、检查点详情和文件变更/恢复操作。启动后访问 http://127.0.0.1:3088 即可查看。

安装

dsh plugin --profile web add github:GeoSyntax/dsh-plugin-time-machine

当前公开包适用于 DSH >=0.1.5-rc.2 <0.2.0 的 web profile,需要 Node.js ^22.19.0 || >=24.0.0。这是 GitHub 依赖安装方式;项目尚未发布 npm 版本。

快速开始

在 profile 的 cordis.patch.yml 中加入插件,然后重启 DSH:

plugins:
  - id: time-machine
    package: dsh-plugin-time-machine
    config:
      autoSnapshot: true
      restoreMode: safe
      enableWebUI: true

在会话中使用:

/tm-list                              # 查看当前分支的检查点
/tm-preview <checkpoint>              # 先预览文件、冲突和副作用
/tm-rewind <checkpoint>               # 回滚工作区,并对齐会话状态
/tm-fork <checkpoint> experiment/jwt  # 从旧检查点开辟平行分支

默认仪表盘地址为 http://127.0.0.1:3088。所有破坏性操作都建议先执行 preview。

它解决什么问题

  • 物理回滚而不是只回滚文本: 使用隔离 Git index、不可变 tree 和私有 refs/dsh-tm/* 保存工作区快照。
  • 清理孤儿文件: 回滚时清理检查点之后新增的普通文件和目录,避免临时配置、日志和密钥残留。
  • 保留失败探索: 从旧检查点 fork 出新的 DAG 分支,不覆盖原失败路径,也不丢失错误证据。
  • 同步 Agent 记忆: 检查点同时保存消息、token 状态、锚点和工作区树,避免“磁盘回去了、Agent 还记得错误代码”的认知分裂。
  • 失败反思闭环: 从失败工具和 stderr 中生成脱敏的反思提示,注入新的分支,减少重复踩坑。
  • 非 Git 兜底: 未初始化 Git 的目录使用 manifest、内容 hash 和同等的路径安全检查。

安全边界

  • Safe 模式会拒绝未验证的用户修改、staged drift 和 ignored drift。
  • Git-only merge 模式会保留不冲突的编辑,并明确报告冲突。
  • symlink ancestor、hard link、sparse checkout、submodule,以及进行中的 merge/rebase/cherry-pick 默认 fail closed。
  • 外部数据库、网络请求、进程和云资源无法通过文件回滚自动撤销;可以注册 compensation adapter,或使用 strict 模式阻止恢复。
  • 当前公开 DSH alpha host 暴露的是共享工作区 fork,不是假装成独立 worktree 或容器的隔离环境。
  • 可选 AES-256-GCM 加密保护会话元数据、shadow objects 和 quarantine backup;恢复日志可以在重启后继续处理被中断的操作。

和其他回滚插件的区别

方案 更适合 Time Machine 的补充
Hermes checkpoint Agent 写入证据和同窗口回滚 增加持久 DAG、会话对齐、失败反思和外部副作用门禁
Change Ledger 轻量变更账本和选择性恢复 增加孤儿清理、preview plan、rescue journal 和会话分支模型
dsh-checkpoint-rewind 单会话 checkpoint/rewind 增加可持久化分支、失败证据和证据驱动的恢复策略
dsh-undo / dsh-rewind 低摩擦线性撤销 保留原探索路径,并显式创建新的会话分支

如果你只需要简单 Ctrl+Z,可以选择更小的 undo 插件;如果你希望工作区、对话、失败尝试和并行探索保持可解释,选择 Time Machine。

验证状态

当前仓库已经通过完整 CI:

  • 143 个自动化测试
  • Node 22/24
  • Ubuntu、macOS、Windows
  • DSH bundle smoke
  • Native DSH client companion
  • DSH 0.1.6-alpha.1 与 0.1.6-alpha.2 companion 检查
  • 生产依赖安全审计
  • 本地 DSH source/Web smoke 和 Gemini gateway 实机验证

更详细的证据见 测试计划、同类对照 和 社区提交材料。

许可证

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 47bbf6049cd2

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout