乐于分享
好东西不私藏

多 AI 编程助手怎么管?我搭了一个 Tmux Agent-Manager,Claude/Codex/OpenCode 各干各的

多 AI 编程助手怎么管?我搭了一个 Tmux Agent-Manager,Claude/Codex/OpenCode 各干各的
01 先说结论,省你一小时

同时打开 Claude Code、Codex、OpenCode 三个窗口,不是多 Agent 协作。

真正的多 Agent 协作,是给每个 Agent 划清场景边界、统一状态入口、规定切换规则

我这几天试了一个叫 Agent-Manager 的小工具(GitHub: YoanWai/agent-manager)。

它的思路很简单:用 Tmux 把三个 Coding Agent 放进一个 TUI 管理器,按任务类型切换,谁写、谁审、谁跑测试,分工明确。不用在多个终端之间来回跳。

今天这篇文章,把搭建过程、我踩的三个坑,以及它适合谁、不适合谁,一次讲清楚。

02 为什么多 Agent 一起用,反而更乱

如果你已经用过 Claude Code 或者 GitHub Copilot CLI,应该有过这种感觉:

  • 写业务逻辑时,Claude Code 很顺手;
  • 但要快速改几行小功能,Codex 反应更快;
  • 想试试 OpenCode 的某个新特性,又得单独开一个新窗口。

三个 Agent 各自跑各自的,问题慢慢就出现了:

1. 上下文互相污染

你在 Claude Code 里刚讲完项目架构,切到 Codex 又得重新说一遍。同一个需求,三个 Agent 三种理解。

2. 命令容易打架

A 窗口在改文件,B 窗口同时也在改同一个文件。保存时冲突,得手动合并。

3. 状态入口太多

想查刚才 Agent 改了什么,得逐个窗口翻历史记录。时间久了,连自己做到哪一步都记不清。

根因不是 Agent 太多,而是没有一个统一的会话管理层。每个 Agent 都默认独占一个终端,互不沟通。

03 Agent-Manager 解决的核心问题:统一入口 + 会话隔离

Agent-Manager 的做法是:把 Tmux 当作一个轻量调度层,每个 Agent 一个独立 pane,由主控 TUI 统一切换。

你不用记复杂的 Tmux 命令。它帮你把三件事固定下来:

  • 每个 Agent 有固定位置;
  • 每个 Agent 有固定任务类型;
  • 每个 Agent 的状态可以被快速接管。

换句话说,它把"开三个窗口"变成"在一个面板里按场景切换"。

04 我的搭建步骤:半小时能跑起来

下面的步骤我亲测过,按顺序执行即可。前提是你已经安装了 Tmux 和至少一个 Coding Agent。

步骤 1:安装 Tmux

macOS:

brew install tmux

Ubuntu/Debian:

sudo apt-get install tmux

Windows 建议用 WSL2,或者在 PowerShell 里通过 scoop 安装。Git Bash 下 Tmux 行为不稳定,不建议。

步骤 2:克隆 Agent-Manager

git clone https://github.com/YoanWai/agent-manager.git
cd agent-manager

我测试时用的是 2026-07-30 的最新 commit。项目是实验性的,功能更新比较快,建议顺手看一遍 README。

步骤 3:安装依赖并启动

pip install -r requirements.txt
python agent_manager.py

启动后会出现一个 TUI 界面,列出你配置好的 Agent 列表。

步骤 4:配置三个 Agent 场景

项目配置文件通常是一个 YAML 或 JSON。我按自己的使用习惯分了三个场景:

agents:
  - name: Claude Code
    command: claude
    pane_title:  architect
    default_dir: ~/projects/myapp
    role: 负责整体架构、需求拆解和跨模块改动

  - name: Codex
    command: codex
    pane_title:  quickfix
    default_dir: ~/projects/myapp
    role: 负责单文件小改动、补测试、快速验证

  - name: OpenCode
    command: opencode
    pane_title:  explore
    default_dir: ~/projects/myapp
    role: 负责新工具试用、非核心模块实验

实际文件名和字段名以项目 README 为准。如果版本更新导致字段变化,按 README 调整即可。

步骤 5:进入 TUI 切换 Agent

启动后,按上下键选择 Agent,按回车进入对应 pane。每个 pane 独立运行一个 Agent 会话。

退出当前 pane 时按 Ctrl + b 然后按 d,回到主控界面,而不是直接关掉整个 Tmux 会话。

步骤 6:测试多 Agent 切换

进入 TUI 后,按以下流程跑一遍最小闭环:

  1. 选择 Claude Code,让它分析项目结构并输出一份改动计划;
  2. 按 Ctrl + s 再按 d,回到主控界面;
  3. 选择 Codex,让它完成其中一个小改动;
  4. 回到 Claude Code,检查改动是否破坏整体架构。

这套流程跑通一次,你就理解了 Agent-Manager 的真正价值:不是同时让三个 Agent 干活,而是按顺序调度它们,互不干扰。如果中间切错窗口,按 Ctrl + s 加方向键即可回到主控界面。

坑 1:工作目录不一致

第一次配置时,我把三个 Agent 的 default_dir 设成了不同路径。结果 OpenCode 改的是旧版本代码,Claude Code 在另一个目录里找引用,半天对不上。

解决方法:统一工作目录。三个 Agent 都指向同一个项目根目录,用相对路径操作。

坑 2:Tmux 快捷键冲突

Claude Code 和 Codex 本身也会用 Ctrl + b 或 Ctrl + a 做内部快捷键。切 pane 时经常误触。

解决方法:在 ~/.tmux.conf 里把 Tmux 前缀改成 Ctrl + s

set -g prefix C-s
unbind C-b
bind C-s send-prefix

坑 3:Agent 状态没保存

Tmux 会话本身会保留,但 Agent 的运行历史不会自动归档。一天下来,我不知道哪个窗口改了什么。

解决方法:给每个 Agent 加一条日志约定。比如每次让 Agent 改代码前,先让它把计划写到 docs/agent-log/ 下的一个文件里。文件命名按日期和 Agent 区分,例如 docs/agent-log/2026-07-30-claude.md

快速创建当天日志文件的命令:

mkdir -p docs/agent-log
AGENT_NAME=claude
date_str=$(date +%Y-%m-%d)
echo "# $AGENT_NAME plan for $date_str" > "docs/agent-log/$date_str-$AGENT_NAME.md"

这样即使 session 重启,也能打开日志文件快速找回上下文。

06 搭完之后,我的实际变化

搭 Agent-Manager 之前,我同时开三个窗口,每天至少切换几十次。现在变成三类任务直接对应三个入口:

任务类型
入口
主要负责
整体架构/需求拆解
Claude Code
跨模块改动、方案讨论
单文件小改/补测试
Codex
快速修改、验证
新工具试用/实验
OpenCode
非核心模块探索

切换成本从"找窗口"变成"按一下方向键"。更重要的是,每个 Agent 的上下文不会被其他 Agent 打断。

但这套方法也有明确边界。

07 适用边界:这些人不建议硬上

适合的人

  • 已经在日常用至少一个 Coding Agent;
  • 项目里经常需要不同粒度的改动(架构 + 小修 + 实验);
  • 愿意花半小时搭环境,而不是立刻追求效率提升。

不适合的人

  • 只偶尔用 AI 辅助写代码,单窗口已经够用;
  • 项目文件少、改动范围小,开多窗口反而增加复杂度;
  • 对 Tmux 完全陌生,也不想学基础命令。

不适合的场景

  • 多人协作同一个分支时,多个 Agent 同时改同一份代码仍然可能冲突。Agent-Manager 解决的是"入口统一",不是"并发控制"。
  • 对稳定性要求极高的生产代码,建议先在小项目或实验分支里跑通。

08 单一 CTA:今晚先试这一步

如果你也想试试,不需要一次配三个 Agent。

今晚最小行动:先装上 Tmux,把 Claude Code 或你最常用的一个 Agent 放进 Agent-Manager 跑起来。

等第一个入口稳定之后,再慢慢把第二个、第三个 Agent 加进去。

项目类型
推荐组合
为什么
全栈个人项目
Claude Code + Codex
架构规划 + 快速小修,覆盖 80% 场景
探索新技术栈
Claude Code + OpenCode
主流程稳定,新工具不污染核心上下文
需要写大量测试
Codex + Claude Code
Codex 快速补测试,Claude 把握整体影响

如果你只想试一个组合,建议从 Claude Code + Codex 开始。这是目前最稳、文档最多的两条线。

配置模板和切换规则如下,你可以复制后按自己项目改:

agents:
  - name: Claude Code
    command: claude
    pane_title:  architect
    default_dir: ~/projects/myapp
    role: 负责整体架构、需求拆解和跨模块改动

  - name: Codex
    command: codex
    pane_title:  quickfix
    default_dir: ~/projects/myapp
    role: 负责单文件小改动、补测试、快速验证

  - name: OpenCode
    command: opencode
    pane_title:  explore
    default_dir: ~/projects/myapp
    role: 负责新工具试用、非核心模块实验

欢迎在评论区留下你用的 Agent 组合。我看看大家最常用的搭配是什么,下次写一期专门讲两个 Agent 怎么分工。


写在最后:Agent-Manager 是实验性工具,功能可能变化。建议先用小项目或实验分支跑通,再考虑用在核心代码上。