代码改坏了如何回滚:用 Hermes-Paperclip Adapter 的 Git Worktree 隔离与文件检查点做双保险 代码改坏了如何回滚用 Hermes-Paperclip Adapter 的 Git Worktree 隔离与文件检查点做双保险【免费下载链接】hermes-paperclip-adapterPaperclip adapter for Hermes Agent — run Hermes as a managed employee in a Paperclip company项目地址: https://gitcode.com/gh_mirrors/he/hermes-paperclip-adapterHermes-Paperclip Adapter让你把功能强大的 Hermes Agent 当作 Paperclip「数字员工」7×24 小时自动认领任务、改代码。但 AI 干活也会翻车——改坏代码后怎么快速回滚本文带你用好它的两大安全网Git Worktree 隔离与文件检查点让每次「翻车」都能一键复原。为什么 AI 员工会改坏代码先交代背景。Hermes Agent 是 Nous Research 出品的全能型 AI 代理自带 30 原生工具终端、文件、浏览器、Git 等、持久记忆和 80 技能而Hermes-Paperclip Adapter把它接入 Paperclip 这个编排平台让它像正式员工一样「打卡干活」每次心跳heartbeatAI 员工接收任务指令 → 调用全套工具完成工作 → 把结果汇报回 Paperclip → 保存会话状态以便下次续上。问题就出在这套「全自动」机制上无人值守AI 在后台连续修改文件、执行命令没有人实时盯着试错迭代改 A 文件时连带 B 文件一步走错步步错误操作风险自动执行的命令一旦越界可能直接污染主工作区传统做法是人工git checkout来回滚但在一个由 AI 驱动的项目里你需要的不是「事后补救」而是「事前隔离 随时回滚」。这正是 Adapter 内置的两个开关要解决的问题。Git Worktree 隔离让每次任务都有独立工作区核心思路别在「生产仓库」里直接改。给 Hermes 单独开一个 Git worktree独立工作区AI 在里面怎么折腾都无所谓——改好了合并改坏了直接删掉主分支毫发无伤。一键开启 worktree 隔离只需在 Agent 配置里把worktreeMode设为true{ name: Hermes Engineer, adapterType: hermes_local, adapterConfig: { model: anthropic/claude-sonnet-4, worktreeMode: true, checkpoints: true } }这个配置项在 src/index.ts 的「Session Workspace」表单文档中有说明FieldDefaultDescriptionworktreeModefalseUse git worktree for isolated changes底层是怎么实现的当 Adapter 执行任务时它会检查这个开关并在拼 CLI 参数时加上-w。相关逻辑位于 src/server/execute.tsconst worktreeMode cfgBoolean(config.worktreeMode) true; // ... if (worktreeMode) args.push(-w);-w--worktree会告诉 Hermes Agent本次会话在一个隔离的 git worktree里进行。换句话说AI 的每一次读写都被圈进一座「沙盒」主仓库始终干净。隔离带来的实际好处️主分支零污染AI 再激进也出不了 worktree 这道门♻️零成本回滚任务失败直接丢弃这个 worktree等于什么都没发生过可并行多个 Agent 各占一个 worktree互不干扰✅安全合并确认改动没问题后再手动 merge 回主分支掌握主动权文件检查点一键回滚到「改动前」的安全网worktree 隔离解决的是「空间」问题但还有一种更细的场景AI 在同一个工作区里分几轮改动第 3 轮改崩了你只想退回到第 2 轮结束时的状态。这就需要文件检查点filesystem checkpoints。开启文件检查点把checkpoints设为true即可。Adapter 会在启动 Hermes 时追加--checkpoints参数const checkpoints cfgBoolean(config.checkpoints) true; // ... if (checkpoints) args.push(--checkpoints);同样位于 src/server/execute.ts它是怎么保护你的开启后Hermes 会在关键节点对文件做快照。一旦某次改动出问题回滚到任意检查点像「撤销」一样把文件恢复到某个快照对比改动看清 AI 到底动了哪些文件、改了哪几行兜底即使没提交 Git 的临时改动也能救回来可以把理解成worktree 是「整间实验室的防火墙」检查点是「每一步操作的回放存档」。双保险组合推荐配置对大多数「让 AI 自动改代码」的场景建议两个一起开{ adapterConfig: { worktreeMode: true, // 空间隔离整场任务在沙盒里 checkpoints: true // 时间快照每步都可回滚 } }场景worktreeModecheckpoints说明日常自动改代码✅✅推荐隔离 快照双保险只做只读分析❌❌不动文件无需隔离长链路多轮调试✅✅需要逐步回退到中间状态实验性大重构✅✅改坏了整体丢弃最安全上手三步从克隆到启用提示如果你想把本仓库克隆下来研究仓库地址是https://gitcode.com/gh_mirrors/he/hermes-paperclip-adapter第 1 步 · 装好 Hermes AgentPython 3.10pip install hermes-agent第 2 步 · 安装并注册 Adapternpm install hermes-paperclip-adapter在 Paperclip 服务器的适配注册表里登记它详见 README.md 的 Quick Start让系统能调用execute、detectModel、sessionCodec等能力。第 3 步 · 创建 Agent 并打开安全开关在 Paperclip UI 或 API 中创建adapterType: hermes_local的 Agent把worktreeMode和checkpoints都设为true再派任务。常见疑问FAQQworktree 和 checkpoint 是一回事吗A不是。worktree 是空间隔离独立工作区整场任务可丢弃checkpoint 是时间快照同一区内分步存档可逐步回退。两者正交建议叠加。QAI 在 worktree 里改了东西怎么把它合并回主分支A任务完成后像处理普通 Git 分支一样把 worktree 的改动 merge 进主分支即可。隔离的意义就是让你「先验后合」。Q开启这两个开关会影响性能吗Aworktree 会多占用一点磁盘独立工作区副本checkpoint 会增加少量快照开销。换取的是「改坏能一键还原」对无人值守的 AI 任务来说非常划算。Q会话会跨心跳丢失吗A不会。Adapter 通过--resume续接sessionId见 src/server/index.ts 的sessionCodec并把会话标记为tool来源不污染你本地的交互历史。小结️worktreeMode: true→ 用 Git worktree 给 AI 圈一个隔离沙盒改坏了直接丢弃主仓库始终干净checkpoints: true→ 文件级快照任何一步都能回滚到「改动前」✅ 两者叠加就是让 Hermes 这个「数字员工」在 Paperclip 里安心干活的双保险代码位置速查隔离与检查点的参数拼装src/server/execute.ts配置表单文档worktreeMode / checkpoints 字段说明src/index.ts适配类型常量hermes_localsrc/shared/constants.ts让 AI 放手干活的前提是随时能「按下后悔药」。把这两个开关打开你就能真正放心地把任务交给 Hermes-Paperclip Adapter。【免费下载链接】hermes-paperclip-adapterPaperclip adapter for Hermes Agent — run Hermes as a managed employee in a Paperclip company项目地址: https://gitcode.com/gh_mirrors/he/hermes-paperclip-adapter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考