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, 多智能体, 开发工具, 自定义脚本