背景
Agent Tracking Phase 7(Console 部分)。Phase 1-4 (#16 #17 #18 #19) 把数据链路打通。本 issue 在 Console 前端展示 agent 活动时间线 + 自动命名。
范围
Session 列表:
- 每行展示 agent icon(🤖 Claude Code / 🟢 Codex / 🔵 OpenCode)+ title
- title 优先级:`InferredTitle` > `Name` > `sess_id`
- 非 agent session(无 AgentKind)保持原展示
Session 详情页右侧 Agent Activity 面板:
- 时间线:prompt → tool calls → final answer → cost
- 每条事件卡片:
- prompt 卡片:用户输入文本
- tool call 卡片:tool 名 + 输入摘要 + 输出摘要 + 耗时 + 成功/失败标识
- 点击展开看完整参数和输出
- 折叠 / 关闭按钮
- 暗色主题遵循 CLAUDE.md terminal_* 颜色规范
SignalR 接入:
- TerminalHub 客户端加 `AgentActivity` 推送方法
- Console 收到 `AgentActivityFrame` 后追加到时间线 state
请求 / 分页:
- 切换到已有 session 时,从 `GET /api/me/sessions/{id}/agent-events?cursor=...` 拉历史
- 游标分页,避免一次性加载大量事件
验收
- 跑 `claude` 后 1 秒内 session 列表标题变化
- 时间线卡片随 agent 运行实时增长
- 点击 tool call 展开看到完整参数和输出
- 切到别的 session 再切回来,时间线状态恢复
- 重启 Console,从 API 拉到完整历史
依赖
不做的事
- ❌ Mobile / Harmony UI(后续)
- ❌ Codex / OpenCode 特定展示元素(先把通用时间线做好)
背景
Agent Tracking Phase 7(Console 部分)。Phase 1-4 (#16 #17 #18 #19) 把数据链路打通。本 issue 在 Console 前端展示 agent 活动时间线 + 自动命名。
范围
Session 列表:
Session 详情页右侧 Agent Activity 面板:
SignalR 接入:
请求 / 分页:
验收
依赖
不做的事