☰
pstack的session-pickup与pause-safely:无缝接管与安全暂停在途工作
2026/10/7 20:37:56 网站建设 项目流程

pstack的session-pickup与pause-safely:无缝接管与安全暂停在途工作

【免费下载链接】pstack-claudeClaude Code, Codex, Copilot, Pi, OpenCode, Gemini, and Prime Agent versions of Poteto's pstack. Rigorous agent workflows with Cursor primitives translated for other harnesses.项目地址: https://gitcode.com/GitHub_Trending/ps/pstack-claude

pstack 是 Poteto(Lauren Tan)知名 agent 工作流栈在 Claude Code、Codex、Pi 等运行时的移植版,主打"严谨、简洁、可验证"的 AI agent 工作流。其中session-pickup(会话接管)与pause-safely(安全暂停)两个剧本解决的是长任务协作中最棘手的两个问题:如何让新会话无缝接管上一个 agent 的在途工作,又如何在随时可能中断的时刻干净地停下、留下一个"冷启动也能恢复"的检查点。

为什么 AI Agent 需要无缝会话接管 🤔

如果你用过 AI 编程助手跑长任务,大概都遇到过这种窘境:

  • 上下文丢失:agent 干到一半,会话关闭或上下文被压缩,"它刚才做到哪了"全靠猜
  • 重复劳动:新会话的 agent 不知道已完成什么,把验证、调研又做一遍,浪费 token 还容易引入回归
  • 中断风险:深夜挂着任务、电脑要休眠、上下文即将溢出——agent 停在半吊子状态,未提交的改动丢了

pstack 的思路很直接:让暂停和接管共用同一套"检查点"协议,暂停方负责留下完整快照,接管方负责先读快照、绝不重做。

session-pickup:5 步无缝接管在途工作 🚀

剧本全文见 session-pickup.md,核心规则一句话概括:"你拥有恢复点。读前人的足迹,而不是重走一遍。"

  1. 先读项目检查点:通过 Resume storage 机制直接拿到前一个会话留下的笔记与工件,无需对方留下任何路径。若检查点缺失,再按本地转录(transcript)、云 agent URL 或已推送分支逐级兜底;检查点不可用时要求先诊断,而不是静默降级
  2. 重建操作状态:确认分支与 worktree、已合入的改动(git log/git diff)、未完成的 todo 和已做的决策。同时警惕"人类裁决"类声明——agent 的摘要不等于原始决策,需要回溯依据
  3. 对比"已完成 vs 待完成":明确说出恢复点在哪里,不重跑已完成的复现、不做已做过的调研
  4. 把剩余工作路由到匹配剧本:继续执行、交付已完成方案、追认或推翻先前结论、复盘失败的运行——接管剧本到此结束,后续由对应剧本接管
  5. 对着真实工件验证继承的结论:前一个 agent 的"自报通过"不算证明,必须重新对照原始目标验证

最终回复只说四件事:前一个 agent 停在哪、你继承了什么(理想情况是零重做)、恢复点在哪、结果如何。

pause-safely:安全暂停,留下可恢复的检查点 🛑

与接管互补的剧本是 pause-safely.md,规则同样简洁:"你负责一次干净的停止。留下一个冷启动 agent 也能恢复的检查点。" 且暂停只响应显式指令——用户说"继续跑"、"我睡觉了你继续"时绝不暂停。

  1. 停在安全边界:完成当前原子步骤(或完整回滚它),不启动任何新任务,取消所有嵌套的 subagent
  2. 不做任何不可逆动作:暂停不推 PR、不推远程(除非此前已有推送)
  3. 让工作变持久:未提交的改动在當前分支上合成一个清晰的wip:提交,树是坏的也要在提交信息里如实说明一行
  4. 写出"离上下文"的恢复笔记:记录意图、正在做什么、进度与已验证内容、当前状态、下一步、关键文件和坑位。这是暂停能否"无缝"的关键——笔记必须让一个全新会话无需任何口头交代就能继续
  5. 固化用户显式要求的工件:比如问题清单、验收 checklist,保持原文措辞、完整性与顺序,然后经resume.mjs原子发布检查点,发布后只凭项目目录回读验证——"要求的 10 个问题,必须 10 个都能从笔记直达"

幕后机制:resume-storage 共享检查点存储 🔧

两个剧本共用同一套存储协议,定义在 resume-storage.md:

  • 统一位置:检查点存放在项目 Git 公共目录下的pstack/resume/中,latest.json指针记录最新的完整检查点(工作区、分支、时间戳、笔记、工件及内容哈希)。Claude Code、Codex 等所有运行时读写同一位置,互不干扰
  • 原子发布:resume.mjs的publish命令会先校验文件归属、链接可达性与内容哈希,全部通过才原子替换latest.json——失败的发布绝不能被当作就绪检查点。实现见 resume.mjs
  • 三种读取结果:read命令返回检查点(一切就绪)、missing(无指针,走转录/分支兜底)、unavailable(检查点损坏或被改动,需诊断具体问题而非假装没保存过)
  • 并发安全:begin为并发写者分配独立目录,指针是定位器而非任务锁;同一仓库的多个 worktree 共享同一套定位逻辑

这套设计的巧妙之处在于:暂停与接管之间没有"口头交接",一切以磁盘上的、可校验的快照为准。

适用场景:什么时候该暂停、什么时候该接管 📌

场景触发的剧本
用户说"我去睡了,明天继续"、会话重启、上下文即将压缩pause-safely
新会话接手一个在途任务(本地转录、云 agent 或已推分支)session-pickup
用户说"别停"、"继续跑"、"跑完为止"不暂停,继续执行

两个剧本在 poteto-mode 主文档 的 Playbooks 一节注册,agent 会自动把任务匹配到对应剧本并逐步执行。

如何开始使用 🛠️

pstack 支持 Claude Code、Codex、Pi 以及 Prime Agent、OpenCode、Gemini CLI 等多种运行时,无服务端、无遥测,脚本全部本地运行。若需获取仓库,可克隆:

git clone https://gitcode.com/GitHub_Trending/ps/pstack-claude

以 Claude Code 为例,安装后说"用 poteto-mode 修复搜索过滤翻页重置的问题"这类任务即可触发完整工作流;长任务、离开后再审的任务会自动带上决策轨迹。运行setup-pstack可按角色调整模型与推理力度。更多技能、斜杠命令与运行时细节见 docs/reference.md 与 插件 README。

一句话总结:pause-safely 负责"体面地停下",session-pickup 负责"聪明地接上",两者靠一套原子化、可校验的检查点协议咬合在一起——这正是 pstack "严谨 agent 工作流"的缩影:任何一次交接,都不该靠记忆,而该靠证据。✅

【免费下载链接】pstack-claudeClaude Code, Codex, Copilot, Pi, OpenCode, Gemini, and Prime Agent versions of Poteto's pstack. Rigorous agent workflows with Cursor primitives translated for other harnesses.项目地址: https://gitcode.com/GitHub_Trending/ps/pstack-claude

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询