零配置的逐轮 git 检查点:在 git 工作区的每个 agent 轮结束后,把全部变更暂存为一条带 \[turnsnap] 标记的提交(串行队列、感知沙箱策略),每一轮都是回滚点。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-turnsnap
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:yongshuai0314/dsh-turnsnap
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness (DSH) 的零配置每轮 git 快照。每个 agent 回合结束后,如果该会话的工作目录是一个有未提交改动的 git 仓库,TurnSnap 会自动 git add -A 并创建一个带 [turnsnap] 标签的提交——一个你从不需要开口要的回滚点。
为什么
长会话会改动大量文件。某一轮跑砸了,你要么手动翻 git,要么丢失现场。TurnSnap 把检查点变成自动的:每轮一个提交,提交信息带轮次、文件数和时间:
[turnsnap] turn 12 · 7 files · 14:32:08
安装
dsh plugin --profile <你的-profile> add dsh-turnsnap
零配置、无浏览器端、无需审批:宿主半区几秒内热载,随即开始守护所有处于 git 工作区的会话。
工作原理
- 监听 harness 的
agent/turn-stopping事件。 - 从
agent.session.header.cwd解析会话工作目录。 - 目录不是 git 仓库或工作树干净时静默跳过。
- 否则执行
git add -A && git commit -m "[turnsnap] turn N · M files · HH:MM:SS" --no-verify。 - 所有快照在一条内部队列上串行执行:父会话和子代理同时结束回合也不会竞争 git index。
- git 通过 harness shell 服务运行;宿主暴露沙箱策略解析器时,每个请求都会盖上所属会话现行文件策略的戳。
Agent 工具
| 工具 | 作用 |
|---|---|
turnsnap_pause |
暂停自动快照,直到 resume |
turnsnap_resume |
恢复自动快照 |
turnsnap_status |
报告开关状态、计数器和最近一次检查点 |
三个工具都零参数。对话里直接说"暂停 turnsnap",或在任何能调用 harness 工具的脚本里自己调。
注意事项
git add -A会把已暂存但未提交的内容一并收进检查点。如果你刻意保持部分暂存跨回合存在,请先 pause。- 被忽略的文件仍然被忽略(
add -A遵守.gitignore)。 - 提交使用
--no-verify,pre-commit 钩子不会在快照上运行。 - 每仓库每回合一个检查点:共享同一工作区的子代理会落进同一个提交。
许可证
MIT
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-git-graph★ 8801
输入框上方提供 Git 分支选择器,并把分支泳道与提交历史画成图谱,沿着时间线找到任意变更。
Akimiya-z/codex-guard#dsh★ 136
在 DeepSeek Harness 内做提交前的 Pull Request 卫生检查:扫描当前改动中的 TODO 残留、硬编码密钥与非规范提交信息。
Cerbur/clutch-dsh#clutch-dsh-worktree★ 34
为 DSH Web UI 增加按 Git Worktree 组织 Session 的视角,同时继续由 DSH 管理原始 Project 和 Session 数据。
lehhair/dsh-diff-viewer★ 26
PiUI 风格 diff 查看器,替换 write/edit 工具调用的默认 DiffBlock。
DamonKoy/dsh-web-ui#dsh-git-graph★ 24
dsh web GUI 会话头部栏的 Git 分支选择器与提交图。
PerryLink/dsh-github★ 22
官方级 GitHub CI 集成:composite action.yml、轮询 PR 评审机器人(幂等行内评论 + status-check 门禁)以及 PR/issue 工具,所有写入走人工审批门。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。