Skip to content

Agents 与会话 ​

状态圆点、重启小标签(chip),以及一个 agent 会话的生命周期。

一个 agent 会话 是指在一个 worktree 的一个终端里运行的一个 CLI agent。DevAgent 会追踪它的生命周期,因此你始终知道哪些会话在工作、哪些空闲——无需逐个点进每个 标签页 去查看。

状态指示器 ​

Agent 标签页 和 worktree 行使用共享的状态图标:

  • 转圈(Spinner) —— 工作中
  • 琥珀色问号 —— 在等你(权限 / 需要输入);侧边栏的 "Needs You" 计数使用同一图标
  • 翠绿色对勾(仪表盘)或 翠绿色圆点(侧边栏)—— 完成 / 安静但活跃
  • 红色圆点 —— 被阻塞、被中断,或失败
  • 灰色圆点 —— 空闲
  • 无指示器 —— 普通 shell,不是可识别的 agent CLI

状态是从终端的 OSC 标题序列和 agent hook 检测得出的,Claude Code、Codex 以及其他几种 agent 都会发出它们。

Agent 仪表盘 ​

开启 设置 → 实验 → Agent Dashboard。DevAgent 会在左侧边栏添加一个 Agent Dashboard 条目:一个横跨各 worktree 的 agent 看板,外加一个可选的 Agent Map 视图。

列 ​

  • Needs You —— 在等待某个权限或问题
  • Working —— 正在运行
  • Done —— 已完成、但你可能仍想审查的会话
  • Idle —— 大约 30 分钟未报告完成的安静 agent。在看板上默认隐藏;请从仪表盘(窗口内或弹出面板上的)board settings 控件(齿轮)启用 Show idle agents——而不是从全局的 Experimental 设置。窗口内和弹出面板保持同步。

视图 ​

使用标题栏的切换在 Dashboard(看板列)和 Agent Map(实验性的拓扑视图)之间切换:

  • worktree 嵌套在项目下;agent 位于其 worktree 环(ring)上,在 DevAgent 知道父/子工作区时还包括谱系关系。当一次派发仍在进行或最近才结束时,编排的父 → 子边会绘制在各 agent 卡片之间(同一 worktree 或跨 worktree)。
  • Map 状态与看板一致:需要关注(needs you)、工作中、完成和空闲。打开一个 agent 会将一个已完成的会话标记为已查看,使其可以从绿色 Done 移向灰色 Idle。
  • 仅 Map 的过滤器可以按主机类型(本地 / SSH / WSL / 远端)收窄范围,并可选地显示无 agent 的工作区。在 Filter → Map content 下,切换 Orchestration links(默认开启)可在不移除 agent 节点的情况下隐藏或显示那些边;隐藏会计入过滤器徽标,而 Clear all filters 会重新开启这些连线。
  • 在窗口内 map 中右键点击某个 worktree 环,可获得与侧边栏相同的工作区上下文菜单(本地、SSH、文件夹和远端主机)。弹出式 map 的工作区菜单保持受限,因为那个窗口并不拥有主侧边栏的 store。

打开方式 ​

在侧边栏旁的窗口内(In-window)看板,或在独立窗口中的弹出(Pop-out)。

搜索与过滤 ​

看板工具栏包含:

  • Search —— worktree、项目或 agent 名称(当有查询或过滤器激活时会显示结果计数)
  • Filter —— 多选 Project、Workspace status 和 PR / MR status(Open、Draft、Merged、Closed、No review)
  • 可移除的过滤器小标签以及 Clear all filters

卡片 ​

  • 头部(Header) —— agent 图标、会话的对话名称(重命名后的、生成的标题、AI Vault / agent 会话标题,或回退为 worktree 名称)、状态图标
  • 预览(Preview) —— 有可用内容时显示最后一条用户 / agent 消息;否则显示任务摘要
  • 底部(Footer) —— 项目图标、worktree 名称(当头部已显示会话名称时)以及时长;有缓存的审查状态时一并显示。工作区状态仅保留在工具栏过滤器中——卡片不再显示每个 worktree 的状态圆点。
  • Needs You 卡片染为琥珀色(并可显示待处理的问题摘要);Done 卡片染为绿色;其他状态保持中性,因此染色意味着"看这里"
  • 点击一张卡片可打开/聚焦该 agent 的实时终端
  • 嵌套的 Codex/Claude 子 agent 可以作为可展开的子项出现在父行下

当实验性看板关闭时,worktree 卡片仍会用同样的图标内联显示 agent 行。如果你看不到状态指示器,说明该会话中的 agent CLI 不是 DevAgent 能识别的——请通过 agent 下拉选择框来启动它,而不要手动敲入二进制文件名。

启动默认值 ​

DevAgent 会为每个受支持的 agent 预先应用其完全自治的权限标志来启动——Claude 用 --dangerously-skip-permissions,Codex 用 --dangerously-bypass-approvals-and-sandbox,Gemini 用 --yolo,选择器中其他每个 agent 也用对应的标志。其用意是让 worktree 本身成为沙盒:agent 可以自由行事,而不会因每个工具的审批提示打断心流。

如果你想为某个 agent 设置不同的默认值,打开 设置 → 智能体,展开该 agent 的行,并编辑其 launch arguments(启动参数)——DevAgent 会记住这个覆盖设置,并在之后每次启动时应用它。该字段旁边有一个 Reset 按钮,如果你想还原,可以把出厂标志放回去。

重启小标签(Restart chip) ​

当一个 agent 退出时(正常退出或崩溃),该 标签页 会显示一个 Restart 小标签。一次点击即可用相同的工作目录重新激活同一个 agent。Codex 的重启小标签还会保留当前账户(参见 热切换 Codex 账户)。

会话生命周期 ​

  1. 启动(Launch) —— 从下拉选择框中选择一个 agent;DevAgent 派生该 CLI。
  2. 工作(Work) —— OSC 标题更新状态;终端输出随滚动而显示,支持搜索、复制和 Ghostty 主题。
  3. 空闲(Idle) —— DevAgent 检测到从工作到空闲的转变,并触发一条 agent 完成通知。
  4. 退出(Exit) —— 进程结束;Restart 小标签出现。

关于确切的检测规则,请参见 DevAgent CLI 中的 terminal wait --for tui-idle 命令。

DevAgent 桌面客户端文档