同时开好几个终端跑 Claude Code、Codex,总忘了谁在等确认?单终端和 Caravel 多 Agent 工作台怎么选
一句话答案:一个任务,终端就是最好的界面;同时跑三个以上 Claude Code / Codex 任务时,难点会从「让 AI 写代码」变成「记住每个任务走到哪一步」。纯命令行可以用
claude --worktree/git worktree隔离改动、用状态表记进度;在 Caravel 里,任务列表直接显示「运行中 / 待确认 / 待验收」,你只在需要拍板时出场。终端告诉你进程还活着,工作台告诉你工作到哪一步。
这篇不劝你扔掉终端。前半部分讲纯命令行怎么把多任务管住(不装任何新工具也能用),后半部分讲同一件事在多 Agent 工作台里怎么做、差别在哪,最后给一张按任务数选择的对照表。
本文演示工具:Caravel —— 本地优先的多 AI 编码 Agent 桌面工作台,统一管理 Claude Code、Codex、OpenCode、pi、Grok、TRAE、Antigravity 的并行任务、代码 Diff 验收与工作流。免费使用,支持 macOS 与 Windows。
- GitHub 主页(界面截图、安装说明):https://github.com/yy36295238/caravel-agent
- 下载:https://github.com/yy36295238/caravel-agent/releases(macOS 用
.dmg;Windows 用 Releases 里带x64-setup.exe的版本)- 功能介绍(完整功能说明):https://github.com/yy36295238/caravel-agent/blob/main/docs/product-overview.md
作者立场:本文作者在做 Caravel。Claude Code 的能力以官方文档为准,文中按钮名来自 Caravel 中文手册;文末写清它做不到的地方。
先做个 5 秒自测:你开着的几个终端,能马上答出这三个问题吗?
直答:答不上来,说明你缺的不是更强的 Agent,而是一套记录状态的办法。
三个窗口:一个 Claude Code 在修登录页,一个 Codex 在升依赖,一个 Claude Code 在补文档。不切窗口,回答:
- 哪个在等你? 有没有哪个停在一条命令前,等你按
y? - 哪个说了「做完了」,但你还没看过改动?
- 哪个其实卡住了? 最后一行输出是五分钟前的,它在思考还是已经停了?
答不出来很正常:终端负责把输出流打印出来,「这件事走到哪一步」一直记在你脑子里。任务一多,Agent 在并行,你却在串行地巡视窗口。这不是哪个 Agent 的问题,是人的注意力成了瓶颈。
只开一个终端跑 Claude Code,什么时候就够了?
直答:一次只盯一个任务、改动范围小、你一直守着输出时,单终端就是最好的选择,什么都不用加。
- 输出就是全部信息,没有多余界面层;快捷键、管道、脚本照常用;
- Claude Code、Codex 本身就有权限确认、会话恢复等完整能力。
符合下面任意两条,再考虑换管理方式:同时在跑的任务经常 ≥3 个;离开屏幕回来要花几分钟才搞清进度;有过「以为看过其实没看」就合进去的改动;混用了不同厂商的 Agent,会话分散在各处。
几个 Agent 同时改一个项目,怎么不互相覆盖?
直答:每个任务一个 git worktree。Claude Code 原生支持 --worktree(或 -w),这是并行隔离的官方方案,详见官方文档:https://code.claude.com/docs/en/worktrees
claude --worktree fix-login # 终端 1:在 .claude/worktrees/fix-login/ 里新建分支和会话
claude --worktree upgrade-deps # 终端 2:第二个隔离会话
(选项与默认路径以当前版本文档为准;官方建议把 .claude/worktrees/ 加进 .gitignore,可用 .worktreeinclude 把 .env 等被忽略的文件带进新 worktree。)
其他 CLI 用 git 自己建:
git worktree add ../myapp-docs -b agent/docs
cd ../myapp-docs && codex # 启动方式以当前版本文档为准
git worktree list
git worktree remove ../myapp-docs
提醒:worktree 隔离的是文件改动,不是运行环境;依赖要在里面重新装,端口、本地数据库仍可能互相影响。小改动不一定值得开 worktree。
不换工具,怎么记住每个终端走到哪一步?
直答:窗口命名 + 一张状态表 + 需要你时的提醒。
- 窗口名 = 任务名:
tmux new-window -n fix-login,别留默认的zsh。 - 状态表:仓库外放一个
TASKS.md,每次切窗口顺手更新:
| 窗口 | Agent | 分支 / worktree | 任务 | 状态 | 下一步 |
|---|---|---|---|---|---|
| fix-login | Claude Code | worktree-fix-login | 错误密码加提示 | 等我验收 | 看 diff,跑登录测试 |
| upgrade-deps | Codex | agent/deps | 升级依赖 | 等我确认 | 它要跑 npm install,先看 lock 变化 |
| docs | Claude Code | agent/docs | 补安装文档 | 运行中 | 15:30 回来看 |
状态只用五个词:运行中 / 等我确认 / 等我验收 / 已合并 / 已放弃。
- 提醒:不少 CLI 支持在等待输入或结束时执行自定义命令(如 Claude Code 的 hooks、Codex 配置里的通知项),可接系统通知,事件名和写法以当前版本文档为准。
- 判断卡住:最后输出几分钟没动,先看是不是在等确认;不是就中断当前回合(多数 CLI 按 Esc 或 Ctrl+C),再让它「从当前进度继续」。
批量看每个 worktree 的改动规模:
git worktree list --porcelain | awk '/^worktree /{print $2}' | while read wt; do
echo "== $wt"; git -C "$wt" status --short; git -C "$wt" diff --stat
done
这套办法 2–3 个任务很好用;任务再多,维护状态表本身就会变成负担——这正是工作台要接手的部分。
同一件事在 Caravel 里怎么做?
直答:Caravel 不替代 Claude Code,它调用你电脑上已装好并登录的 Agent,把「状态、授权、验收」从你脑子里搬到界面上。下面 4 个能力都能在手册里对照。
1. 状态即分工:列表和看板直接写着每个任务走到哪
每个任务在列表右下角显示状态:运行中(带已用时间)、待确认、待验收、已完成;工作区分组标题会显示运行中、待确认和结束未读的任务数。关掉主窗口后 Caravel 转到后台继续运行(macOS 菜单栏、Windows 托盘),托盘也显示运行中 / 待确认数。

图1:工作台任务列表(示例数据):caravel 工作区下「完善新用户安装指引」由 Codex 运行中,两条 Claude 任务待验收,一条已完成;personal-site 下 OpenCode 的「升级网站依赖并检查兼容性」待确认、pi 的任务待验收。右侧打开的任务处于「待验收」,任务计划停在「审查 Diff 并验收」。
任务多了切到 看板,按「运行中 / 待确认 / 待验收 / 已完成·失败」分列处理:先清「待确认」,再逐个过「待验收」。长时间没有输出的任务会提示 疑似卡住,不用再盯着最后一行猜。

图2:看板(示例数据):运行中 1 条(Codex 任务显示「36:48 · 疑似卡住 · 1m 无输出」)、待确认 1 条(OpenCode「等待你确认」)、待验收 2 条(Claude、pi)、已完成 / 失败 2 条。
也可以用 分屏(左右 / 上下 / 四屏)把几个任务并排看。
2. 待确认集中处理:授权不再藏在某个窗口里
新建任务的默认权限是 请求批准:Agent 可以直接改文件,运行命令等操作会先问你,这时任务变成 待确认。点开看清它要做什么,同意就点请求卡片上的允许选项或右上角 确认;不同意就拒绝,或在输入框告诉它换个做法。(具体执行方式取决于所选 Agent 的支持情况。)
3. 待验收是一道门:看 Diff,再决定合并还是放弃
任务做完进入 待验收。先读 Agent 的总结,再点标题下方的分支按钮(例如 main +2)→ 查看 Diff,逐个文件看红删绿增。在 隔离副本 运行方式下,右上角是 通过并合并 和 放弃改动;大体可以但要微调,就直接在输入框继续说。

图3:待验收任务(示例数据):「为任务列表添加快捷搜索」由 Claude 完成,对话区先列计划,再说明改动和验证结果;标题下方「main +2」是改动入口,右上角是「放弃改动」和「通过并合并」。
三种运行方式决定 Agent 在哪改、验收时有哪些按钮:
| 运行方式 | Agent 在哪改 | 验收时 |
|---|---|---|
| 工作区(默认) | 直接改项目文件夹,适合小改 | 改动已写入项目,只有 完成 |
| 隔离副本 | 项目的一份临时副本 | 通过并合并 回项目,或 放弃改动 |
| 独立分支 | 从 main/master 新建分支的副本 | 在分支上提交推送,不自动合并 |
隔离副本和独立分支需要项目是 Git 仓库。
4. 终端没被没收:随时回到命令行
任务标题栏的 更多操作(⋯) 里有 终端接管,可以直接进 CLI 接着这个会话干;以前在终端里和 Agent 聊过的会话,也可以用 同步 导入任务库。习惯命令行的人不用二选一。(Antigravity 目前不支持终端接管。)
单终端、多终端手动管理、Caravel,怎么选?
直答:1 个任务用单终端;2–3 个用多终端 + worktree + 状态表;经常 3 个以上、还混用不同 Agent,再让工作台替你记状态。
| 单终端 | 多终端 + worktree + 状态表 | Caravel | |
|---|---|---|---|
| 适合任务数 | 1 个 | 2–3 个 | 经常 3 个以上 |
| 并行隔离 | 不需要 | claude --worktree(官方)/ git worktree |
隔离副本 / 独立分支(可选) |
| 谁在等你 | 一眼可见 | 看状态表或靠通知 | 「待确认」状态 + 托盘计数 |
| 做完了没 | 看最后几行 | 状态表「等我验收」 | 「待验收」+ Diff + 合并 / 放弃 |
| 卡住判断 | 自己看 | 自己看 | 「疑似卡住」提示 |
| 会话找回 | CLI 恢复命令 | 同左,要自己对应任务 | 任务里还在;可同步已有会话 |
| 多厂商 | 一个窗口一个 CLI | 同左 | 7 种 Agent 在同一列表 |
| 回到终端 | — | — | 终端接管 |
如果你已经确定想要「多任务图形界面」,这类工具其实不少,很多都做每任务隔离 + Diff 审查。Caravel 的不同主要在:任务旁的数据库、定时器、带检查点的工作流、复盘台放在一处;三档运行方式(小改直接在工作区);中文界面与中文手册;支持 Windows;不需要 GitHub 账号。
常见问答
- Caravel 要付费吗? 本身免费使用;Agent 背后的模型由各厂商收费,用你自己的订阅或 API 账号。
- 支持哪些系统? macOS(Apple Silicon / Intel)和 Windows x64。Windows 请在 Releases 里找带
x64-setup.exe的版本。 - 用了 Caravel,Claude Code 的
--worktree还用得上吗? 用得上。命令行里单独开的 worktree 会话照常工作,Caravel 只是多了一种在界面里开隔离副本的方式。 - 它自带模型吗? 不带,管理的是你电脑上已安装并登录的 Agent。
- 同时开几个合适? 取决于你能认真验收几个,界面只是让你少漏看,验收速度仍然由你决定。
边界说明
- 文中
claude --worktree、.worktreeinclude、hooks、Codex 通知配置等第三方 CLI 能力以当前版本文档为准。 - worktree / 隔离副本只隔离文件改动,不隔离数据库、端口等运行环境。
- 权限确认(请求批准)不等于完整的安全沙箱,Agent 执行的是你电脑上的真实命令。
- 默认的「工作区」运行方式直接改项目文件;想先看后合,要开隔离副本,且项目必须是 Git 仓库;独立分支不自动合并。
- 「疑似卡住」只是基于无输出时长的提示,不代表任务一定失败。
- 安装包暂未使用 Apple / 微软开发者签名,第一次打开需要手动放行;请只从 GitHub Releases 获取。
- 平台只有 macOS 与 Windows x64。
想试试的话
- 先看 GitHub 主页的界面截图和安装说明:https://github.com/yy36295238/caravel-agent
- 想了解完整功能,看功能介绍:https://github.com/yy36295238/caravel-agent/blob/main/docs/product-overview.md
- 到 Releases 下载:https://github.com/yy36295238/caravel-agent/releases (macOS 用
.dmg;Windows 用 Releases 里带x64-setup.exe的版本),把你正在多开的两三个任务搬进去,看一眼列表上的状态。
本文展示的界面来自 Caravel(免费使用,macOS / Windows)。完整功能见 功能介绍,安装包在 Releases。

浙公网安备 33010602011771号