AgentBridge
在同一工作会话内连接 Claude Code 与 Codex 的本地双向协作桥,让两个代理实时互发消息、互相评审、自动接力。
证据显示工具默认以 --dangerously-skip-permissions 与 --yolo 启动两侧代理,虽有 --safe/AGENTBRIDGE_SAFE 退出机制并在 WARNING 中明确说明,但默认即最大化权限,与最小权限原则相悖,扣分明确;数据流在 README 架构与 SECURITY.md 中有较清晰的表格式说明(仅 127.0.0.1、桥不过滤内容),透明度尚可;但敏感数据处理、外部副作用(进程清理、端口占用、postinstall 自动注册插件)仅有断言无代码证据;回滚方面有 kill/pairs prune/幂等 init/sentinel,处理尚可;署名为 AgentBridge Contributors,发布者身份未经核实。所提供的文件不含实际源码,许多安全声明无法核实。
README 与 CI 配置显示自洽性较好:命令、标志(owned flags、--safe 抑制逻辑)、端口分配描述一致;依赖可用性方面有 abg doctor 诊断、transport auto/ws/unix 回退、版本检查;失败信息方面有 troubleshooting 文档、错误引导(如 Bun 缺失提示)。但以上多为文档断言,实际代码行为无法在本次静态文件中核实。
受众与场景描述非常充分:明确'是/不是'清单、跨审查/任务拆分/配额接力三大用例、与其他方案对比;能力边界在 Current Limitations 与 is/is not 清单中有说明;触发精度上 marker 三级路由、owned flag 冲突检测有具体机制;环境适配覆盖 macOS/Linux,明确 Windows 未官方支持。不足是边界多靠文档声明,代码级验证缺失。
信息架构清晰(快速上手、CLI 表、架构图、配置表、限制、路线图);安装说明极为详尽(含 postinstall 失败的手动回退、开发安装);许可证 MIT 完整;命名稳定(agentbridge/abg 双名一致,package. 与文档匹配);已知限制有专节。扣分点:无独立 CHANGELOG 文件(release notes 由 git log 生成),维护责任单薄——SECURITY.md 仅一个邮箱,自称首个开源项目,受支持版本表仅 0.1.x,长期维护承诺缺乏证据。
产出可用性方面 CLI 输出有 -- 选项、doctor/budget 诊断、日志命令,描述充分;边际价值上'为何不用两个终端/单向插件/外部编排器'一节清楚论证了与现有方案的差异(双向、mid-turn、peer-to-peer);成本收益上说明了两进程架构与上下文过滤以控制成本。但这些均为文档层面的论证,实际效果需运行验证。
声明可追溯性中等偏弱:引用了 issue #68/#69/#85 等编号和源文件路径(buildCodexArgs),但由于本次证据不含这些源码,无法核实;跨来源印证有限——CI 徽章、npm 包名、外部仓库链接存在但未能交叉验证内容;事实与推断的区分做得较好:实验性功能明确标注 Experimental/opt-in、上游变异性如实披露、demo 声明为'replayed real session'。
- 默认以 --dangerously-skip-permissions 与 --yolo 启动两侧代理,代理可在不询问的情况下执行命令和修改文件;仅在完全信任的工作区使用,或改用 --safe / AGENTBRIDGE_SAFE=1。
- 桥接器不过滤或净化消息内容,两个代理可能基于对方消息执行代码;注意提示注入经由桥接传播的风险。
- postinstall 会自动注册并安装 Claude Code 插件,属安装期副作用;如不需要请审查 scripts/postinstall.cjs 后再安装。
- 本次审查仅基于 README、LICENSE、SECURITY.md、package. 与 CI 配置,未含核心源码,所有行为声明均未经执行或代码级核实。
- 发布者身份未经核实,项目为 0.1.x 早期阶段且维护者自述为首个开源项目,依赖前请评估长期维护风险。
- Windows 未官方支持;Claude Channels 功能为 Research Preview,行为可能随上游变化。
这个 Agent 能做什么,适合哪些场景?
AgentBridge 是一个本地运行的桥接工具,让 Claude Code 与 OpenAI Codex 在同一工作目录下保持双向实时通信。它由常驻后台 daemon.ts 和由 Claude Code 插件启动的前台 MCP 客户端 bridge.ts 两个进程组成,通过 MCP stdio、控制 WebSocket(默认 :4502)和本地代理(默认 :4501)转发消息。Codex 的结论性输出以 agentMessage 形式推送为 Claude 的频道通知,Claude 通过 reply MCP 工具回信,桥接器再以 turn/start 注入 Codex 线程。工具内置 busy-guard 回合协调、三档标记路由([IMPORTANT]/[STATUS]/[FYI])、配额接力(配合 agent-quota-guard)以及多对会话并行的端口分配。该项目本身大部分代码由 Claude Code 与 Codex 通过 AgentBridge 协作编写,每个代理的 PR 均由对方评审。适用边界清晰:它不是托管服务,不是通用编排框架,也不是安全边界,且目前仅支持 Claude Code 与 Codex 这一对代理。
AgentBridge 以 abg 命令行为入口:abg init 检查依赖并在项目根目录生成 .agentbridge/config.;abg claude 以插件频道模式启动 Claude Code;abg codex 启动接入桥接 daemon 的 Codex TUI。daemon 拦截 Codex app-server 的输出,仅提取 agentMessage(过滤 commandExecution、fileChange 等中间事件),经控制 WebSocket 推给 bridge.ts,再以 notifications/claude/channel 通知送达 Claude;Claude 调用 reply 工具后,消息经 daemon 以 turn/start 注入 Codex 线程。每条消息带 source 字段防止回环。推送失败时回退到内存队列,由 get_messages 排空。三档标记路由中,[IMPORTANT] 立即转发、[STATUS] 按 3 条或 15 秒批量汇总、[FYI] 丢弃;协作契约写入项目 AGENTS.md 一次加载。abg doctor 提供只读诊断,abg budget 经 agent-quota-guard 展示双方 5 小时/每周配额快照,配额临近耗尽时在回合边界写入 .agent/checkpoint.md 并交接任务,窗口刷新后自动恢复。
- 希望让 Codex 实现、Claude 评审 diff 并把修改请求直接推回 Codex 线程的双代理交叉评审工作流。
- 习惯长时间无人值守跑任务的独立开发者,一侧订阅配额耗尽时自动在回合边界把任务接力给另一侧继续。
- 想用一个提示词让两个代理先协商分工、再各自编写代码,同时由人工监督的用户。
- 在同一台机器上并行维护多个项目、每个目录各跑一对 Claude+Codex 的多项目开发者。
- 担心两个代理上下文无限膨胀、希望只传递结论性消息而非完整转写记录的团队。
这个 Agent 有哪些优点和局限?
- 真正的双向对等通信:两侧代理都常驻在线,任一方可在对方回合中途推入消息,而非仅请求-响应式的一次委托。
- 上下文不膨胀:桥只传 agentMessage 结论,配合 [IMPORTANT]/[STATUS]/[FYI] 三档路由,每侧只收到对方有意义的输出。
- 配额接力:一侧订阅窗口耗尽时在回合边界干净停止、写检查点并交接给另一侧,长任务不会死于限额。
- 本地优先、持久 daemon:Claude Code 重启后自动指数退避重连,配额窗口刷新后自动恢复注入,并有幂等墓碑防止重复恢复。
- 硬性依赖 Bun v1.3.11+ 作为运行时,Node.js 单独无法运行 daemon 和插件服务。
- 默认以 --dangerously-skip-permissions / --yolo 启动,两侧代理可不加提示地执行命令和改文件,需在受信任工作区使用。
- 仅支持 Claude Code 与 Codex 这一对,单对仅一个 Codex 线程和一个 Claude 前台连接,Windows 尚未官方支持。
- 配额自动恢复是实验性、需安装 companion 工具 agent-quota-guard,且 Claude 侧恢复为尽力而为,存在上游不确定性。
如何安装或部署这个 Agent?
前置条件:Bun v1.3.11+(必需运行时,Node.js 单独不够)、Claude Code v2.1.80+、Codex CLI。安装步骤:
- 安装 Bun:curl -fsSL https://bun.sh/install | bash
- 全局安装 CLI(postinstall 会尽力自动注册并安装 Claude Code 插件):npm install -g @raysonmeng/agentbridge
- 初始化项目(检查依赖、生成 .agentbridge/config.):abg init
若 postinstall 插件步骤被跳过,可在 Claude Code 内手动执行:/plugin marketplace add raysonmeng/agent-bridge,然后 /plugin install agentbridge@agentbridge,再 /reload-plugins。本地开发可用 git clone 后 bun install && bun link,再运行 agentbridge dev。
如何使用这个 Agent?
安装后五个步骤跑起一对代理:
- abg init
- abg claude(另一概念上:本终端启动带频道的 Claude Code)
- 在另一终端运行 abg codex(裸命令会自动恢复该对的最近 Codex 线程,abg codex --new 开新线程)
然后给 Claude 一个需要第二个代理的任务,例如:"与 Codex 协商一个任务分工,让它实现它的部分,你来评审。"即可看到消息自动双向流动。默认 abg claude 以 --dangerously-skip-permissions、abg codex 以 --yolo 启动;在受信任的工作区中使用,或加 --safe / 设 AGENTBRIDGE_SAFE=1 恢复权限提示。辅助命令:abg doctor 诊断、abg budget 查看配额、abg logs -f 跟随日志、abg kill 停止。
这个 Agent 与同类方案有什么区别?
README 明确对比了两类替代方案:一是开两个终端手动复制粘贴(人充当消息总线,无 busy-guard 和事件过滤);二是 openai/codex-plugin-cc 这类单向委托插件(请求进、答案出,对方不是常驻对等方,只能在调用边界交互)。与外部编排器(一个大脑调度 N 个哑终端的拓扑)不同,AgentBridge 是点对点的:两个完整代理在会话内互相通信、自行提议分工并互相评审。