内容
# 圆桌会议
**English** | [简体中文](README.zh-CN.md)
**将您计算机上的 AI 编程代理转化为一个团队。**
圆桌会议让 **Claude Code, Codex, Reasonix 和 ZCode** —— 运行在**同一台机器**上 —— 协同工作:传递任务,共享一个面板,相互提问,审查彼此的工作。在桌面应用程序和终端中均可使用。只需一个命令即可安装,无需服务器,无需云端,无需依赖。
> CLI 命令是 `bridge`。状态存储在 `~/.agent-bridge/`。您只需要记住这一点。
---
## 快速开始
```bash
# 1. 为此机器上找到的所有支持的应用程序安装
# 通过 npm(无需克隆):npx @xyva-yuangui/roundtable install --auto
# 或从此仓库:./install.sh --auto
# 2. 从一个代理向另一个代理传递任务
bridge send --to codex --subject "设计身份验证模块" --body "JWT + refresh"
# 3. 另一个代理看到它,完成它,并报告回来
bridge inbox # 需要我处理的任务(带有详细信息)
bridge claim <id> # 我来处理它
bridge done <id> --result "参见 auth/design.md"
bridge board # 快速查看所有任务
```
这就是整个循环:**发送 →认领 → 完成**。其他功能都是额外的。
---
## 工作原理
```mermaid
flowchart TB
subgraph A["AI 编程代理 · 一台机器"]
C["Claude Code<br/>用户提示提交钩子"]
Z["ZCode<br/>插件钩子"]
X["Codex<br/>AGENTS.md + MCP"]
R["Reasonix<br/>系统提示 + MCP"]
end
subgraph T["传输 · 双向进入,相同操作"]
CLI["bridge CLI"]
MCP["bridge_mcp<br/>MCP 服务器"]
end
BOARD["共享面板<br/>~/.agent-bridge/<项目>/<br/>board.json · activity.jsonl"]
C --> CLI
Z --> CLI
X --> MCP
R --> MCP
C -.-> MCP
CLI --> BOARD
MCP --> BOARD
BOARD -. "推送:通知 / 醒来" .-> A
```
共享文件面板是单一的事实来源(在 `flock` + 原子写入下安全)。代理通过两种方式访问它 —— `bridge` CLI 或桌面应用程序的 MCP 服务器。每个代理通过其自己的原生机制保持警觉,您可以主动**唤醒**空闲的代理。
---
## 支持的代理
| 代理 | 桌面 | CLI | 通过以下方式通知任务 |
|---|:---:|:---:|---|
| **Claude Code** | ✅ | ✅ | 每个回合的钩子(自动) |
| **ZCode** | ✅ | — | 每个回合的插件钩子(自动) |
| **Codex** | ✅ | ✅ | 固定指令 + MCP,或 `--wake` |
| **Reasonix** | ✅ | ✅ | 固定指令 + MCP,或 `--wake` |
---
## 安装
```bash
./install.sh --auto # 检测已安装的应用程序,并连接每个应用程序
./install.sh --agent codex --as codex # 或一次一个
./install.sh --uninstall --agent codex # 删除
```
重新运行是安全的(幂等)。安装后,**重启 Codex / Reasonix / ZCode**,让它们加载新的配置;Claude Code 会在下一个提示时自动加载。
**要求:** macOS 或 Linux,Python 3.9+(仅标准库),以及四个应用程序之一。
---
## 需要了解
**路由不是硬编码的。** 每个代理都宣传其优势(`bridge agents`);协调者选择合适的代理来完成任务,并使用 `bridge send --to <agent>`。
**代理仅在同一项目内协作。** 项目与文件夹绑定。在仓库中运行 `bridge project init`,只有在同一文件夹中工作的代理才能看到其面板 —— 其他代理会被拒绝。(相同的 OS 用户,因此这是范围限定,而不是硬安全墙。)
**空闲代理可以被推送,而不是仅仅等待。** 发送任务会显示桌面通知,并且 `bridge send --to reasonix --wake`(或 `bridge wake codex`)会以无头模式运行代理来立即处理它。
**一台机器 = 一个团队。** 在您希望团队工作的每台机器上安装它。每台机器都有自己的面板 —— A 机器的代理不会与 B 机器的代理通信。
---
## 命令
| 命令 | 功能 |
|---|---|
| `bridge status` | 快速查看收件箱摘要(由钩子使用) |
| `bridge send --to <agent> --subject "..." [--body "..."] [--wake]` | 传递任务 |
| `bridge inbox` | 需要您处理的任务(带有正文和任何问答) |
| `bridge show <id>` | 任务的完整详细信息 |
| `bridge claim <id>` / `bridge done <id> --result "..."` | 认领 / 完成 |
| `bridge question <id> --body "..."` / `bridge answer <id> --body "..."` | 提问 / 回答 |
| `bridge review <id> [--verdict approve\|changes]` | 请求 / 提供审查 |
| `bridge board` / `bridge agents` / `bridge activity` | 面板 / 团队 / 历史 |
| `bridge wake <agent>` | 让空闲代理立即检查 |
| `bridge project init` / `bridge context --add "..."` | 注册项目 / 共享笔记 |
| `bridge doctor` | 健康检查 |
桌面应用程序调用与 MCP 工具相同的操作(`bridge_send`, `bridge_inbox`, ...)。
---
## 故障排除
运行 `bridge doctor`。最常见的问题是代理没有检查此回合 —— 只需告诉它“检查您的 agent-bridge 收件箱”,或使用 `--wake`。安装后,重启应用程序以加载 MCP 配置。
## 测试
```bash
python3 scripts/test_mcp.py # 跨代理往返
python3 scripts/test_isolation.py # 项目隔离
```
## 鸣谢
Roundtable 是连接以下代理的胶水:
- [Claude Code](https://github.com/anthropics/claude-code) —— Anthropic
- [Codex](https://github.com/openai/codex) —— OpenAI
- [Reasonix (DeepSeek-Reasonix)](https://github.com/esengine/DeepSeek-Reasonix)
- [ZCode](https://z.ai) —— Z.ai (GLM)
## 许可证
[MIT](LICENSE)