跳到正文
dsh-market 浏览插件 GitHub EN

yongshuai0314/dsh-turnsnap

零配置的逐轮 git 检查点:在 git 工作区的每个 agent 轮结束后,把全部变更暂存为一条带 \[turnsnap] 标记的提交(串行队列、感知沙箱策略),每一轮都是回滚点。

Star 数 ★ 0 分类 Git 与代码评审 收录于 2026-08-27 npm dsh-turnsnap

安装

在 DeepSeek Harness 里通过 dsh-market 安装

dsh plugin --profile web add dshmarket

或使用命令行

dsh plugin --profile web add dsh-turnsnap

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 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

内容来自项目 README(GitHub)↗

评论

评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。