本文基于 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 DeckGitHub: 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 skills
  • project-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 工具时,如何让它们协同工作而不把你逼疯的问题。

核心价值回顾

  1. 一站式控制:一个终端窗口管理所有 AI 代理,告别标签页地狱
  2. Fork 会话:从现有对话分支出新思路,无需重新讲述需求
  3. 可视化 MCP/Skills 管理:不再需要手动编辑配置文件
  4. MCP Socket Pool:多会话场景下大幅降低内存消耗
  5. Conductor 远程监控:通过 Telegram / Slack 随时掌控 AI 代理状态
  6. Git Worktree 集成:多代理协同开发同一仓库,互不冲突

如果你已经开始面临"AI 代理过多"的问题,Agent Deck 是目前这个细分领域最成熟的开源方案。而且它更新极快(v1.9.56 → v1.9.57 仅隔 4 小时),社区活跃(PR #1408+),值得持续关注。


相关链接:

相关文章推荐: