Skip to content

feat(v2): agent tracking — Console 活动时间线 UI #20

Description

@monster-echo

背景

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 特定展示元素(先把通用时间线做好)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions