0xwilliamortiz/agents-council
GitHub: 0xwilliamortiz/agents-council
Agent Council 是一个让 Claude Code、Codex CLI 等编程助手同时调度多个本地 AI CLI 协作并汇总共识的多智能体编排插件。
Stars: 92 | Forks: 1
# Agent Council
## 与 LLM Council 的主要区别
**无需额外的 API 成本!**
与 Karpathy 的 LLM Council 直接调用每个 LLM 的 API(从而产生成本)不同,Agent Council 使用你已安装的 AI CLI(Claude Code、Codex CLI、Gemini CLI 等)。如果你主要使用一个宿主 CLI 并偶尔通过订阅咨询其他工具,这将非常有用。
Skills 比 MCP 简单得多,且可重复性更高。我们建议通过 npx 安装并自行定制!
## 演示
https://github.com/user-attachments/assets/c550c473-00d2-4def-b7ba-654cc7643e9b
## 工作原理
Agent Council 通过 3 个阶段的流程来汇聚 AI 的共识:
**阶段 1:初步意见**
所有配置的 AI agent 会同时收到你的问题并独立做出响应。
**阶段 2:响应收集**
收集来自每个 agent 的响应,并以格式化的视图展示给你。
**阶段 3:主席综合**
你的宿主 agent(Claude Code / Codex CLI 等)默认作为主席(`role: auto`),将所有意见综合成最终建议。你也可以选择配置一个主席 CLI 命令,在 `council.sh` 内部运行综合过程。
## 安装设置
### 选项 A:通过 npx 安装(推荐)
```
cd agent-council-main
npm install
npx agent-council
```
这会将 skill 文件复制到你当前的项目目录中。
如果你升级了 Agent Council 并遇到类似 `Missing runtime dependency: yaml` 的运行时错误,请重新运行上面的安装命令以刷新已安装的 skill 文件。
默认情况下,安装程序会根据你的机器和代码仓库中的可用环境,自动检测是为 Claude Code (`.claude/`) 还是 Codex CLI (`.codex/`) 安装,或者两者都安装。
安装路径:
- `.claude/skills/agent-council/` (Claude Code)
- `.codex/skills/agent-council/` (Codex CLI)
生成的 `council.config.yaml` 仅包含检测到的成员 CLI(例如 `claude`、`codex`、`gemini`),并避免将宿主目标添加为成员。此过滤仅在初始生成时发生;后续的编辑将不会自动移除缺失的 CLI。
### 选项 B:通过 Claude Code 插件安装(仅限 Claude Code)
```
# 添加 marketplace
/plugin marketplace add team-attention/agent-council
# 安装 plugin
/plugin install agent-council@team-attention-plugins
```
注意(插件安装):**Agent Council 需要 Node.js**,并且 Claude Code 插件无法为你打包或自动安装 Node。请单独安装 Node(例如在 macOS 上使用 `brew install node`)。
### 2. 安装 Agent CLI
安装 `council.config.yaml` 中 `council.members` 下列出的 CLI(模板包含 `claude`、`codex`、`gemini`):
```
# Anthropic Claude Code
# https://claude.ai/code
# OpenAI Codex CLI
# https://github.com/openai/codex
# Google Gemini CLI
# https://github.com/google-gemini/gemini-cli
```
验证每个成员 CLI:
```
command -v claude
command -v codex
command -v gemini
```
### 3. 配置 Council 成员(可选)
在你安装的 skill 目录中编辑生成的配置文件:
- `.claude/skills/agent-council/council.config.yaml`
- `.codex/skills/agent-council/council.config.yaml`
```
council:
chairman:
role: "auto" # auto|claude|codex|gemini|...
# command: "codex exec" # optional: run Stage 3 inside council.sh
members:
- name: codex
command: "codex exec"
emoji: "🤖"
color: "BLUE"
- name: gemini
command: "gemini"
emoji: "💎"
color: "GREEN"
# Add more agents as needed
# - name: grok
# command: "grok"
# emoji: "🚀"
# color: "MAGENTA"
```
## 使用方法
### 通过你的宿主 agent(Claude Code / Codex CLI)
要求你的宿主 agent 召集 council:
```
"Let's hear opinions from other AIs"
"Summon the council"
"Review this from multiple perspectives"
"Ask codex and gemini for their opinions"
```
### 直接执行脚本
```
JOB_DIR=$(.codex/skills/agent-council/scripts/council.sh start "Your question here")
.codex/skills/agent-council/scripts/council.sh status --text "$JOB_DIR"
.codex/skills/agent-council/scripts/council.sh results "$JOB_DIR"
.codex/skills/agent-council/scripts/council.sh clean "$JOB_DIR"
```
提示:在 `status --text` 后添加 `--verbose` 可包含每个成员的输出行。
提示:使用 `status --checklist` 获取紧凑的复选框视图(在 Codex/Claude 工具单元格中非常实用)。
提示:使用 `wait` 进行阻塞,直到取得实质性进展,同时避免在工具单元格中刷屏(打印 JSON,自动保持游标;自动将更新精简为少量批次(通常约 5–10 次);使用 `--bucket 1` 可在每次完成时输出)。
一次性执行(运行任务 → 等待 → 打印结果 → 清理):
```
.codex/skills/agent-council/scripts/council.sh "Your question here"
```
注意:在宿主 agent 工具 UI(Codex CLI / Claude Code)中,一次性执行**不会**阻塞。它会返回单个 `wait` JSON payload,以便宿主 agent 更新原生的计划/待办 UI。请通过 `wait` → 原生 UI 更新 → `results` → `clean` 继续执行。
#### 进度
- 在真正的终端中,一次性执行会在成员完成任务时打印周期性进度行。
- 在宿主 agent 工具 UI 中,一次性执行会返回 `wait` JSON(以便宿主可以更新原生的计划/待办 UI)。
- 脚本编写中仍可使用任务模式(`start` → `status` → `results` → `clean`)。
## 示例
```
User: "React vs Vue for a new dashboard project - summon the council"
Host agent (Claude Code / Codex CLI):
1. Executes council.sh to collect opinions from configured members (e.g., Codex, Gemini)
2. Displays each agent's perspective
3. Synthesizes as Chairman:
"Based on the council's input, considering your dashboard's
data visualization needs and team's familiarity, I recommend..."
```
## 项目结构
```
agent-council/
├── .claude-plugin/
│ └── marketplace.json # Marketplace config (Claude Code only)
├── bin/
│ └── install.js # npx installer
├── skills/
│ └── agent-council/
│ ├── SKILL.md # Skill documentation
│ └── scripts/
│ ├── council.sh # Execution script
│ ├── council-job.sh # Background job runner (pollable)
│ ├── council-job.js # Job runner implementation
│ └── council-job-worker.js # Per-member worker
├── council.config.yaml # Council member configuration
├── README.md # This file
├── README.ko.md # Korean documentation
└── LICENSE
```
## 注意事项
- 响应时间取决于最慢的 agent(并行执行)
- 不要与 council 共享敏感信息
- 默认情况下,agent 会并行运行以加快响应速度
- 需要为每个 CLI 工具配备订阅计划(无额外 API 成本)
## 许可证
MIT License - 详情请参阅 [LICENSE](./LICENSE)。
标签:AI代理协作, Cutter, LLM集成, MITM代理, SOC Prime, 多智能体, 开发工具, 自定义脚本