OpenRig native-resume-probe机制启动前探测会话是否真正可恢复【免费下载链接】openrigBuild your own network of agents from Claude Code, Codex and Pi: persistent teams with roles, shared context and owned work.项目地址: https://gitcode.com/GitHub_Trending/op/openrigOpenRig 是一个用 Claude Code、Codex 等运行时搭建持久化 Agent 团队的开源工具而native-resume-probe原生会话恢复探测是它保证会话真的被恢复了的关键机制每次恢复resume一个 Agent 会话前OpenRig 不会盲目相信启动命令执行成功而是真正看一眼终端里发生了什么判断会话是否处于可交互状态。为什么需要恢复探测Agent 团队通常要跨天、跨重启地长期运行。重启后恢复一个 Claude 或 Codex 会话时常见陷阱有命令执行了但会话其实已经不存在No conversation found运行时起来了但卡在工作区信任确认、MCP 授权、登录等人工门禁上进程活着但只是刚启动的启动画面并非可交互的对话如果只凭进程还活着就宣布恢复成功后续的上下文投递、任务分派全部会落空。所以 OpenRig 在 docs/releases/v0.3.3.md 中把这条原则定为Honest Restore Gate诚实的恢复闸门verifyResumeLaunch只有在 native-resume-probe 证明座位seat确实恢复后才允许返回成功。探测分三步走核心逻辑集中在 native-resume-probe.ts流程非常简单构造恢复命令buildNativeResumeCommand按运行时生成命令——Claude 是claude --resume 会话IDCodex 是codex resume 线程ID给终端拍快照在专用 tmux 探测窗格里执行恢复命令后捕获窗格最近 40 行屏幕内容和当前前台进程见 claude-code-adapter.ts 中的checkReady判读快照assessNativeResumeProbe对进程名 屏幕文本做结构化识别输出一个诚实的判定结果。四种判定结果不猜、不装、不撒谎判定结果只有四种状态含义清晰定义见 native-resume-probe.ts状态含义典型场景resumed✅会话确实恢复了看到可交互的 TUI 输入框和运行时标识failed❌恢复彻底失败No conversation found、未登录inconclusive还不确定 / 卡在人门禁工作区信任确认、模型选择菜单、更新提示attention_required活着但需要人工操作Claude 弹出选择要恢复的会话菜单绝不允许自动替人选择其中attention_required是最有味道的设计运行时是活的、可救的但必须由操作者来做选择。此时 OpenRig 会把屏幕最后 12 行作为证据evidence原样附上让排障的人一眼看到卡在哪见 claude-code-adapter.ts。门禁识别为什么看到输入框还不够这是该机制最精细的部分。测试文件 native-resume-probe.test.ts 里覆盖了大量真实屏幕文本的识别规则举几个例子旧横幅不算数滚动区里残留着 Update available! 更新横幅但下方已经是活的 TUI → 判resumed不被历史画面骗到新提示框推翻旧面板hook 审查面板出现在新会话头之后才算当前门禁出现在之前只是历史记录模糊证据不升级只看到模型名在正文里被提到不足以证明恢复成功必须是结构化的状态行身份核验兜底对没有标题栏的新版自动模式界面还会用进程指纹连续两次核验这个进程就是它启动的那个见 claude-code-adapter.ts 的assessManagedProbe。探测结果如何被使用启动路径StartupOrchestrator等待座位就绪最多重试 16 次采样探测到no_conversation_found时给出retry_fresh恢复提示可选回退全新启动适配器自身从不擅自重启恢复路径restore-orchestrator.ts 在快照恢复中复用同一套判定探测失败会回滚到零会话、等待决策状态绝不虚报成功元数据刷新resume-metadata-refresher.ts 对 Claude 会话还会在一次性探测会话里真实跑一次 resume 命令验证令牌是否可恢复而不是靠猜。更完整的架构说明可阅读官方文档 docs/as-built/architecture/adapters-and-runtimes.md 的 Resume honesty 章节。小结OpenRig 的 native-resume-probe 机制可以总结为一句话进程活着不等于会话恢复了所以每次恢复前都要亲眼核实。四种诚实的状态划分、屏幕快照判读、门禁识别与人工介入设计让 Agent 团队在重启、断网、升级后恢复时既不静默失败也不越权替人做决定。如果你希望了解各运行时的适配细节可以从 packages/daemon/src/domain/native-resume-probe.ts 这个入口文件开始读起。【免费下载链接】openrigBuild your own network of agents from Claude Code, Codex and Pi: persistent teams with roles, shared context and owned work.项目地址: https://gitcode.com/GitHub_Trending/op/openrig创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?