dsh-tui-checkpoints
by FUSU123fusu
给 dsh-TUI 补上「真回溯」缺的那一层: 文件改动 。每个 turn 边界把工作区快照进一个 影子 git 仓库 , /checkpoints 浏览并按轮恢复文件状态。
Adds the missing layer of true rewind to dsh-TUI: file changes. Every turn boundary snapshots the workspace into a shadow git repository; /checkpoints browses and restores file state per turn.
安装
dsh plugin --profile web add github:FUSU123fusu/dsh-tui-checkpointsGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
适用于 dsh-TUI(dshtui.com)的社区插件。
给 dsh-TUI 补上「真回溯」缺的那一层:文件改动。每个 turn 边界把工作区快照进一个影子 git 仓库,/checkpoints 浏览并按轮恢复文件状态。
⚠️ 这是 spike(技术验证版)。对话回溯用内置的双击 Esc
/rewind;本插件负责文件那一半。恢复后提示你再回溯对话到同一轮——两段式是刻意的,等验证稳定后会作为核心 PR 并入 rewind。
English below.
用法
/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
原始 README: https://github.com/FUSU123fusu/dsh-tui-checkpoints/blob/main/README.md ↗
同类插件
查看全部 →
dsh-anchored-standard
两阶段 DeepSeek Harness 预设:先 Minimal 对齐的 bootstrap,再切完整 Standard 工具(Project2 98/99)

PicGo-Core
极致的图片上传引擎,CLI 与 API 双支持

awesome-deepseek-harness
DeepSeek Harness(DSH)及其优秀社区插件的精选指南。

awesome-deepseek-harness
DeepSeek Harness (DSH)生态系统:来自dsh-external/hub和公共dsh-plugin主题的精选插件、工具和基础设施。

AI-Novel-Writer
本地优先 AI 小说创作工作台,提供 Windows/macOS 桌面版与 DeepSeek Harness 插件开发预览,支持角色、大纲、章节蓝图、审稿修稿和本地模型。

mcp-for-stata
MCP-for-Stata:把 Stata 集成进你的 agent