ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

1个终端指挥多个Agents!Claude Code Agents View 多任务并行配置详解

1个终端指挥多个Agents!Claude Code Agents View 多任务并行配置详解 1. 一个终端里同时跑五个 Claude Code 会话我是怎么把 Agents View 用顺手的Claude Code 从 v2.1.139 开始带了一个叫 Agents View 的东西说白了就是给 Claude Code 配了一个「多会话管理面板」。以前你想让 Claude 一边查数据库性能、一边修测试、一边写文档只能开三四个终端窗口来回切切到最后自己都忘了哪个窗口在干嘛。Agents View 把这件事收进了一个全屏 TUI一个终端里列出所有后台会话谁在干活、谁卡在等你审批、谁已经跑完一眼扫过去就知道。它适合谁适合那种手上同时压着好几条线的人一个会话在跑重构一个在补单测一个在查线上日志还有一个在写迁移脚本。你不需要盯着每一个只需要在面板里扫一眼状态需要拍板的时候进去回一句剩下的交给后台的 supervisor 进程。这篇就把配置片段、worktree 目录结构、启动/切换/回收的完整步骤拆开讲照着做就能搭起自己的多任务并行工作流。核心检索词先摆在这Claude Code Agents View 多任务并行配置本质是「一个 supervisor 进程 多个后台会话 git worktree 隔离」的组合。理解这三层后面所有命令都是顺理成章。2. 前置准备TaoToken 接入 Claude Code 与 supervisor 进程的关系在讲 Agents View 之前得先把 Claude Code 的模型接入理顺否则后台会话跑起来会因为鉴权失败直接进 Failed 状态你在面板里看到的全是红色排查起来很浪费时间。我这边统一用 TaoToken 做接入层官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 注意 API 地址不带任何查询参数。Claude Code 读取的是环境变量最稳的做法是写进 shell 配置里而不是每次手动 export。下面这段可以直接复制到~/.zshrc或~/.bashrc# Claude Code 接入配置 export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_AUTH_TOKENsk-你的TaoToken密钥 export ANTHROPIC_MODELclaude-sonnet-4-5-20250929三件套要记牢Base URL 填https://taotoken.net/apiKey 填你在控制台生成的令牌Model ID 填具体模型名。这三个值缺一个Claude Code 启动时就会报鉴权或模型不存在的错。密钥在控制台的 API Keys 页面生成地址是 https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 生成后只显示一次记得存好。改完配置执行source ~/.zshrc然后跑一句claude --version确认 CLI 本身可用。版本必须 ≥ v2.1.139低于这个版本没有 Agents View 子命令输入claude agents会提示未知命令。升级用npm install -g anthropic-ai/claude-codelatest就行。接下来理解 supervisor。Agents View 的后台会话不是挂在你当前终端上的子进程而是由一个独立的 supervisor 进程托管。这个进程在你第一次执行后台会话、或者第一次打开 Agents View 时自动拉起。它的意义在于你关掉终端会话继续跑你关掉 Agents View 去开一个普通交互会话后台的活不停Claude Code 自动更新后supervisor 检测到新版本会重启并接上正在跑的会话。会话状态落盘在 Claude Code 的配置目录下路径和内容对应关系如下路径内容~/.claude/daemon.logsupervisor 运行日志排查启动失败先看这里~/.claude/daemon/roster.json活跃后台会话列表记录每个会话的短 ID 与状态~/.claude/jobs/id/state.json单个会话的详细状态文件包含断点信息这里有个容易踩的坑如果你在容器或 CI 环境里跑~/.claude目录可能没有写权限supervisor 起不来claude agents会一直卡在初始化。解决办法是提前mkdir -p ~/.claude/daemon ~/.claude/jobs并确认当前用户可写。另外 supervisor 是单实例的同一台机器上多个终端共享同一个 supervisor所以你在 A 终端派发的后台会话在 B 终端打开 Agents View 也能看到这点和「每个终端一个会话」的旧模式完全不同。3. 可复制配置Agents View 设置片段与 git worktree 目录结构这一节给的是能直接落地的配置。Claude Code 的全局设置放在~/.claude/settings.jsonAgents View 相关的开关也在这里。下面这份 JSON 是我实测下来比较稳的组合路径和字段名保持原样你可以整段覆盖或按需合并{ agents: { enabled: true, maxConcurrent: 5, worktree: { enabled: true, baseDir: .claude/worktrees, autoCleanup: true }, supervisor: { idleTimeoutMinutes: 60, respawnOnUpdate: true } }, permissions: { allowBashCommands: true } }逐项解释一下。maxConcurrent控制同时活跃的后台会话上限我设成 5因为再多 token 消耗会明显加快而且面板一屏也放不下。worktree.enabled打开写隔离后台会话需要改文件时会自动切到一个独立 worktree路径在仓库根目录的.claude/worktrees/下面。idleTimeoutMinutes是空闲回收时间会话跑完没人管大约一小时后 supervisor 会停掉进程省资源但状态保留在磁盘上下次 attach 或 peek 时从断点恢复。respawnOnUpdate让 supervisor 在 Claude Code 自动更新后自动接上正在跑的会话。worktree 的目录结构长这样每个会话一个独立目录互不干扰your-repo/ ├── .claude/ │ ├── worktrees/ │ │ ├── agent-a1b2c3/ # 会话 1 的隔离工作区 │ │ │ ├── .git # 指向主仓库的 worktree 引用 │ │ │ └── src/ │ │ └── agent-d4e5f6/ # 会话 2 的隔离工作区 │ │ ├── .git │ │ └── src/ │ └── settings.json ├── src/ └── package.json如果你对 git worktree 不熟可以把它理解成「同一个仓库的多个平行副本」每个副本有自己的工作目录和分支但共享同一份.git对象库所以创建成本很低。Claude Code 在后台会话要写文件时自动帮你建这个副本你不需要手动git worktree add。但有一点必须记住删除会话时 worktree 会一起删掉所以有用的改动一定要先 merge 或 push否则就跟着没了。配置改完不需要重启什么服务下次打开 Agents View 时生效。如果你想让某个项目单独覆盖全局设置可以在项目根目录放一份.claude/settings.json字段结构一样就近原则优先。4. 启动、切换、回收完整验证步骤与成功结果配置就绪后跑一条命令进入面板claude agents终端会变成一个全屏管理面板。如果这是你第一次用面板是空的底部有输入框。把会话送进 Agents View 有三种方式我按使用频率排一下。第一种从已有会话送入后台。你正在用 Claude Code 干活突然想让它后台跑着输入/bg或者在空行按一下左方向键当前会话就进后台同时打开 Agents View。会话不会停继续在后台跑。第二种直接从命令行启动后台会话claude --bg 调查 SettingsChangeDetector 测试为什么偶尔失败这条命令启动一个新会话并在后台运行你可以继续在终端里干别的。启动后 Claude 会告诉你这个会话的短 ID 和管理命令记下短 ID后面 attach 和 stop 都要用。第三种从 Agents View 内部直接派活。在面板底部输入框里打字回车就派出去一个新的后台会话。我现在的习惯是直接把claude agents当成启动 Claude Code 的主入口所有任务都从面板派发想深入哪个就 attach 进去按左方向键退出来。面板里每行代表一个后台会话按状态分组。状态对照如下图标状态含义旋转动画 WorkingClaude 正在干活黄色 Needs input等你回复或审批权限暗淡 Idle在等输入但没被特定问题卡住绿色 Completed任务完成红色 Failed出错了灰色 Stopped被手动停了进程是否还活着看形状✻或旋转中的✽表示还活着可以直接回复∙表示进程已退出但状态还在attach 或 reply 时会自动从断点恢复✢是/loop会话在两轮之间睡觉。切换会话用 peek 和 attach。按空格选中某一行下方出现预览面板显示这个会话当前需要你做什么、最近输出、有没有开 PR。大多数时候 peek 就够用了它问你问题你直接打字回复回车发送多选题按数字键选不知道回啥按 Tab 让它给个建议回复你改改再发。上下方向键在相邻会话之间切换 peek不用关了再开。前缀加!可以直接发 Bash 命令比如!git status。按回车或右方向键进入选中的会话终端变成那个会话的完整交互界面跟你直接在那个目录下跑 claude 一模一样。attach 进去时 Claude 会给一个简短 recap告诉你它在你不在的时候干了什么。退出是在空行按左方向键detach 回 Agents View会话继续跑。要彻底停掉一个会话用/stop或双击 ESC。还有个快捷方式Alt1到Alt9直接 attach 到当前组第 N 个会话。回收会话用命令行更利索claude logs id # 看某个会话最近的输出 claude stop id # 停掉某个会话 claude respawn id # 重启一个已停止的会话 claude respawn --all # 重启所有已停止的会话 claude rm id # 从列表中移除验证成功的标志面板里出现至少一个绿色 Completed 会话~/.claude/daemon/roster.json里能看到对应短 IDclaude logs id能打印出完整输出。到这一步多任务并行工作流就算搭起来了。5. 常见报错排查401、local proxy failed、reading choices 与 OAuth后台会话跑起来后最容易撞的是鉴权类错误。下面按真实报错对照排查。401 Unauthorized / invalid api key。这是 Base URL 或 Key 没配对。先确认ANTHROPIC_BASE_URL是https://taotoken.net/api注意结尾不要多加/v1也不要带查询参数。再确认ANTHROPIC_AUTH_TOKEN是控制台生成的完整令牌没有多余空格。改完环境变量后必须新开一个终端因为 supervisor 继承的是启动时的环境旧终端里改的变量对已经在跑的 supervisor 不生效。最彻底的办法是claude stop --all停掉所有会话杀掉 supervisor 进程再重新claude agents。local proxy failed / connection refused。这个报错通常出现在你本地配了某个转发工具但没启动或者端口被占用。Claude Code 会优先读环境变量里的代理设置如果你之前设过HTTP_PROXY或HTTPS_PROXY先unset掉再试。命令是unset HTTP_PROXY HTTPS_PROXY http_proxy https_proxy然后重新打开 Agents View。reading choices / unexpected token in JSON。这个多半是模型返回格式和 CLI 预期不一致常见于 Model ID 填错。确认ANTHROPIC_MODEL是完整模型名比如claude-sonnet-4-5-20250929不要简写成sonnet。如果换了模型还是报用claude logs id看具体是哪个会话出的错单独claude respawn id重试。OAuth 相关报错 / authentication failed。如果你之前用官方账号登录过~/.claude下可能残留旧的凭据文件和现在的 Token 鉴权冲突。清理方式是删掉~/.claude/credentials.json如果存在只保留环境变量鉴权。注意不要删整个~/.claude目录否则会话状态和 worktree 记录一起没了。worktree 创建失败 / permission denied。检查仓库根目录是否可写.claude/worktrees/是否被.gitignore排除导致 git 拒绝创建。建议在.gitignore里加一行.claude/worktrees/避免 worktree 内容被误提交。会话一直卡在 Working 不动。先claude logs id看最后几行输出如果是等权限审批面板里会显示黄色 Needs input进去回一句就行。如果是真的卡死claude stop id再claude respawn id状态会从磁盘断点恢复。排查顺序建议固定成先看~/.claude/daemon.log确认 supervisor 是否正常再看roster.json确认会话是否注册最后claude logs id看单会话输出。三层从外到内基本能定位到问题在哪一层。6. 把 Agents View 当成日常入口之后的一些实际经验用了一段时间几个真实感受值得说。开一堆后台会话会成倍放大 token 消耗maxConcurrent别贪多5 个已经够覆盖大多数并行场景。后台会话跑在你自己机器上电脑休眠或关机会停掉唤醒后用claude respawn --all恢复这个命令我几乎每天都会敲一次。删除会话会连带删除 worktree有用的改动务必先合并我踩过一次坑一个跑了四十分钟的重构会话被误删worktree 跟着没了只能重跑。如果你打算长期用多 Agent 并行做编码和 Agent 任务Coding Plan 会比按量更划算入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。想先验证模型对话效果可以用模型对话页面 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 快速试一句。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 遇到配置字段不确定时对着查最快。最后留一个我常用的启动习惯早上开工先claude agents在底部输入框一次性派三到四个任务然后按Alt1进第一个会话看 recap处理完按左方向键退回面板再Alt2进下一个。整个上午不用碰鼠标也不用在终端窗口之间找哪个是哪个。这套流程跑顺之后一个终端指挥多个 Agents 就不再是概念而是每天真实的工作方式。
返回列表