资讯详情

资讯详情

OpenRig rig reconcile-session会话协调:歧义操作如何去重不丢活

OpenRig rig reconcile-session会话协调歧义操作如何去重不丢活【免费下载链接】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让你用 YAML 定义一支由 Claude Code、Codex 等智能体组成的持久化团队。当你在终端里手动resume了一个座席seatdaemon 却仍认为它已经下线——这时一条rig reconcile-session会话协调命令就能把真实存活的进程重新认领回它自己的持久节点不重启、不重放、不输入任何字符既去重了歧义操作又不丢任何活。为什么会出现歧义操作手动 resume 之后的双视图把 OpenRig 想成两层视图现实层tmux 里真实存活的会话进程投影层daemon 数据库里维护的座席状态rig ps、拓扑图、消息路由都读这一层。正常流程里rig up启动、rig seat管理会同步这两层。但一旦你绕过工具直接在座席的 tmux 会话里手动执行claude --resume或codex resume投影层就失明了daemon 显示该座席down你却看着它正在干活你若再让 daemon 去修轻则重复启动一个同身份的新进程去重失败重则杀掉正在工作的旧进程丢活。这正是 reconcile-session 要消灭的歧义操作。reconcile-session 快速上手一条命令修复核心用法就一条命令会话名格式为角色rig名rig reconcile-session dev-implmy-rig --no-launch它的行为契约非常克制成功时输出三行关键信息Reconciled dev-implmy-rig into rig my-rig Node: dev.impl (node id unchanged - no relaunch, no input sent) Conversation continuity: unverified (reconcile reconnects the projection; it does not verify the conversation)node id unchanged绑定到同一个持久节点不做重新分配no relaunch, no input sent不重启、不向面板输入任何字符unverified诚实地声明——协调只重连投影绝不谎称会话内容已验证。CLI 实现见 reconcile-session.ts命令帮助文本里写明了全部边界。歧义消除--rig 与 --node 必须成对如果多个 rig 里存在同名座席可以显式指定目标。注意两个参数必须同时提供单独提供会在不联系 daemon的情况下直接报错退出exit 1从源头杜绝改错了 rig的歧义操作rig reconcile-session dev-implmy-rig --rig rig-id --node dev.impl --no-launch这个成对校验逻辑见 reconcile-session.ts对应测试用例见 reconcile-session.test.ts。给智能体用的 JSON 输出--json会透传 daemon 的完整结果包括projectionDrift无法证实的元数据列表和continuity会话连续性状态方便自动化脚本判断投影修好了没有、哪些字段还是存疑。如何做到去重不丢活五条永不越界daemon 侧把 reconcile-session 实现为拓扑收敛操作reconcile_session走的是认领服务claim service而非启动器——见 topology-converge.ts 与路由 sessions.ts。它承诺永不做以下五件事不 launch / relaunch——绝不额外起进程天然去重不 kill——正在工作的会话原样保留天然不丢活不重放启动流程、不按 resume 菜单不压缩compaction上下文不向终端面板写入任何输入。它唯一做的事把存活进程绑定回自己原有的持久节点同 node id、不重新命名并刷新投影。修好之后rig ps、拓扑视图、rig send发消息、capture 捕获、queue 队列路由立刻恢复可用——原来的对话、原来的任务地址一样都没变。 与switch-client的分工后者只改变客户端看哪个座席的视角从不修复路由。若路由坏了OpenRig 会明确提示先用rig reconcile-session或 seat handover修好路由再跑 switch-client——见 seat-switch-client-service.ts。修复失败会怎样诚实报错而不是静默猜测如果给的会话名在当前机器上根本不存在daemon 返回 404session_not_foundCLI 打印No live tmux session named ...并以 exit 1 退出行为见 reconcile-session.test.ts。找不到就是找不到而不是随便挑一个相似的座席绑上去——这同样是去重的一部分。验证修复是否生效直接看两处rig ps --nodes --rig my-rig # 座席应显示为在线node id 保持不变 rig tui --shared # 拓扑图中该节点恢复连线相关文件资料CLI 命令实现packages/cli/src/commands/reconcile-session.ts拓扑收敛操作reconcile_sessionpackages/daemon/src/domain/topology-converge.tsdaemon 路由POST /api/sessions/:name/reconcilepackages/daemon/src/routes/sessions.ts命令行为测试packages/cli/test/reconcile-session.test.ts示例团队配置demo/rig.yaml一句话总结手动 resume 之后先rig reconcile-session对齐两个视图它只认领、不重建把歧义操作压到零把在途的工作完整保留。【免费下载链接】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),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →