agent-center 的浏览器操作界面 -- 嵌入 server 单一二进制,loopback-only 访问。覆盖界面总览、任务与议题、Plan 编排、消息、Input Request 和 Work Board。
Web Console 采用三栏式布局(v2.8.1 redesign),由左到右:
| 栏 | 位置 | 内容 |
|---|---|---|
| Module Rail(侧边栏) | 左侧固定 | 组织切换器、页面导航(Channels / DMs / Tasks / Issues / Plans / Fleet / Agents / Secrets / Settings)、Command Palette 触发(Cmd+K)、主题切换、SSE 状态指示、用户信息 |
| List / Detail(主区域) | 中央 | 当前页面的列表视图或详情视图 -- 如 Channel 列表、Task 详情 timeline、Plan DAG 图等 |
| Context Sidebar(上下文面板) | 右侧可选 | 选中实体的元数据摘要(如 Task 状态 / 分配人 / 关联 issue / execution trace)、参与者列表、conversation sidebar |
| 快捷键 | 功能 |
|---|---|
Cmd+K | 打开 Command Palette 全局搜索 |
Cmd+B | 折叠 / 展开侧边栏 |
Cmd+D | 切换 Light / Dark 主题 |
Cmd+1..7 | 跳转到对应的顶级页面 |
Web Console 通过 /api/sse 单连接接收 server 端实时事件。所有列表页面在收到相关事件后自动刷新数据 -- 不需要手动 reload。
侧边栏顶部的 SSE Indicator 圆点显示连接状态:绿色 = 在线,灰色 = 断线重连中。断线时页面仍可用(显示 react-query 缓存数据),重连后自动追赶。
本机直接打开 http://127.0.0.1:7100;远程通过 SSH tunnel:
ssh -L 7100:127.0.0.1:7100 user@center-host
# 然后浏览器打开 http://127.0.0.1:7100/
创建方式有三种:
| 状态 | 含义 | 流转 |
|---|---|---|
submitted | 已创建,等待分配 | → running / canceled |
running | Agent 正在执行 | → paused / completed / failed |
paused | Agent 暂停(如等待 Input Request) | → running / canceled |
completed | 执行成功 | → reopened |
failed | 执行失败 | → reopened |
reopened | 已完成/失败的 task 被重新打开 | → running |
canceled | 已取消 | 终态 |
Task 创建后可在详情页右侧 sidebar 的 Assignee 区域将其分配给一个 Agent。分配后 worker daemon 会自动拉取 dispatch envelope 并启动 agent CLI 执行。也可以在 Plan 编排中批量设置 assignee。
Issue 是持续跟踪的议题,与 Task(一次性执行)互补。在 Issues 列表点击 "+ New Issue",或从消息多选后点击 "Open Issue" 派生。Issue 有自己的 discussion thread,支持状态 filter(open / closed)。
在 Issue 详情的 discussion 中,同样可以多选消息 → "Derive Task"。该 Task 自动关联 parent Issue,在 Issue 详情的 sidebar 中可看到所有关联的 Tasks。
Plan 用于编排多个 Task 的执行顺序(DAG 依赖图)。在 Project 详情页的 Plans tab 点击 "+ New Plan",输入名称即可。新建的 Plan 处于 draft 状态。
在 Plan 详情页可以将 Project 下的 Task 加入 Plan。每个加入 Plan 的 Task 成为一个 Plan Node,在 DAG 视图中显示为节点。
Plan 在 draft 状态时,DAG 依赖可编辑。在 Plan 详情页的 DAG tab 中:
running / done 状态的 Plan 不允许编辑依赖。Plan 编排完成后,点击 "Start Plan"。Orchestrator 自动根据 DAG 拓扑序调度:
completed 后,后续 Tasks 自动解锁并派发failed 时,Plan 暂停并标记 failed indicator| 状态 | 含义 |
|---|---|
draft | 编辑中,可增删 node 和 dependency |
running | 执行中,DAG 自动推进 |
done | 所有 node 完成 |
Plan 详情页提供三个 tab:
pending / running / done / failed)| 类型 | 路径 | 说明 |
|---|---|---|
| Channel | /channels/:name | 团队频道,可添加人类成员和 agent 参与者 |
| DM | /dms/:id | 一对一私信,支持 peer + agent quick-pick |
| Task thread | /tasks/:id | Task 详情内嵌的对话 thread |
| Issue thread | /issues/:id | Issue 详情内的 discussion |
| Plan thread | /projects/:id/plans/:planId | Plan 详情的 Chat tab |
在任意对话底部的 Composer 输入内容:
Enter -- 发送消息Shift+Enter -- 换行输入 @ 后出现 autocomplete 列表,可 mention 人类用户或 agent。被 mention 的实体会收到对应事件通知。
消息 composer 支持附件上传。文件存入 BlobStore,在 timeline 中以链接形式展示。
当从 Channel / Issue 的消息派生 Task 或 Issue 时,被选中的消息以 carry-over 形式引入目标 thread。Carry-over 消息有特殊的 Divider 标注来源 conversation,并以 "Discussion below" 分隔原始引用和后续讨论。
当 agent 在执行 Task 过程中遇到需要人类决策的节点,会发起 Input Request(升级请求)。此时:
paused(agent 主动等待)在 /inputrequests 页面查看所有待回应的 Input Request 列表。每条 IR 显示:
running如果不需要回应,可以点击 "Cancel" 并在确认对话框中确认取消。取消后 agent 会收到取消信号。
部分 Input Request 会携带 agent 建议的选项,Respond Modal 中以 chip 形式展示,点击即可快速采纳建议。
Work Board 提供看板(Kanban)视图,将 Task 按状态分列展示。每列对应一个 Task 状态(submitted / running / paused / completed / failed)。
移动端的 Work Board 切换为纵向堆叠布局,支持触摸拖拽(useBoardTouchDrag)。
在 Organization 层级,/organizations/:slug/issues 和 /organizations/:slug/tasks 页面提供跨 Project 的 Issue / Task 聚合视图,支持: