Skip to main content
Glama

AgentBridge

简体中文 | English | Español | 给 AI Agent 的部署手册

AgentBridge 是一个本地优先的 MCP 协作核心,让 Claude Code 和 Codex 能在同一个项目中互相提问、回复、重试、达成一致,并把讨论状态保存在项目本地的 SQLite 数据库中。

当前开发版本:v0.8.1。本项目以 GitHub Release 分发本地 stdio MCP;便携包自带 Node.js 运行时,不要求用户另外安装 Node 或 npm。Release 安装后程序独立位于用户目录,不依赖下载目录或源码仓库。

当前源码验证状态:UTF-8 校验、TypeScript 构建以及完整自动化测试均已通过,其中 Release MCP 使用官方 SDK 连续完成 30 次握手。auto/reuse 会通过同一项目的 collaboration session 复用 Provider 原生会话;fresh 会建立隔离 room,并在该 room 内复用自己的 Provider 会话。上述自动化测试不等同于真实 Provider 端到端验收;只有 Claude → Codex 和 Codex → Claude 两个方向都完成实际 ask_peer 调用,才能声明真实双向通信可用。

如果你准备把本项目交给 Claude、Codex 或其他 AI Agent 自动部署,请优先让它完整阅读 README.ai.md。该手册要求 Agent 明确判断当前连接的是 Codex App 的 App Server 还是独立 Codex CLI,并完成 doctor、配置文件、MCP 工具、真实双向调用四层验收。

许可提醒:v0.5.0 起采用 PolyForm-Noncommercial-1.0.0,公开许可只允许非商业用途;商业使用需要 HeadStone1 的单独书面授权。v0.4.2 及更早已发布版本继续适用当时的 Apache-2.0,详见 许可历史。因此 v0.5.0 起应称为“源码可用(source-available)”,不应称为 OSI 开源软件。

使用方法(先看这里)

v0.6 系列最重要的变化:只需全局注册一次

安装后只运行一次 agentbridge setup。它会在 ~/.claude.json~/.codex/config.toml 中各写入一个全局 AgentBridge MCP 条目,不固定项目路径、数据库路径或 Codex cwd。以后打开项目 A、项目 B 或新项目时,不需要再次 setup。

Claude Code/Codex 第一次调用 AgentBridge 工具时,服务会依次使用显式兼容路径、CLAUDE_PROJECT_DIR、MCP roots/list、客户端启动目录识别当前项目,并在 <当前项目>/.agentbridge/agentbridge.sqlite 建立独立数据库。一个 MCP 进程只绑定一个项目,防止切换工作区后串库。如果客户端没有提供可靠项目上下文,AgentBridge 会明确报错且不会在用户目录建库;让 Agent 在第一次 ask_peerlist_discussions 中传入绝对 projectPath 即可。

最短安装与验证命令:

npm install --global @headstone/agentbridge
agentbridge setup
agentbridge doctor

从 v0.5.x 升级时,安装最新版后执行一次 agentbridge setup。它会把已登记的项目级 Claude/Codex 条目迁移为全局条目,保留其他 MCP 配置和各项目已有数据库。然后彻底退出并重启 Claude Code 与 ChatGPT/Codex。

1. 先选择安装方式

你的情况

应选择

是否需要 Node.js

普通用户、Codex App 用户、希望开箱即用

GitHub Release 便携包(推荐)

不需要,包内自带运行时

已经使用 Node.js 22.13+ 的开发者

npm 全局安装

需要

要修改 AgentBridge 源码或参与开发

源码安装

需要 Node.js、npm 和 Git

三种方式只需选择一种。不要把 Release、npm 和源码命令混用。普通用户直接从 AgentBridge Releases 下载即可。

2. 安装前必须满足

  • Claude Code 和 Codex 必须与 AgentBridge 安装在同一台机器或同一个虚拟机中,并且都能访问目标项目目录。宿主机安装的 Codex App 不能直接为虚拟机内的 AgentBridge 提供本地 App Server。

  • 先安装并登录 Claude Code。AgentBridge 当前对接的是 Claude Code,不是只有聊天界面的 Claude Desktop。

  • Codex 只需满足下面任意一种:

    • 已安装并登录 Codex App不要求另外安装 Codex CLI

    • 已安装并登录 Codex CLI,供没有 Codex App 的服务器或虚拟机使用。

  • 使用 Codex App 时,建议先正常打开并完成一次登录。AgentBridge 会发现 App 自带的 Codex 可执行文件并启动受控的 app-server 子进程,不会接管已经打开的 GUI 进程。

  • 每个要使用 AgentBridge 的项目都必须拥有本地读写权限。项目路径必须真实存在,建议始终使用绝对路径。

3. GitHub Release 安装(推荐)

Windows 10/11 x64

  1. 最新 Release 下载以下两个文件:

    • AgentBridge-v0.7.1-win32-x64.zip

    • SHA256SUMS.txt

  2. 在下载目录校验压缩包。下面命令在哈希不一致时会直接报错:

$asset = 'AgentBridge-v0.7.1-win32-x64.zip'
$line = Get-Content -LiteralPath '.\SHA256SUMS.txt' |
  Where-Object { $_ -match "\s+$([regex]::Escape($asset))$" }
if (-not $line) { throw "SHA256SUMS.txt 中找不到 $asset" }
$expected = (($line -split '\s+')[0]).ToLowerInvariant()
$actual = (Get-FileHash -LiteralPath ".\$asset" -Algorithm SHA256).Hash.ToLowerInvariant()
if ($actual -ne $expected) { throw "SHA-256 校验失败,禁止安装" }
"SHA-256 verified: $asset"
  1. 解压 ZIP,进入解压后的 AgentBridge-v0.7.1-win32-x64 目录,然后执行一次全局安装:

Unblock-File -LiteralPath '.\install.ps1'
powershell -ExecutionPolicy Bypass -File .\install.ps1

Test-Path 必须返回 True。安装完成时,最后应看到类似输出:

AgentBridge 0.7.1 installed in C:\Users\<用户名>\.agentbridge
Launcher: C:\Users\<用户名>\.agentbridge\bin\agentbridge.cmd
Full uninstall: & "C:\Users\<用户名>\.agentbridge\bin\agentbridge.cmd" uninstall-all --yes --remove-program
AgentBridge is registered globally. Restart Claude Code and Codex, then open any project.

在这些提示之前会依次输出 setupdoctor 的 JSON。setup.configured 应列出 Claude 和 Codex 两项配置结果;changed: false 只表示配置已经是最新状态,不是失败。doctor.ok: false 表示仍有环境或登录项要处理,按 recommendations 修复后重跑即可;只有 doctor 命令本身无法启动时安装脚本才会失败。

  1. 运行诊断:

$ab = "$env:USERPROFILE\.agentbridge\bin\agentbridge.cmd"
& $ab version
& $ab doctor

常见 Windows 错误:

  • Resolve-Path 或“找不到路径”:项目目录不存在或路径写错;先让 Test-Path 返回 True

  • 脚本被阻止:确认压缩包来自本项目 Release 且 SHA-256 已通过,然后运行上面的 Unblock-File-ExecutionPolicy Bypass

  • Access denied:默认安装到当前用户的 %USERPROFILE%\.agentbridge,通常不需要管理员权限;检查安全软件的“受控文件夹访问”以及当前用户是否能写入自己的用户目录。

  • 找不到 launcher:确认 %USERPROFILE%\.agentbridge\current%USERPROFILE%\.agentbridge\bin\agentbridge.cmd 均存在,不要从解压目录直接移动安装后的内部文件。

Linux x64 / macOS Apple Silicon

先确认系统与架构:

uname -s
uname -m

输出

下载文件

Linux + x86_64

AgentBridge-v0.7.1-linux-x64.tar.gz

Darwin + arm64

AgentBridge-v0.7.1-darwin-arm64.tar.gz

当前 Release 不提供 Linux ARM64 或 Intel Mac x64 便携包;这些平台请使用 npm 或源码安装。

下载对应压缩包和 SHA256SUMS.txt 后校验。Linux 示例:

asset='AgentBridge-v0.7.1-linux-x64.tar.gz'
grep "  $asset$" SHA256SUMS.txt | sha256sum -c -

macOS 示例:

asset='AgentBridge-v0.7.1-darwin-arm64.tar.gz'
expected=$(awk -v file="$asset" '$2 == file {print $1}' SHA256SUMS.txt)
actual=$(shasum -a 256 "$asset" | awk '{print $1}')
test -n "$expected" && test "$actual" = "$expected" || { echo 'SHA-256 校验失败,禁止安装' >&2; exit 1; }
echo "SHA-256 verified: $asset"

解压、补充执行权限并安装:

tar -xzf "$asset"
cd "${asset%.tar.gz}"
chmod +x install.sh
./install.sh
~/.agentbridge/bin/agentbridge version
~/.agentbridge/bin/agentbridge doctor

压缩包通常已经保留执行权限;如果出现 Permission denied,重新执行 chmod +x install.sh。安装脚本会依次运行全局 setupdoctor;完成时应看到 AgentBridge 0.7.1 installed in ...Launcher: ...Full uninstall: ... 和重启提示。

4. npm 安装(已有 Node.js 的开发者)

npm 包名为 @headstone/agentbridge,要求 Node.js 22.13 或更高版本。建议全局安装,不建议使用一次性的 npx 执行 setup,因为 MCP 配置需要稳定的程序路径。

node --version
npm install --global @headstone/agentbridge
agentbridge --version
agentbridge setup
agentbridge doctor

升级 npm 安装版本:

npm install --global @headstone/agentbridge@latest
agentbridge setup

npm 安装不携带 Node 运行时。不想自行管理 Node/npm 时使用 GitHub Release 便携包。

5. 源码安装(仅用于开发)

git clone https://github.com/HeadStone1/AgentBridge.git
cd AgentBridge
npm ci
npm test
node packages/cli/dist/index.js setup
node packages/cli/dist/index.js doctor

npm test 会先构建全部 workspace,再运行单元和集成测试。源码安装的详细开发流程见后文“开发与发布”。

6. 只安装 Codex App、没有 Codex CLI

这是受支持的正常用法,不需要为了 AgentBridge 再全局安装 Codex CLI。运行 doctor 后重点检查:

{
  "providers": {
    "codexAppServer": true,
    "codexSelectedBackend": {
      "mode": "app-server",
      "source": "desktop"
    }
  }
}
  • mode: "app-server" 表示实际选择了 App Server 协议。

  • source: "desktop" 表示发现的是 Codex App 自带运行文件。

  • codexAppDetected 只表示 GUI 进程是否正在运行,是诊断信息,不是可用性的判定条件。

  • 没有独立 PATH 安装的 Codex CLI 时,不能把 codex --version 是否成功当成唯一验收标准;以 codexSelectedBackend 和后面的真实 MCP 调用为准。

  • 如果显示 source: "system"mode: "cli",说明当前实际走的是系统 CLI,而不是 Codex App 后端。

7. 全局注册与多项目隔离

安装时执行一次 setup 即可。Claude 的全局条目位于 ~/.claude.json,Codex App、CLI 和 IDE 共用的全局条目位于 ~/.codex/config.toml。配置中只保存启动命令和 AGENTBRIDGE_AGENT 身份,不保存固定项目路径、数据库路径或 cwd

每个客户端项目会启动或绑定自己的 stdio MCP 进程。首次工具调用自动创建该项目的 .agentbridge/project.json.agentbridge/agentbridge.sqlite,因此项目 A 与项目 B 的讨论仍然物理隔离。切换到另一个项目时请打开新的客户端任务/窗口;一个已经绑定的 MCP 进程不会在运行中改绑,以免串库。

配置后完全退出并重新启动 Claude Code 和 Codex App;仅关闭项目窗口不一定会重新加载 MCP。从 v0.5.x 升级也只需重新执行一次无参数 agentbridge setup

配置自主调用与讨论生命周期

AgentBridge 的运行时配置分为“全局默认”和“项目覆盖”两层,不需要再为每个项目手工设置环境变量:

  • 全局配置:~/.agentbridge/config.json;可通过 AGENTBRIDGE_CONFIG_HOME 更换配置根目录。

  • 项目配置:<项目>/.agentbridge/config.json;可以提交到 Git,与团队共享项目规则。

  • 生效优先级:程序默认值 < 全局配置 < 项目配置 < 兼容性的 AGENTBRIDGE_* 环境变量。

  • 没有写入项目配置的字段会继承全局值;项目配置只需要保存差异。

直接在项目目录运行下面的命令,会打开一次性的本地配置页面(监听 127.0.0.1;关闭页面或空闲超时后退出):

agentbridge ui

页面可以分别编辑全局默认、当前项目覆盖,并显示最终生效值及其来源。Release 用户和源码用户分别替换为自己的 launcher 或 node packages/cli/dist/index.js ui 即可。项目路径未指定时会使用当前工作目录;从用户根目录、磁盘根目录或安装目录启动时不会把这些目录误当成项目。

最小配置示例:

{
  "version": 1,
  "invocation": {
    "autonomous": true
  },
  "discussion": {
    "maxDuration": "2h",
    "idleTimeout": "10m",
    "turnHardLimit": "1h",
    "maxTurns": 20
  },
  "session": {
    "retentionDays": 30,
    "archiveOnClose": false
  }
}

invocation.autonomous 默认是 true,允许 Agent 在判断需要跨模型协作时自主调用 ask_peer。设置为 false 后,MCP 只接受明确由用户发起的调用;调用方需要把 ask_peer.invocationOrigin 标记为 user_requested,标记为 autonomous 的调用会被拒绝。Skill 只描述讨论流程和质量要求,不能绕过这项配置。

生命周期字段支持 mssmhd

  • discussion.maxDuration:整场讨论的最长墙钟时间,支持 null 表示不设置整体时限。

  • discussion.idleTimeout:讨论在无新消息时的静默超时。

  • discussion.startupTimeoutstallGraceturnHardLimitleaseTimeoutterminationGrace:启动、卡顿、单轮、租约和终止宽限控制。

  • discussion.maxTurns:1–50 的安全上限,不代表必须完成这么多轮。

即使将 maxDuration 设为 null,静默、单轮、provider 和进程级安全控制仍然生效。完整字段、校验范围、备份行为及环境变量兼容映射见 配置说明

8. 分四层验证安装结果

doctor 会检查安装模式、Node、项目元数据、项目登记、数据库读写、Claude/Codex MCP 配置、启动命令和 provider 后端。单项失败会写入 JSON 的 recommendations,不会因项目未初始化或 provider 不可用而中途崩溃,也不会为了检查而创建不存在的项目。它仍然不能证明已经打开的 Claude Code 或 Codex App 已重新加载 MCP 配置,因此请依次完成下面四层验证。

第一层:运行环境

& "$env:USERPROFILE\.agentbridge\bin\agentbridge.cmd" doctor 'C:\你的项目目录'

Linux/macOS 或 npm 安装时使用对应的 agentbridge doctor 命令。重点检查:

  • 顶层 oktrue;若为 false,按 recommendations 从上到下处理后重跑。

  • node.okinstallation.validtrue;Release/npm 用户还应确认 installation.sourceIndependenttrue,源码开发模式为 false 是预期结果。

  • project.initializedproject.metadataValidregistry.registeredtrue

  • database.okconfiguration.claude.okconfiguration.codex.oktrue

  • providers.claudeClitrue

  • Codex App 用户检查 codexSelectedBackend.mode=app-serversource=desktop

  • Codex CLI 用户检查 codexSelectedBackend.mode=cli,并确认选择的是预期命令。

第二层:配置文件确实写入

Windows:

Select-String -LiteralPath "$env:USERPROFILE\.claude.json" -Pattern 'agentbridge'
Select-String -LiteralPath "$env:USERPROFILE\.codex\config.toml" -Pattern 'mcp_servers.agentbridge|AGENTBRIDGE_AGENT|AGENTBRIDGE_PROJECT_PATH|AGENTBRIDGE_DB_PATH|cwd'

Linux/macOS:

grep -n 'agentbridge' ~/.claude.json
grep -nE 'mcp_servers.agentbridge|AGENTBRIDGE_AGENT|AGENTBRIDGE_PROJECT_PATH|AGENTBRIDGE_DB_PATH|cwd' ~/.codex/config.toml

Claude 条目应位于用户级 mcpServers.agentbridge;Codex 条目应位于用户级 [mcp_servers.agentbridge]。Claude 身份为 claude,Codex 身份为 codex;两边都不应固定 AGENTBRIDGE_PROJECT_PATHAGENTBRIDGE_DB_PATHcwd

第三层:两个客户端已经加载 MCP

  1. 完全退出并重新打开 Claude Code 和 Codex App/CLI,然后在两边打开同一个项目。

  2. 在各客户端的 MCP/工具列表中确认服务器名 agentbridge 已加载。客户端版本不同,入口可能显示为 MCP、Tools 或 Integrations。

  3. 应能看到八个工具:ask_peerreply_peerget_discussionwait_discussionlist_discussionsclose_discussioncancel_discussionretry_discussion

  4. 如果配置文件正确但工具没有出现,查看客户端自己的 MCP 启动错误;doctor 无法代替这一检查。

第四层:真实双向调用

先在 Claude Code 中执行:

请使用 AgentBridge 的 ask_peer 工具询问 Codex:检查当前项目 README,并概括项目用途。

再在 Codex 中执行相反方向的请求:

请使用 AgentBridge 的 ask_peer 工具询问 Claude:检查当前项目 README,并指出一项可以改进的地方。

最后检查讨论是否已保存:

& "$env:USERPROFILE\.agentbridge\bin\agentbridge.cmd" status 'C:\你的项目目录'

Linux/macOS 或 npm 安装使用 agentbridge status /absolute/path/to/your-project。只有两个方向的真实工具调用都成功,才能确认端到端联通。

9. 检查更新、安装更新和回滚

Windows:

$ab = "$env:USERPROFILE\.agentbridge\bin\agentbridge.cmd"
& $ab version
& $ab update
& $ab update --install
& $ab rollback

Linux/macOS:

~/.agentbridge/bin/agentbridge version
~/.agentbridge/bin/agentbridge update
~/.agentbridge/bin/agentbridge update --install
~/.agentbridge/bin/agentbridge rollback

update 只检查,不修改文件;只有 update --install 才会下载对应平台的 Release 包,校验 SHA256SUMS.txt 后安装。程序按版本保存在 ~/.agentbridge/versions/,项目中的配置和 SQLite 数据不会被覆盖。rollback 只切换到已经安装的上一版本。

升级后重新运行 setup 可以确认 Claude/Codex 配置仍指向当前安装位置。

10. 项目卸载和一键完整卸载

删除某一个项目的数据时执行:

& "$env:USERPROFILE\.agentbridge\bin\agentbridge.cmd" uninstall 'C:\你的项目目录' --yes

或 npm/Unix:

agentbridge uninstall /absolute/path/to/your-project --yes

该命令只会:

  • 删除当前项目的 .agentbridge 运行数据和讨论数据库,但保留 .agentbridge/config.json 项目配置。

  • 从自动清理登记中移除该项目。

  • 保留全局 Claude/Codex MCP 条目、其他项目、其他 MCP 服务以及 AgentBridge 程序本身。

不会删除 Release 安装目录 %USERPROFILE%\.agentbridge~/.agentbridge,也不会卸载 npm 全局包。需要保留讨论记录时,先备份项目的 .agentbridge 目录;项目配置会被自动保留。Windows、Linux、macOS 使用相同语义。

要删除所有已登记项目的 AgentBridge 配置、讨论数据和程序本身,使用一键完整卸载。该命令需要两个明确确认参数,避免误操作。

Windows Release 安装:

& "$env:USERPROFILE\.agentbridge\bin\agentbridge.cmd" uninstall-all --yes --remove-program

Linux/macOS Release 安装:

~/.agentbridge/bin/agentbridge uninstall-all --yes --remove-program

npm 安装:

agentbridge uninstall-all --yes --remove-program

完整卸载会读取 ~/.agentbridge/projects.json,并兼容发现旧版本已写入 ~/.claude.json 的 AgentBridge 项目;先删除各项目 .agentbridge 数据和全局/旧版 MCP 条目,再卸载程序。若任一项目清理失败,程序文件会保留,方便修复权限后重试。源码开发模式不会自动删除 Git 仓库;请先运行 uninstall-all --yes 清配置和数据,再自行决定是否删除源码目录。

可以在 Claude Code 或 Codex 编码任务中要求代理运行上述命令,但它仍必须获得你的命令执行授权。AgentBridge 不提供可被普通 MCP 调用直接触发的自毁工具。Windows Release 完整卸载会在后台等待 AgentBridge 进程退出;执行命令后请完全退出 Claude Code 与 Codex,程序目录随后会被删除。Linux/macOS 可在当前命令退出后删除已打开的程序文件。

Related MCP server: Agent Nudge

目录

它如何工作

Claude Code 和 Codex 各自启动一个短生命周期的 stdio MCP 进程。两个 MCP 进程共享项目中的 SQLite 数据库,但各自代表不同的代理身份。

flowchart LR
    C["Claude Code"] -->|"stdio · AGENT=claude"| CM["AgentBridge MCP"]
    X["Codex"] -->|"stdio · AGENT=codex"| XM["AgentBridge MCP"]
    CM -->|"App Server 优先 · CLI 回退"| XP["Codex peer"]
    XM -->|"调用 Claude CLI"| CP["Claude peer"]
    CM --> DB[(".agentbridge/agentbridge.sqlite")]
    XM --> DB

AgentBridge 不会把代码或讨论上传到自己的云服务。实际模型请求仍由本机安装并已登录的 Claude/Codex 客户端发送给各自的服务商。

当前功能与边界

已实现:

  • 使用 Node 内置 node:sqlite 的 SQLite WAL 存储。

  • 双 MCP 进程共享讨论、消息、决定、审计事件、会话租约和 provider 原生会话 ID。

  • ask_peerreply_peerget_discussionwait_discussionlist_discussionsclose_discussioncancel_discussionretry_discussion 八个 MCP 工具。

  • Claude CLI、Codex CLI 和 Codex App Server 的会话 ID 通过项目级 collaboration session 持久化;auto/reuse 可跨同项目 discussion 续接 AgentBridge 所有的会话,fresh 保持隔离;续接失败时使用 SQLite 历史重建有界上下文。

  • 自动发现 Codex Desktop 或新版 ChatGPT Desktop 自带的 Codex 运行程序,优先使用 App Server stdio 协议。

  • App Server 不可用时自动回退到 Codex CLI exec --jsonexec resume

  • 讨论轮数、重试次数、总消息长度和持续时间限制。

  • 全局/项目两级 JSON 配置、配置来源追踪,以及用完即走的 agentbridge ui 配置页面。

  • initsetupuidoctorstatusregister-sessionversionupdaterollback、项目 uninstall 和系统级 uninstall-all 管理命令。

  • 增量修改 Claude JSON 与 Codex TOML 配置,修改前生成备份。

  • 并发 SQLite 启动锁等待与双进程回归测试。

当前边界:

  • 必须在运行 AgentBridge 的系统或虚拟机内安装并登录 Claude/Codex;宿主机登录状态不会自动进入虚拟机。

  • Codex App Server 适配器会启动一个新的受控子进程,不会接管已打开的 Codex Desktop 私有进程。

  • agentbridge ui 只启动一次性的本地 HTTP 配置页面;没有常驻 Web 服务、PostgreSQL/Redis、严格模式或等待队列。

  • 正在执行中的 provider 请求仍无法在进程崩溃后原地恢复;代码签名、静默后台更新和云端部署仍是后续工作。

  • 是否能完成真实调用最终取决于本机 provider 版本、账号权限、网络和模型配额。

虚拟机源码开发快速开始

本节只适用于需要从源码构建 AgentBridge 的开发者。只想在虚拟机中使用 AgentBridge 时,优先按 README 顶部选择 Release 或 npm 安装。以下命令以 Linux/bash 为主;PowerShell 可执行同样的 gitnpmnode 命令,只需把路径换成 Windows 路径。

1. 检查必需软件

git --version
node --version
npm --version
claude --version
# 仅 Codex CLI 用户需要:
codex --version

要求:

  • Node.js 22.13 或更高版本。

  • Git。

  • Claude 侧需要可调用的 Claude CLI;Codex 侧可以只安装 Codex Desktop,也可以安装 Codex CLI。

  • Claude/Codex 已在虚拟机内完成登录,并能各自单独执行一次普通请求。

GUI 用户不要求手工把 Codex 加入 PATH。新版 ChatGPT Desktop 的 MSIX 包内 runtime 不允许包外程序直接执行,因此 AgentBridge v0.7.1 随 npm/便携包安装官方 @openai/codex CLI,并优先用它启动独立 stdio App Server;同时兼容旧 Codex Desktop 的 %LOCALAPPDATA%\OpenAI\Codex\bin\codex.exe 及其版本化运行文件,最后才尝试 PATH 中的 codex。ChatGPT Desktop 登录不保证独立 CLI 已登录;若 codex login status 未登录,在同一 Windows 用户下执行一次 codex login

如果 node --version 低于 v22.13.0,先升级 Node。Node 22.5–22.12 的 node:sqlite 默认仍需要实验开关,不在本项目支持范围内。

2. 获取或更新代码

首次下载:

git clone --branch main --single-branch https://github.com/HeadStone1/AgentBridge.git
cd AgentBridge

已经克隆过:

cd AgentBridge
git pull --ff-only origin main

确认版本:

git log -1 --oneline

3. 安装依赖并构建

npm ci
npm test

npm test 会先完成构建,再运行全部测试。测试成功时应看到所有测试通过;构建产物位于各 package 的 dist/ 目录。

4. 全局配置

源码模式也只需运行一次:

node packages/cli/dist/index.js setup
node packages/cli/dist/index.js doctor

setup 会增量更新用户级 ~/.claude.json~/.codex/config.toml,修改前创建 *.agentbridge.bak,并保留其他 MCP 服务。两个条目使用同一入口,但身份分别为 AGENTBRIDGE_AGENT=claudeAGENTBRIDGE_AGENT=codex

全局条目不能包含固定的 AGENTBRIDGE_PROJECT_PATHAGENTBRIDGE_DB_PATH 或 Codex cwd。项目路径在 MCP 运行时识别,数据库始终位于识别出的 <项目>/.agentbridge/agentbridge.sqlite

如果使用自定义配置位置:

node packages/cli/dist/index.js setup \
  --claude-config /path/to/claude.json \
  --codex-config /path/to/codex/config.toml

5. 运行诊断

node packages/cli/dist/index.js doctor
node packages/cli/dist/index.js status /absolute/path/to/project

重点检查 doctorconfiguration.claude.scopeconfiguration.codex.scope 应为 global,两端 dynamicRouting 应为 trueproviders.codexSelectedBackend.mode 默认优先为 app-serversource: desktop 表示发现 Codex App 自带后端。尚未调用过工具的项目没有 .agentbridge 属于正常状态,doctor 会显示 autoInitialize: true,不要求为每个项目 setup。

相关用户级配置和 MCP roots 能力见 Claude Code MCP 文档OpenAI Codex MCP 文档

Codex GUI 优先与 App Server

默认策略为 auto,无需提供 Codex CLI 路径:

  1. 先检查显式环境变量。

  2. 自动查找 Codex Desktop 自带的可执行程序。

  3. 对每个候选程序运行 app-server --help 能力探测。

  4. 优先启动独立的 stdio App Server;不支持时才回退到 codex exec

App Server 是 OpenAI 为富客户端集成提供的公开协议,stdio 是默认传输。参见 OpenAI Codex App Server 文档

一般用户只需运行:

node packages/cli/dist/index.js setup
node packages/cli/dist/index.js doctor

如果自动发现失败,可以显式指定支持 App Server 的可执行程序:

node packages/cli/dist/index.js setup \
  --codex-app-command /absolute/path/to/codex-executable

也可以设置:

export AGENTBRIDGE_CODEX_APP_COMMAND=/absolute/path/to/codex-executable

也可以强制后端模式:

# 只允许 App Server,探测失败时直接报错
node packages/cli/dist/index.js setup --codex-mode app-server

# 强制使用传统 CLI 通道
node packages/cli/dist/index.js setup --codex-mode cli \
  --codex-command /absolute/path/to/codex

GUI 优先不等于接管当前窗口。AgentBridge 会复用 GUI 安装中公开的 Codex 运行程序和登录配置,但会启动新的受控 App Server 子进程;它不会连接到已经打开的 Codex Desktop 私有会话,也不会读取当前 GUI 对话。

首次真实联通测试

完成配置后,完全退出并重新启动 Claude Code 和 Codex,使 MCP 配置重新加载。

从 Claude 发起

在 Claude Code 中输入类似请求:

请使用 AgentBridge 的 ask_peer 工具询问 Codex:
检查当前项目的 README,并用一句话回复是否能正常读取项目。

Claude 调用的工具参数应类似:

{
  "peer": "codex",
  "message": "检查当前项目的 README,并用一句话回复是否能正常读取项目。",
  "projectPath": "/absolute/path/to/AgentBridge"
}

成功响应通常包含:

  • discussionId,例如 dsc_...

  • messageId

  • status: "DISCUSSING"

  • provider 可用时的 peerResponse

从 Codex 发起

在 Codex 中输入:

请使用 AgentBridge 的 ask_peer 工具询问 Claude:
总结 package.json 中提供的 npm scripts。

Codex 侧 peer 必须是 claude

检查持久化结果

node packages/cli/dist/index.js status .

也可以让任一代理调用:

{
  "name": "list_discussions",
  "arguments": {
    "projectPath": "/absolute/path/to/AgentBridge"
  }
}

如果真实调用失败,讨论记录仍可能保存为 PEER_BUSYFAILEDTIMEOUT,可通过 statusget_discussion 查看。

MCP 工具说明

ask_peer

开始一场新讨论,并调用另一代理。

{
  "peer": "codex",
  "message": "请审查这个实现方案。",
  "projectPath": "/project/path",
  "mode": "review"
}
  • Claude 侧只能选择 codex

  • Codex 侧只能选择 claude

  • projectPath 可省略,默认使用 MCP 进程当前工作目录。

  • 返回的 discussionId 用于后续所有操作。

  • mode 可选:reviewdiscussiondeep-discussionreview 是一次独立评审;discussiondeep-discussion 会在两个 Provider 间自动交替,达成共识后立即进行结论 hash 双签;安全上限分别为 3、12、20,不是必须完成的次数。

  • 自动模式要求 Claude 和 Codex 两个 connector 都已配置;缺少任意一个时会明确返回 UNAVAILABLE,不会静默降级为单轮回答。

  • ask_peer 固定同步执行:review 等待本次对端回复,自动模式等待整场讨论到完成、需要用户决策或已记录失败后才返回,不再转入后台并返回中间 WAIT

  • maxTurns 可选,范围 1–50;它覆盖模式默认值,只是安全上限,不是必须聊满的目标。

  • get_discussion 会返回持久化的 modemaxTurns 和最新 lastSignal;对端明确返回 NEEDS_USER_DECISION 时讨论会暂停交给用户决策。

reply_peer

继续手动/review 讨论,并把回复发送给另一参与者;自动讨论运行期间不能插入回复,暂停后可用它提交用户决定并恢复讨论。

{
  "discussionId": "dsc_xxxxxxxxxxxx",
  "message": "我接受第一点,但建议修改超时策略。"
}

发送者由当前 MCP 宿主身份决定,不需要在参数中指定。

get_discussion

读取讨论详情、全部消息以及最终决定。

{
  "discussionId": "dsc_xxxxxxxxxxxx"
}

wait_discussion

兼容性观察工具,用于读取已有 discussion 的后续状态;正常的同步 ask_peer / reply_peer 流程不需要调用它,等待超时也不会改变讨论状态:

{
  "discussionId": "dsc_xxxxxxxxxxxx",
  "timeoutMs": 30000,
  "afterMessageId": "msg_xxxxxxxxxxxx"
}

同一问题必须复用原 discussionId;不要为了读取状态再次调用 ask_peersetup 会为 Claude Code 和 Codex 安全安装四项轻量 Skill:核心协作 Skill 可自动路由,三个专项 Skill 仅在明确调用时启用;同名自定义或已修改 Skill 不会被覆盖。

list_discussions

列出讨论。可按项目路径过滤:

{
  "projectPath": "/project/path"
}

不传 projectPath 时会列出当前数据库中的全部讨论。

close_discussion

记录当前代理对结论的接受,并自动请求对端确认:

{
  "discussionId": "dsc_xxxxxxxxxxxx",
  "conclusion": "采用 WAL,并在申请写锁前设置有界等待。"
}

重要规则:

  • AgentBridge 会把规范结论和 decision hash 发送给对端,要求对端返回结构化的接受或拒绝结果。

  • 对端接受同一 hash 时自动记录第二份 agreement,进入 COMPLETED 并生成决定记录。

  • 对端接受同一 hash 时自动完成;拒绝确认时会根据 resolution 区分继续讨论或进入 NEEDS_USER_DECISION。无法统一的目标、风险或偏好会保留双方观点并交给用户决策。

  • 对端临时不可用、回复格式无效或需要重试时保持可恢复状态,调用方可以在同一讨论上继续或重试。

  • 自动确认不可用时仍兼容手工双签:另一个代理可使用相同 discussionId 和完全相同的 conclusion 调用一次 close_discussion

讨论消息始终完整保存在 SQLite 中。发送给新 provider 会话的恢复上下文采用“首条提案 + 尽可能多的最近消息”,默认历史字符预算为 48,000,并对单条历史消息截断;成功续接 provider 原生会话时不会重复注入历史。

cancel_discussion

取消讨论并释放本地会话租约:

{
  "discussionId": "dsc_xxxxxxxxxxxx"
}

retry_discussion

FAILEDPEER_BUSYTIMEOUTNEEDS_USER_DECISION 后,重新派发最后一条消息:

{
  "discussionId": "dsc_xxxxxxxxxxxx"
}

失败重试会消耗重试预算。达到上限后,讨论进入 NEEDS_USER_DECISION

讨论状态说明

状态

含义

常用后续操作

CREATED

已创建,尚未正式讨论

等待派发

DISCUSSING

正在讨论

reply_peerclose_discussion

AGREED

双方已同意,正在生成/完成决定

通常自动进入 COMPLETED

IMPLEMENTING

预留的实现阶段

当前本地流程较少使用

REVIEWING

预留的审查阶段

当前本地流程较少使用

COMPLETED

已完成

get_discussion

FAILED

provider 或处理失败

retry_discussion

PEER_BUSY

对端繁忙或不可用

检查 provider,再重试

TIMEOUT

超时或达到资源限制

检查原因,再重试或取消

NEEDS_USER_DECISION

存在无法自动统一的分歧,或自动恢复/重试预算已用尽

用户解决分歧、决定重试或取消

CANCELLED

已取消

只读查看历史

管理命令

Release 安装用户在 Windows 使用:

& "$env:USERPROFILE\.agentbridge\bin\agentbridge.cmd" <command> [path] [options]

Linux/macOS 使用:

~/.agentbridge/bin/agentbridge <command> [path] [options]

从源码运行的开发者使用:

node packages/cli/dist/index.js <command> [path] [options]

命令

作用

init [path]

只创建 .agentbridge/project.json

setup [path]

全局配置 MCP;可选 path 只用于预初始化一个项目

doctor [path]

分项检查安装、项目登记、配置、数据库、启动命令和 provider;返回修复建议

status [path]

显示会话、讨论和审计指标

cleanup [path] --older-than-days N [--yes]

预览或删除过期的已完成/已取消讨论;无 --yes 时只预览

register-session

手动登记 provider 原生会话

version

显示当前程序版本

update

从 GitHub Releases 检查稳定版更新,不安装

update --install

下载、校验并安装当前平台的最新稳定版

update --channel beta

检查包含预发布版本的更新通道

rollback

切换到本机已经安装的上一版本

ui [path]

打开一次性的全局/项目配置页面;默认使用当前项目目录

uninstall [path] --yes

删除该项目状态;保留全局 MCP 条目和程序目录

uninstall-all --yes

删除所有已登记项目状态及全局/旧版 MCP 条目;保留程序

uninstall-all --yes --remove-program

完整卸载所有项目和 Release/npm 程序;源码仓库不会自动删除

查看帮助:

node packages/cli/dist/index.js help

手动登记会话示例:

node packages/cli/dist/index.js register-session \
  --provider codex \
  --session-id SESSION_ID \
  --status IDLE \
  --project-path . \
  --metadata '{"source":"manual"}'

支持的会话状态为 IDLEBUSYBRIDGE_OWNEDARCHIVEDUNKNOWN

环境变量

变量

用途

默认值/说明

AGENTBRIDGE_AGENT

当前 MCP 身份

claude;Codex 侧必须显式设置为 codex

AGENTBRIDGE_CONFIG_HOME

全局/项目配置根目录

~/.agentbridge

AGENTBRIDGE_PROJECT_PATH

显式项目路径兼容覆盖

全局 setup 不写入;运行时优先于 CLAUDE_PROJECT_DIR、MCP roots 和 cwd

AGENTBRIDGE_DB_PATH

旧版/测试数据库覆盖

全局模式不写入;数据库自动位于 <项目>/.agentbridge/agentbridge.sqlite

AGENTBRIDGE_CLAUDE_COMMAND

Claude CLI 命令或绝对路径

claude

AGENTBRIDGE_CODEX_MODE

Codex 后端策略

auto;也可设为 app-servercli

AGENTBRIDGE_CODEX_COMMAND

Codex 可执行程序覆盖路径

未设置时自动发现 Desktop,再尝试 PATH

CODEX_CLI_PATH

Codex CLI 备用路径

AGENTBRIDGE_CODEX_MODEL

Codex CLI 模型覆盖

使用 Codex 默认模型

AGENTBRIDGE_CODEX_APP_COMMAND

仅用于 App Server 的可执行程序覆盖路径

未设置时自动发现 Desktop

AGENTBRIDGE_RECOVERY_MAX_AGE_MS

旧讨论恢复阈值

默认 30 分钟

AGENTBRIDGE_MAX_TURNS

覆盖所有模式的实质性 Provider 回复安全上限

未设置时按模式取 3/12/20;协议确认不消耗上限,设置范围 1–50

AGENTBRIDGE_DISCUSSION_RETENTION_DAYS

启动时清理终态讨论

未设置或 0 表示永久保留;可选 1–3650

AGENTBRIDGE_ARCHIVE_SESSIONS_ON_CLOSE

close/cancel 后尝试归档 Provider 原生会话

默认关闭;设为 1 启用,Provider 不支持时安全跳过

AGENTBRIDGE_AUTONOMOUS_INVOCATION / AGENTBRIDGE_ALLOW_AUTONOMOUS

兼容性覆盖自主调用开关

true;JSON 配置优先级较低

AGENTBRIDGE_MAX_DURATION_MS

兼容性覆盖整场讨论最长时间

毫秒;设为 0 表示不限制整体时长

AGENTBRIDGE_IDLE_TIMEOUT_MS

兼容性覆盖静默超时

毫秒

AGENTBRIDGE_STARTUP_TIMEOUT_MSAGENTBRIDGE_STALL_GRACE_MS

兼容性覆盖启动/卡顿控制

毫秒

AGENTBRIDGE_TURN_HARD_LIMIT_MSAGENTBRIDGE_TIMEOUT_MSAGENTBRIDGE_TERMINATION_GRACE_MS

兼容性覆盖单轮、租约/旧版超时和终止宽限

毫秒

不要把测试专用的 AGENTBRIDGE_TEST_* 变量用于生产配置。

更新到最新版

Release 安装用户

检查新版不会修改本机:

& "$env:USERPROFILE\.agentbridge\bin\agentbridge.cmd" update

确认后安装:

& "$env:USERPROFILE\.agentbridge\bin\agentbridge.cmd" update --install

更新流程会:

  1. 调用 HeadStone1/AgentBridge 的 GitHub Releases API。

  2. 选择当前操作系统和 CPU 架构对应的包。

  3. 下载 Release 包与 SHA256SUMS.txt

  4. 校验 SHA-256;缺少校验文件或校验失败时拒绝安装。

  5. 安装到 ~/.agentbridge/versions/<版本>/,再切换 current 版本指针。

  6. 保留旧版本、项目 MCP 配置和项目 SQLite 数据。

安装成功后重启 Claude Code 和 Codex。需要回退时:

& "$env:USERPROFILE\.agentbridge\bin\agentbridge.cmd" rollback

Linux/macOS 把命令入口替换为 ~/.agentbridge/bin/agentbridge

源码安装用户

在虚拟机或目标机器中执行:

cd AgentBridge
git status
git pull --ff-only origin main
npm install
npm test
npm run build
node packages/cli/dist/index.js setup
node packages/cli/dist/index.js doctor

如果 git status 显示有未提交修改,先确认这些修改是否需要保留。需要保留时:

git stash
git pull --ff-only origin main
git stash pop

不要在不了解本地修改用途时执行强制重置。

备份、恢复与卸载

配置备份

AgentBridge 修改已有配置前会创建:

  • ~/.claude.json.agentbridge.bak

  • ~/.codex/config.toml.agentbridge.bak

每次配置前建议另外复制一份带时间戳的备份,因为固定名称的 .agentbridge.bak 可能被后续操作覆盖。

Linux 恢复示例:

cp ~/.claude.json.agentbridge.bak ~/.claude.json
cp ~/.codex/config.toml.agentbridge.bak ~/.codex/config.toml

讨论数据备份

停止 Claude/Codex 后,复制整个 .agentbridge 目录:

cp -a .agentbridge .agentbridge.backup

数据库可能使用 -wal-shm 文件,因此不要只复制主 .sqlite 文件,也不要在活跃写入期间直接复制。

卸载

node packages/cli/dist/index.js uninstall . --yes

该操作会:

  • 从 Claude/Codex 配置中移除名为 agentbridge 的 MCP 条目。

  • 保留其他 MCP 服务和 provider 配置。

  • 删除当前项目的 .agentbridge 运行数据和讨论数据库,保留 .agentbridge/config.json

卸载会删除本地讨论数据;项目配置不会被删除,需要保留讨论数据时仍应先执行备份。

这只是“项目卸载”:不会删除 Release 安装目录 %USERPROFILE%\.agentbridge / ~/.agentbridge,也不会卸载 npm 全局包。完整卸载直接运行:

agentbridge uninstall-all --yes --remove-program

Release 安装用户使用固定 launcher 的完整路径运行同一命令;详见 README 顶部“项目卸载和一键完整卸载”。完整卸载失败时不会继续删除程序,修复输出中的权限或配置错误后可以重试。

常见问题

Cannot find module 'node:sqlite' 或 SQLite 实验功能错误

原因:Node 版本过低。

node --version

升级到 Node 22.13 或更高版本,然后重新执行:

npm install
npm run build

Claude 或 Codex 后端诊断异常

Claude Code 用户先执行:

claude --version

Codex CLI 用户再执行:

codex --version

只安装 Codex App 的用户不要求 PATH 中存在 codex 命令,应检查 providers.codexSelectedBackend.mode 是否为 app-serversource 是否为 desktop。如果 provider 只在某个 shell 中可用,请在 MCP 配置中把 AGENTBRIDGE_CLAUDE_COMMANDAGENTBRIDGE_CODEX_COMMAND 设置为绝对路径。还要确认 provider 已在 AgentBridge 所在的同一台机器或虚拟机内完成登录。

MCP 工具中出现了错误的 peer

例如 Codex 侧的 ask_peer 仍只允许选择 codex,通常说明 Codex MCP 被错误识别成 Claude。

检查 Codex 的 config.toml

env.AGENTBRIDGE_AGENT = 'codex'

Claude 侧则应为:

"AGENTBRIDGE_AGENT": "claude"

修改后完全重启两个 provider。

两边看不到同一场讨论

确认两个配置中的 AGENTBRIDGE_DB_PATH 完全相同,并且虚拟机用户对该目录有读写权限。建议使用绝对路径。

database is locked

当前版本会在启动阶段进行 5 秒有界等待。若仍出现锁错误:

  1. 确认使用的是最新 main 并已重新构建。

  2. 确认数据库不在不可靠的网络共享或不支持标准文件锁的挂载点。

  3. 关闭遗留的 Claude/Codex/MCP 进程后重试。

  4. 不要让多个不同项目误用同一个数据库路径。

peer is not availablePEER_BUSY

执行:

node packages/cli/dist/index.js doctor .

确认 Claude CLI 或 Codex 实际选中的 App Server/CLI 后端可运行、账号已登录、网络正常。问题解决后调用 retry_discussion,无需重新创建讨论。

Codex 后端不可用或返回 no agent message

先运行诊断并查看实际选中的后端:

node packages/cli/dist/index.js doctor .

如果 codexSelectedBackend.modeapp-server,检查对应程序能否执行 app-server --help。如果模式是 cli,再独立验证:

codex --version
codex exec --json "只回复 OK"

如果底层命令本身失败,先修复 Codex 安装、登录或网络;AgentBridge 无法绕过 provider 的认证或账号限制。

修改配置后 MCP 工具没有出现

  1. 检查 JSON/TOML 语法。

  2. 确认 commandargs 都是绝对路径。

  3. 重新执行 npm run build

  4. 完全退出并重启 Claude Code/Codex。

  5. 再运行 doctor

git pull --ff-only 失败

先执行:

git status
git branch --show-current
git remote -v

确认当前在 main,远端是 https://github.com/HeadStone1/AgentBridge.git,并处理未提交修改后再更新。

Windows 提示 Git dubious ownership

仅在确认仓库确实属于当前用户后执行:

git config --global --add safe.directory C:/absolute/path/to/AgentBridge

不要把不可信目录加入安全列表。

开发与发布

开发要求 Node.js 22.13 或更高版本。

npm install
npm test
npm run build
npm run baseline
npm run release
npm run release:package
npm run release:npm

脚本说明:

  • npm test:运行单元和集成测试。

  • npm run build:按依赖顺序构建所有 workspace。

  • npm run baseline:测量 MCP 启动时间和内存基线。

  • npm run release:重新构建并生成 release/agentbridge-mcp.mjsrelease/agentbridge-cli.mjs

  • npm run release:package:为当前平台生成包含 Node 运行时、固定 launcher 和安装脚本的 artifacts/AgentBridge-v版本-平台-架构/

  • npm run release:npm:生成只包含编译 bundle 和必要文档的 artifacts/npm/,包名为 @headstone/agentbridge

release/*.mjs 是需要 Node 的单文件 bundle;最终 GitHub Release 压缩包会同时携带 Node 运行时,因此普通用户不需要预装 Node/npm。它仍不是代码签名的原生 EXE。

发布新版本

  1. 修改根目录 package.json 的版本号,并更新 README/DEVLOG。

  2. 执行:

npm ci
npm test
npm run release:package
  1. 提交代码后创建与 package.json 完全一致的标签:

git tag v0.7.1
git push origin main
git push origin v0.7.1

标签推送后,GitHub Actions Release 工作流 会再次执行构建和测试,然后分别在 Windows、Linux、macOS runner 上打包自带运行时的压缩包,生成 SHA256SUMS.txt,最后创建 GitHub Release。标签与 package.json 版本不一致时工作流会拒绝发布。

预发布版本使用标准 SemVer,例如把版本改为 0.4.1-beta.1,再推送 v0.4.1-beta.1 标签;工作流会把它标记为 GitHub prerelease,用户通过 update --channel beta 检查。

首次发布 npm 包

第一次创建 @headstone/agentbridge 时,需要包所有者在自己的终端完成 npm 登录和首次发布,不要把密码、Token 或一次性验证码提交到仓库或发送给其他人:

npm login
npm run release:npm
npm pack ./artifacts/npm --dry-run
npm publish ./artifacts/npm --access public

首次发布成功后,在 npmjs.com 的 @headstone/agentbridge 包设置中添加 GitHub Actions Trusted Publisher:

  • GitHub owner:HeadStone1

  • Repository:AgentBridge

  • Workflow:release.yml

  • Environment:留空,除非以后专门创建 npm 发布 environment

之后推送与 package.json 版本一致的 Git 标签时,Release 工作流会通过 GitHub OIDC 发布 npm 包并生成 provenance,不需要在 GitHub Secrets 中保存长期 npm Token。若相同版本已由首次手工发布,工作流会检测后跳过,避免重复版本导致失败。

项目主要目录:

packages/protocol       协议类型和状态机
packages/storage        SQLite 存储
packages/audit          审计与指标
packages/connectors     Claude/Codex/App Server 连接器
packages/collaboration  协作业务逻辑
packages/mcp            MCP Server 与 stdio 入口
packages/cli            管理命令与配置写入
tests                   单元和双进程集成测试
release                 打包后的 Node artifacts
artifacts               当前平台的便携 Release 目录(不提交 Git)
scripts                 打包、安装与固定 launcher
.github/workflows       标签触发的跨平台 Release 自动化

安全说明

  • Claude 连接器使用 print/plan 模式,不开启 permission bypass。

  • Codex 连接器默认使用 read-only sandbox,不默认启用危险权限绕过。

  • 子进程通过参数数组启动,未使用 shell 字符串拼接。

  • 对端讨论内容被标记为不可信上下文,但模型输出仍应由调用方审查。

  • .agentbridge/agentbridge.sqlite 包含讨论消息和审计信息,默认未加密;请按项目敏感级别保护文件权限和备份。

  • provider 配置备份可能包含其他 MCP 环境变量或凭据,不要上传到公共仓库。

  • AgentBridge 不会替代 Claude/Codex 自身的权限、沙箱、认证和网络安全策略。

许可证与商业使用

AgentBridge v0.5.0 及以后版本采用 PolyForm Noncommercial License 1.0.0

  • 个人研究、实验、学习、业余项目等许可证列明的非商业用途可以使用。

  • 除版权持有人外,公开许可证不授予商业使用权;销售、付费托管、纳入商业产品或把 AgentBridge 作为付费交付的重要组成部分前,必须取得 HeadStone1 的单独书面商业授权。

  • 对用途是否属于商业用途存在疑问时,请先停止部署并联系作者确认,不要自行推定获准。

  • 第三方依赖和随包运行时继续适用各自的许可证。

完整条款见 LICENSE,必需版权通知见 NOTICE,实际场景说明见 COMMERCIAL_LICENSE.md。这些说明不能追溯改变已经按 Apache-2.0 发布的 v0.4.2 及更早版本;版本边界见 LICENSE_HISTORY.md

由于禁止商业用途不符合 OSI 对开源许可证“不得限制使用领域”的定义,本项目从 v0.5.0 起是公开源代码的非商业软件,而不是 OSI 认可的开源软件。此处是项目许可说明,不是法律意见。

最小验收清单

部署完成后逐项确认:

  • node --version 不低于 22.13

  • npm test 全部通过。

  • npm run build 成功。

  • Claude 配置包含 AGENTBRIDGE_AGENT=claude

  • Codex 配置包含 AGENTBRIDGE_AGENT=codex

  • 两边使用同一个绝对 AGENTBRIDGE_DB_PATH

  • doctor 能检测到需要的 provider。

  • Claude 能通过 ask_peer 收到 Codex 回复。

  • Codex 能通过 ask_peer 收到 Claude 回复。

  • status 能看到刚才的讨论记录。

  • 一边提交结论且对端结构化接受后,讨论自动进入 COMPLETED;无法自动确认时手工双签仍可完成。

Related MCP Connectors

Related MCP Servers