dsh-tui-checkpoints
Manifest validShadow-git workspace checkpoints for dsh-TUI: snapshot the working tree at every turn boundary, browse and restore file states per turn via /checkpoints.
dsh-tui-checkpoints(spike)
适用于 dsh-TUI(dshtui.com)的社区插件。
给 dsh-TUI 补上「真回溯」缺的那一层:文件改动。每个 turn 边界把工作区快照进一个影子 git 仓库,/checkpoints 浏览并按轮恢复文件状态。
⚠️ 这是 spike(技术验证版)。对话回溯用内置的双击 Esc
/rewind;本插件负责文件那一半。恢复后提示你再回溯对话到同一轮——两段式是刻意的,等验证稳定后会作为核心 PR 并入 rewind。
English below.
安装
暂未发布到 npm(spike 阶段不打算发),从源码打包安装:
git clone https://github.com/FUSU123fusu/dsh-tui-checkpoints.git
cd dsh-tui-checkpoints
npm pack
dsh plugin --profile dsh-tui add file:dsh-tui-checkpoints-0.1.0.tgz
用法
/checkpoints " 打开检查点面板
- 列表:● 轮后 / ◦ 轮前快照,turn 号 + commit 短 hash + 时间
- 选中行下方实时显示与当前工作区的 diffstat
r恢复(3 秒内按两次确认;恢复前先把当前状态存进safety-*分支,恢复本身也可回滚)- 恢复文件后,双击 Esc 把对话回溯到同一轮,两边就对齐了
原理
- 影子仓库:
GIT_DIR在~/.dsh/checkpoints/repos/<工作区hash>.git,work tree 就是项目目录。项目自己的.git完全不动,项目不是 git 仓库也能用。 - 快照时机:监听
session/event,顶层会话的turn/start(轮前)和turn/end(轮后)各存一次;快照串行排队,无变化复用 HEAD 不堆空提交。 - 忽略规则:默认排除
.git/node_modules等 + 项目的.gitignore,写进影子仓库的info/exclude。 - 恢复语义:
reset --hard <hash>+clean——后来新增的文件删掉、改过的文件还原。先存安全提交(safety-*分支保留),失败不动任何东西。 - 映射索引:
~/.dsh/checkpoints/index/<工作区hash>.jsonl(turn/seq ↔ commit hash)。
实测性能(dsh-TUI 仓库,含 worktrees)
首次全量快照 ~5.8s,无变化快照 ~0.7s(add -A + diff --cached)。快照在后台排队执行,不阻塞对话。
已知边界
- 嵌套 git 仓库(子模块/worktree)以 gitlink 记录,其内部漂移不展开。
- 只记录文件;对话回溯走内置 rewind。模型记忆 = 会话日志,fork 截断即回溯,无需额外处理。
- 恢复是工作区级操作:正在编辑的未保存内容会被覆盖(但已进安全提交)。
开发
node --test " 真 git 临时仓库测试 + recorder 逻辑(10 个)
English
Shadow-git workspace checkpoints for dsh-TUI (spike). Every turn boundary snapshots the working tree into a per-workspace shadow repo (the project's own .git is never touched; non-git workspaces work too). /checkpoints browses per-turn file states and restores with a double-r confirm — the restore itself safety-commits first, so it's rewindable. Conversation rewind stays with the built-in double-Esc /rewind; this plugin covers the file half. MIT
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.1.0 | — | — |
Comments
Loading…
From the same category
DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.
★ 41.7k
↓ 121/wk
MIT
Aug 24, 2026
dsh plugin --profile web add dsh-plugin-reactive-resumeby dsh-market
The plugin market inside DeepSeek Harness — browse, search, one-click install · DSH 可视化插件市场
★ 11.6k
↓ 321.4k/wk
MIT
TypeScript
Aug 25, 2026
dsh plugin --profile web add dshmarketby Tencent
Let AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.
★ 8.6k
↓ 15.4k/wk
MIT
TypeScript
Aug 25, 2026
dsh plugin --profile terminal add @wxg-prc-cpg/browser-skill-dsh-pluginby superdesigndev
OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn
★ 7.8k
NOASSERTION
Python
Aug 25, 2026
dsh plugin --profile web add treg-dshby yjh051108
dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).
★ 7k
MIT
JavaScript
Aug 24, 2026
dsh plugin --profile web add @dsh-external/dsh-super-injectorby Q00
Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,
★ 6.2k
MIT
Python
Aug 25, 2026