本文基于 Agent Deck v1.9.57(2026-06-12 发布),PR 编号已达 #1408,项目更新极为活跃。
一、为什么你需要一个 AI 代理管理器?
2026 年的 AI 编码工具生态已经发生了翻天覆地的变化。一年前,开发者可能只需要一个 Claude Code 或 Aider 就够了;到了今天,一个典型的中高级开发者工作流可能是这样的:
- Claude Code 处理核心业务逻辑
- OpenCode 做代码审查
- Codex 写单元测试
- Gemini CLI 做快速原型验证
- Pi 做文档生成
算下来,5 个 AI 代理 × 3 个项目 = 15 个终端标签页。这还不算你手动开的调试终端、数据库客户端、日志查看器。
终端标签页地狱
你可能经历过这些场景:
- 忘了哪个标签页对应哪个代理,
git checkout错分支 - Claude Code 在等你回复,但你根本找不到那个标签页
- 想在几个 Claude 会话之间复制对话思路,只能手动复制粘贴
- MCP 配置文件越改越乱,每次换项目都要手动改
现有方案的问题
| 方案 | 问题 |
|---|---|
| 手动开多个终端 | 完全不可管理,标签页爆炸 |
| tmux 手动分屏 | 需要记一堆快捷键,没有状态感知 |
| cc-switch | 桌面 GUI 方案,但缺乏终端级会话管理能力 |
| Aider | 单一工具,无法管理多个代理 |
Agent Deck 就是为了解决这个问题而生的。它不是一个 AI 编码工具——它是所有 AI 编码工具的控制中心。
二、Agent Deck 是什么?
Agent Deck(GitHub: asheshgoplani/agent-deck)是一个开源的终端会话管理器,专为 AI 编码代理设计。它基于 tmux 构建,在单一终端窗口中提供 TUI(终端用户界面),让你:
- 一眼看到所有 AI 代理的状态(运行中 / 等待输入 / 空闲 / 出错)
- 一键在代理之间切换
- Fork 会话,从现有对话分支出新思路
- 可视化管理 MCP 服务和 Claude Skills
- 远程监控和编排多个 AI 代理(Conductor 功能)
核心理念:不是又一个 AI 编码工具,而是终端 AI 开发工作流的控制中心。
核心数据
| 指标 | 数值 |
|---|---|
| 编程语言 | Go 1.24+ |
| 底层技术 | tmux 多会话管理 |
| 支持平台 | macOS / Linux / WSL |
| 最新版本 | v1.9.57(2026-06-12) |
| PR 编号 | #1408+ |
| 开源协议 | MIT |
三、安装与初始化(5 分钟上手)
安装方式
Agent Deck 提供三种安装方式,推荐 Homebrew 安装最省事:
# 方式 1:Homebrew(推荐,macOS / Linux 通用)
brew install asheshgoplani/tap/agent-deck
# 方式 2:快速安装脚本
curl -fsSL https://raw.githubusercontent.com/asheshgoplani/agent-deck/main/install.sh | bash
# 方式 3:Go install
go install github.com/asheshgoplani/agent-deck/cmd/agent-deck@latest
创建第一个会话
安装完成后,在终端中运行:
# 启动 Agent Deck TUI,创建一个名为 project-alpha 的会话
agent-deck session start project-alpha
这时候你会看到一个基于 tmux 的 TUI 界面。如果你还没有配置任何 AI 代理,Agent Deck 会引导你设置。
基本 TUI 操作
进入 TUI 后,常用的导航快捷键如下:
| 快捷键 | 功能 |
|---|---|
j / k 或 ↓ / ↑ |
在会话列表中上下移动 |
gg |
跳到列表顶部 |
G |
打开全局搜索(所有 Claude 对话) |
/ |
模糊搜索所有会话 |
1-9 |
跳到第 N 个根组 |
? |
查看完整快捷键列表 |
按状态过滤搜索(非常实用):
| 快捷键 | 过滤状态 |
|---|---|
! |
仅显示运行中(Running)的会话 |
@ |
仅显示等待输入(Waiting)的会话 |
# |
仅显示空闲(Idle)的会话 |
$ |
仅显示出错(Error)的会话 |
组内导航(v1.7.60+ 新增 Alt+ 快捷键,仅在当前组内移动):
| 快捷键 | 功能 |
|---|---|
Alt+j / Alt+k |
当前组内上/下一个会话(不跨越组边界) |
Alt+1 ~ Alt+9 |
跳到当前组内第 N 个会话 |
Alt+g / Alt+G |
当前组的第一个/最后一个会话 |
Alt+/ |
仅在当前组内模糊搜索 |
智能状态指示
Agent Deck 通过智能轮询实时检测每个代理的状态:
| 状态 | 符号 | 含义 |
|---|---|---|
| 运行中 | ● 绿色 | 代理正在积极工作 |
| 等待中 | ◐ 黄色 | 需要你输入/回复 |
| 空闲 | ○ 灰色 | 就绪,等待命令 |
| 出错 | ✕ 红色 | 出现错误 |
等待中的会话会直接出现在 tmux 状态栏:按 Ctrl+b,松开,然后按 1-6 直接跳到对应的等待会话。状态栏会这样显示:
⚡ [1] frontend [2] api [3] backend
四、核心功能实战
4.1 Fork 会话:一个功能多种实现,互不干扰
Fork 是 Agent Deck 最具差异化的功能之一。想象这个场景:你用 Claude Code 设计了一个 API 接口,现在想尝试两种不同的实现方案。传统做法是开一个新会话,从头把需求再讲一遍。有了 Fork,你只需要:
# 在 TUI 中,光标停在要 fork 的会话上
# 按 f → 快速 fork(自动生成名称)
# 按 F → 自定义 fork 后的名称和分组
Fork 的核心价值:
- 新会话继承父会话的完整对话历史
- 支持 Claude / OpenCode / Pi / Codex 的原生 fork(工具本身的 fork 能力)
- 可以 fork 之后再 fork,探索任意多的分支思路
- 每个分支互不干扰,随时可以对比
⚠️ 注意:Codex 的 fork 功能需要 codex CLI 版本 ≥ 0.137.0 才能使用。
4.2 MCP Manager:不用碰配置文件也能管理 MCP 服务
MCP(Model Context Protocol)服务让 AI 代理能访问外部工具(网页搜索、浏览器自动化、数据库查询等)。传统管理方式需要手动编辑 JSON 配置文件,Agent Deck 把它做成了 TUI 可视化操作:
在 TUI 中按 m 打开 MCP Manager:
| 操作 | 快捷键 |
|---|---|
| 启用/禁用 MCP 服务 | Space(空格键) |
| 切换 LOCAL / GLOBAL 作用域 | Tab |
| 按名称跳转 | 直接打字 |
MCP 配置位置:~/.config/agent-deck/config.toml
配置示例:
[[mcp_servers]]
name = "web-search"
command = "npx"
args = ["-y", "@anthropic/mcp-server-brave-search"]
在 TUI 中配置完,Agent Deck 会自动重启对应的代理会话来应用变更,完全不需要手动重启。
4.3 Skills Manager:按项目管理 Claude Skills
对于 Claude Code 用户,Agent Deck 内置了 Skills Manager,让你可以按项目池化管理 Claude Skills:
在 TUI 中按 s 打开 Skills Manager(仅对 Claude 会话有效):
- 池化管理:可用技能列表仅来自池(
~/.config/agent-deck/skills/pool),确保 attach/detach 操作可预期 - 项目级状态:项目状态写入
.agent-deck/skills.toml,技能文件物化到.claude/skills目录 - 打字跳转:与 MCP Manager 相同的按名称跳转交互
这意味着你可以为不同项目配置不同的 Skill 组合,比如:
project-alpha:attached web-search + code-review skillsproject-beta:attached api-testing + docs-generation skills
4.4 MCP Socket Pool:多会话场景下节省 85% 内存
当你同时运行多个会话,每个会话都连接同样的 MCP 服务时,内存消耗会成倍增长。Agent Deck 的 MCP Socket Pool 通过 Unix Socket 让多个会话共享同一个 MCP 进程:
# 在 config.toml 中启用
[mcp]
pool_all = true
效果:
- 减少 85-90% 的 MCP 内存占用
- MCP 进程崩溃时,约 3 秒内自动重连(reconnecting proxy)
- 对上层代理完全透明,无需修改任何代码
4.5 每组独立的 Claude 配置
当你在同一台机器上管理多个 Claude 账号(比如个人账号和工作账号),Agent Deck 支持为不同组配置不同的 Claude 认证:
# config.toml
[groups."conductor".claude]
config_dir = "~/.claude-work"
env_file = "~/git/work/.envrc"
查找优先级:环境变量 > 组 > 配置文件(profile) > 全局 > 默认
env_file 会在启动 tmux pane 之前被加载,其中的 export 会成为会话环境的一部分。这对需要不同 API Key 或不同 Claude 工作目录的场景非常实用。
五、进阶玩法:Conductor 编排
什么是 Conductor?
如果说 Agent Deck 的会话管理是"自动驾驶",那 Conductor 就是"舰队司令"。它是一个更高级的抽象层,让你通过 Telegram / Slack / Discord 远程监控和编排所有 AI 代理会话。
五分钟搭建 Telegram 监控
# 1. 通过 @BotFather 创建 Telegram Bot,获取 token
# 2. 通过 @userinfobot 获取你的 user ID
# 3. 一键运行向导(自动配置 conductor、bridge daemon、heartbeat)
agent-deck conductor setup work --description "Work fleet"
# 4. 启动 conductor 会话
agent-deck session start conductor-work
# 5. 在 Telegram 中给你的 bot 发 /status
从此刻起,你所有的 Agent Deck 会话都被一个统一的 conductor 会话监督着:
- 常规问题自动处理
- 重要事项推送到你的手机
- 等待中的工作不会"烂掉"被遗忘
Watcher 设置:让外部事件唤醒 AI 代理
除了主动查询,你还可以设置 Watcher,让外部事件(GitHub 事件、Gmail、ntfy 推送、会议提醒等)"按门铃"唤醒 conductor。具体配置参考 官方 Watcher 文档。
六、Agent Deck vs 其他方案对比
| 特性 | Agent Deck | cc-switch | 原生 Terminal |
|---|---|---|---|
| 多代理会话管理 | ✅ 全功能 TUI | ❌ 仅模型切换 | ❌ 手动 |
| Fork 会话 | ✅ 继承对话历史 | ❌ | ❌ |
| MCP 管理 | ✅ 可视化 TUI | ✅ CLI | ❌ 手动编辑配置文件 |
| Skills 池化管理 | ✅ | ❌ | ❌ |
| MCP Socket Pool | ✅ 节省 85%+ 内存 | ❌ | ❌ |
| 远程监控 | ✅ Conductor | ❌ | ❌ |
| 跨代理支持 | ✅ 全代理 | ✅ 部分 | ❌ |
| Git Worktree 集成 | ✅ 完整支持 | ❌ | ❌ 手动 |
| 按状态过滤搜索 | ✅ 4 种状态 | ❌ | ❌ |
| 平台支持 | macOS / Linux / WSL | macOS / Linux | 全平台 |
七、总结
Agent Deck 解决的不是"哪个 AI 编码工具更好"的问题——它解决的是当你在用多个 AI 工具时,如何让它们协同工作而不把你逼疯的问题。
核心价值回顾:
- 一站式控制:一个终端窗口管理所有 AI 代理,告别标签页地狱
- Fork 会话:从现有对话分支出新思路,无需重新讲述需求
- 可视化 MCP/Skills 管理:不再需要手动编辑配置文件
- MCP Socket Pool:多会话场景下大幅降低内存消耗
- Conductor 远程监控:通过 Telegram / Slack 随时掌控 AI 代理状态
- Git Worktree 集成:多代理协同开发同一仓库,互不冲突
如果你已经开始面临"AI 代理过多"的问题,Agent Deck 是目前这个细分领域最成熟的开源方案。而且它更新极快(v1.9.56 → v1.9.57 仅隔 4 小时),社区活跃(PR #1408+),值得持续关注。
相关链接:
相关文章推荐: