Agent view 通过Documentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
claude agents 打开,是所有后台会话的一个屏幕:什么正在运行、什么需要你的输入、什么已完成。调度新会话,一目了然地查看它们的状态而不是滚动浏览记录,只在需要时才介入。会话在没有终端连接的情况下继续在后台运行。
当你有多个独立任务 Claude 可以同时处理时,使用 agent view,例如修复 bug、审查拉取请求或调查日志。当你想一起解决问题时,附加到一个会话并像往常一样交互式地使用 Claude Code。会话在 agent view 中独立运行,仅向你报告。要与 subagents、agent teams 和 worktrees 进行比较,请参阅 并行运行代理。
Agent view 是研究预览版,需要 Claude Code v2.1.139 或更高版本。使用
claude --version 检查你的版本。随着功能的发展,界面和快捷键可能会改变,管理员可以通过 disableAgentView 托管设置为组织禁用 agent view。- 快速开始
- 使用 agent view 监控会话,包括状态图标、窥视和回复、附加、组织和快捷键
- 调度新代理,从 agent view、从会话内部或从 shell
- 从 shell 管理会话
- 后台会话如何被托管,由监督进程
快速开始
本演练打开 agent view、调度一个会话、从窥视面板回复,以及附加到完整对话。调度一个会话
在输入框中输入提示并按
Enter。一个新会话启动并显示为一行,显示它是否正在工作、等待你或已完成。重复以并行运行多个会话。每个会话独立使用你的订阅配额,所以在一次调度多个会话之前,请查看限制。/bg,或在空提示上按 ← 以后台会话并在一步中打开 agent view。会话继续在后台运行并显示为一行。要直接从 shell 启动新的后台会话,运行 claude --bg "<prompt>"。
你可以使用 claude agents 作为你的主要入口点而不是 claude:从 agent view 调度每个任务,当你想要完整对话时附加,按 ← 返回表格。
使用 agent view 监控会话
运行claude agents 打开 agent view。它接管整个终端并列出按状态分组的每个会话,固定的会话和需要你的会话在顶部。每行显示会话的名称、当前活动和上次更改的时间。
该列表涵盖你的 配置目录 下的每个后台会话,无论它在哪个项目或 worktree 中工作,因此在一个存储库中启动的会话和在不同 worktree 中启动的另一个会话都一起出现。你在其他终端中打开的交互式会话不会出现,直到你 后台它们,subagents 在会话内运行不会列为单独的行。
| 指示器 | 状态 | 含义 |
|---|---|---|
| 动画 | 工作中 | Claude 正在积极运行工具或生成响应 |
| 黄色 | 需要输入 | Claude 等待你的输入,通常是权限决定或答案 |
| 暗淡 | 空闲 | 会话等待输入但不被特定问题阻止 |
| 绿色 | 已完成 | 任务成功完成 |
| 红色 | 失败 | 任务以错误结束 |
| 灰色 | 已停止 | 会话被 Ctrl+X 或 claude stop 停止 |
✻ 或动画 ✽(当 Claude 工作时)意味着会话是活跃的,你可以立即回复。∙ 意味着进程已退出,但你仍然可以窥视、回复或附加:Claude 从中断处重新启动会话。✢ 是一个 /loop 会话在迭代之间休眠,行显示其运行计数和下一次迭代的倒计时。
后台会话不需要任何打开的终端来继续工作。一个单独的 监督进程 运行它们,所以你可以关闭 agent view、关闭你的 shell 或启动一个新的交互式会话,你的调度工作继续进行。
会话在磁盘上持久化:关闭你的终端或自动更新不会丢失它们,重新打开 claude agents 显示它们全部。如果你的机器休眠或关闭,运行中的会话停止;用 claude respawn --all 重新启动它们。
每行中的单行摘要由你配置的 Haiku-class 模型 生成,所以行可以告诉你会话正在做什么、需要什么或生成了什么,无需打开记录。当会话正在积极工作时,摘要最多每 15 秒刷新一次,加上每个回合结束时刷新一次。每次刷新是通过你的正常提供商的一个短 Haiku-class 请求,按与会话本身相同的 数据使用条款 计费和处理。
当会话打开拉取请求时,状态点出现在行的右边缘,在支持超链接的终端中链接到拉取请求。当会话打开了多个拉取请求时,计数出现在点之前,颜色反映最需要关注的那个。
| 点的颜色 | 拉取请求状态 |
|---|---|
| 黄色 | 等待检查或审查,或检查失败 |
| 绿色 | 检查通过且没有审查阻止 |
| 紫色 | 已合并 |
| 灰色 | 草稿或已关闭 |
窥视和回复
在选定的行上按Space 打开窥视面板。它显示会话需要什么、其最近的输出和它打开的任何拉取请求。大多数时候这就足够了,你永远不需要打开完整的记录。
在窥视面板中输入回复并按 Enter 将其发送到该会话。当会话提出多选问题时,窥视面板显示选项,你可以按数字键选择一个。对于其他被阻止的会话,按 Tab 用建议的回复填充输入,你可以在发送前编辑。用 ! 前缀回复以发送 Bash 命令。
使用 ↑ 和 ↓ 窥视相邻会话而不关闭面板,或 → 附加。
附加到会话
在选定的行上按Enter 或 → 附加,或按 Alt+1 到 Alt+9 直接附加到焦点组中的第 N 个会话。Agent view 被完整的交互式会话替换,就像你在该目录中运行了 claude 一样。当你附加时,Claude 发布一个关于你离开时发生的事情的简短回顾。
附加时,会话的行为像任何其他 Claude Code 会话:每个 命令、快捷键和功能都有效。
在空提示上按 ← 分离并返回 agent view。如果对话有焦点且不响应 ←,按 Ctrl+Z 立即分离。
分离永远不会停止后台会话:←、Ctrl+C、Ctrl+D、Ctrl+Z 和 /exit 都让它运行。要从内部结束会话,运行 /stop。
一旦你调度或后台了会话,在空提示上按 ← 从任何 Claude Code 会话工作,不仅仅是你从 agent view 附加的会话。它后台当前会话并打开 agent view,该会话预选,所以你可以在不离开终端的情况下切换会话。你可以在 /config 中关闭此快捷键。
组织列表
Agent view 按状态分组会话,需要输入的会话在工作或完成的会话上方。按Ctrl+S 改为按目录分组。你的选择在运行中保存。在一个组内,用 Ctrl+T 将会话固定到顶部,用 Shift+↑ 和 Shift+↓ 重新排序,或在组标题上按 Enter 折叠它。要删除会话,按 Ctrl+X 停止它,在两秒内再按 Ctrl+X 删除它。在组标题上按 Ctrl+X 在确认后删除该组中的每个会话。
较旧的已完成会话折叠成”… N more”行以保持列表简短。失败和有打开拉取请求的会话始终保持可见。
过滤列表
在调度输入中输入以过滤而不是调度:| 过滤 | 显示 |
|---|---|
a:<name> | 运行命名代理的会话 |
s:<state> | 给定状态的会话,例如 s:blocked 用于需要你的会话 |
#<number> 或 PR URL | 处理该拉取请求的会话 |
快捷键
在 agent view 中按? 查看每个快捷键。最常见的:
| 快捷键 | 操作 |
|---|---|
↑ / ↓ | 在行之间移动 |
Enter | 附加到选定的会话,或如果输入中有文本则调度 |
Space | 打开或关闭选定会话的窥视面板 |
Shift+Enter | 调度并立即附加 |
→ | 附加到选定的会话 |
Alt+1..Alt+9 | 附加到焦点组中的第 N 个会话 |
Tab | 浏览所有 subagents,或应用突出显示的建议 |
Ctrl+S | 在状态和目录之间切换分组 |
Ctrl+T | 固定或取消固定选定的会话 |
Ctrl+R | 重命名选定的会话 |
Ctrl+G | 在你的 $EDITOR 中打开调度提示 |
Ctrl+X | 停止会话;在两秒内再按一次删除它 |
Shift+↑ / Shift+↓ | 重新排序选定的会话 |
Esc | 关闭窥视面板、清除输入或退出 |
Ctrl+C | 清除输入;按两次退出 |
? | 显示所有快捷键 |
调度新代理
你可以从 agent view 调度新的后台会话、将现有的交互式会话发送到后台,或直接从 shell 启动一个。从 agent view
在 agent view 底部的输入框中输入提示并按Enter 启动新的后台会话。会话从提示自动命名。你可以稍后用 Ctrl+R 重命名它。将图像粘贴到提示中以包含任务的屏幕截图或图表。
前缀或提及提示的部分以控制会话如何启动:
输入
/ 调度一个 skill。将重复任务打包为 skill 让你从 agent view 多次启动相同的工作流而无需重新输入提示。在空输入上按 Tab 浏览每个可调度的 subagent,或在显示建议时应用突出显示的建议。
当相同的 @name 同时匹配 subagent 和同级存储库时,subagent 优先。不带 @ 的首字形式也适用于任何 subagent 名称,所以以匹配你的某个 subagent 名称的单词开头的提示会调度该 subagent。当你想要明确指定时,使用 @ 形式。
调度到特定目录
新会话在你打开 agent view 的目录中运行。要针对不同的目录:- 在该目录中打开
claude agents。 - 在保存多个存储库的父目录中打开
claude agents,并在提示中用@<repo>提及一个以在那里运行会话。 - 从 shell,
cd进入目录并运行claude --bg "<prompt>"。
从会话内部
运行/background 或其别名 /bg 分离当前对话并保持其运行。传递提示如 /bg run the test suite and fix any failures 在分离前发送一个更多指令。
从 shell
传递--bg 启动直接进入后台的会话:
--bg 和 --agent:
文件编辑如何隔离
每个后台会话,无论是从 agent view、/bg 还是 claude --bg 启动,都在你的工作目录中启动,但被阻止在那里写入文件。当会话需要编辑文件时,Claude 自动将其移动到 .claude/worktrees/ 下的隔离 git worktree 中,所以并行会话可以读取相同的检出但每个都写入自己的。当会话已经在 worktree 内、工作目录不是 git 存储库或写入工作目录外时,该块不适用。
当你删除会话时,worktree 被删除,所以在删除前合并或推送你想保留的更改。要找到会话的 worktree 路径,查看会话或附加并检查其工作目录。
要使 subagent 始终在其自己的 worktree 中运行,无论如何启动,在其 frontmatter 中设置 isolation: worktree。
权限模式和设置
调度的会话从它运行的目录读取其 settings 和 permission mode,就像你在那里启动了claude 一样。从 agent view 输入调度不传递权限模式,所以会话使用该目录设置中的 defaultMode 或调度的 subagent 的 frontmatter 中的 permissionMode。
要从 shell 设置模式,用 claude --bg 传递 --permission-mode。以这种方式使用 bypassPermissions 或 auto 被拒绝,直到你通过交互式运行 claude 一次接受该模式,因为这些模式让你没有看到的会话无需批准就能行动。
从 shell 管理会话
每个后台会话有一个短 ID,你可以从 shell 使用。这些命令对于脚本编写或当你不想打开 agent view 时很有用。| 命令 | 目的 |
|---|---|
claude agents | 打开 agent view |
claude attach <id> | 在此终端附加到会话 |
claude logs <id> | 打印会话的最近输出 |
claude stop <id> | 停止会话。也接受 claude kill |
claude respawn <id> | 重新启动已停止的会话,保持其对话完整 |
claude respawn --all | 重新启动每个已停止的会话 |
claude rm <id> | 从列表中删除会话 |
后台会话如何被托管
后台会话由每用户监督进程托管,与你的终端和 agent view 分离。它在你第一次后台会话或打开 agent view 时自动启动,你不直接管理它。监督进程及其会话使用与你的交互式会话相同的凭证进行身份验证,并且除了模型 API 外不进行额外的网络连接。 每个后台会话是其自己的 Claude Code 进程,父进程是监督进程而不是你的终端。积极工作、等待你的输入或有终端连接的会话保持其进程运行。一旦会话完成并未连接地坐了大约一小时,监督进程停止其进程以释放资源。记录和状态保留在磁盘上,下次你附加、窥视或回复时,监督进程从中断处启动一个新进程。当每个会话都完成且没有终端连接时,监督进程本身退出,下次你后台会话或打开 agent view 时再次启动。 监督进程监视磁盘上安装的 Claude Code 二进制文件,在常规 自动更新程序 替换它后重新启动到新版本。这是本地文件监视,不是网络检查。后台会话是分离的进程,所以它们在重新启动期间继续运行,新的监督进程重新连接到它们。 会话状态存储在你的 Claude Code 配置目录下。如果你设置CLAUDE_CONFIG_DIR,监督进程使用该目录而不是 ~/.claude 并作为单独的实例运行,具有其自己的会话。
| 路径 | 内容 |
|---|---|
~/.claude/daemon.log | 监督进程日志 |
~/.claude/daemon/roster.json | 运行中的后台会话列表,用于在重新启动后重新连接 |
~/.claude/jobs/<id>/state.json | 在 agent view 中显示的每会话状态 |
disableAgentView 设置 设为 true 或设置 CLAUDE_CODE_DISABLE_AGENT_VIEW 环境变量。管理员可以通过 托管设置 强制执行这个。
故障排除
Agent view 打开时没有会话
Agent view 为空,直到你调度你的第一个会话。在底部的输入框中输入提示并按Enter。
机器唤醒后会话显示为已停止
后台会话不能存活睡眠或关闭。附加、窥视或回复任何已停止的会话,它从中断处重新启动。要一次重新启动所有会话,运行claude respawn --all。
附加后会话响应缓慢
一旦会话完成并未连接地坐了大约一小时,监督进程停止其进程以释放资源。附加启动一个从中断处的新进程,这需要一点时间。工作或等待你的会话永远不会以这种方式停止。.claude/worktrees/ 填满了
Worktrees 在你删除创建它们的会话时删除。如果会话结束而没有清理,在项目目录中用 git worktree list 列出剩余条目,并用 git worktree remove <path> 删除每个。参见 清理 worktrees。
限制
Agent view 是研究预览版。要注意的当前限制:- 速率限制适用:后台会话像交互式会话一样消耗你的订阅使用,所以并行运行十个代理使用配额快十倍。
- 会话是本地的:后台会话在你的机器上运行,如果它睡眠或关闭则停止。
- Worktrees 随会话删除:在删除在其自己的 worktree 中编辑文件的会话前合并或推送更改。
后续步骤
现在你理解了 agent view,探索这些相关功能:- 在并行中运行代理:比较 agent view 与 subagents、agent teams 和 worktrees
- Subagents:定义具有自定义提示、工具和隔离的可重用代理配置
- Agent teams:协调相互发送消息的多个会话
- Claude Code on the web:在托管的云环境中运行会话而不是本地