Skip to content

[Dashboard] Web Dashboard:会话、Agent/Team、审计、任务图和 usage/cost 可视化 #30

@v833

Description

@v833

标签建议:area/dashboard, area/observability, priority/P2, type/feature

背景

当前能力:

  • q-code 已有 session 持久化、审计日志、usage/cost 统计、Agent/SubAgent/Teams、任务图、eval artifact 和 TUI 展示。
  • 这些信息主要分散在终端输出、JSONL 文件、.q-code artifact 和命令行子命令中。
  • 长任务、多 Agent、多会话和 eval 回归需要更直观的可视化入口。

痛点:

  • 用户难以在一个地方查看历史会话、工具轨迹、任务状态、成本和失败原因。
  • Agent Teams 和任务图在纯文本里不够直观。
  • 审计日志和 usage 数据虽然存在,但非技术用户阅读成本高。

需要补齐:

  • 本地优先的 Web Dashboard。
  • 会话、任务、审计、usage/cost 和 eval 趋势的可视化。
  • 与 daemon/server 或静态 artifact 的清晰边界。

目标

实现 Web Dashboard:以本地 Web UI 展示 q-code 会话、Agent/Team 任务图、审计日志、工具轨迹、usage/cost 和 eval 趋势,帮助用户理解长任务进度、成本和失败原因。

用户故事

  • 作为用户,我希望打开浏览器查看历史会话和当前任务状态,以便不用在终端里翻长日志。
  • 作为团队维护者,我希望看到 Agent/Team 的任务图和工具轨迹,以便定位卡点和失败路径。
  • 作为成本关注者,我希望按会话、模型和日期查看 token/cache/cost,以便控制预算。
  • 作为评测维护者,我希望看 eval 趋势和 baseline 对比,以便发现质量回归。

详细需求

1. Dashboard 启动方式

  • 提供 q-code dashboard 或 daemon 集成入口。
  • 默认只绑定本机地址,不暴露公网。
  • 支持读取本地 session、audit、usage、eval artifact,不要求云服务。

2. 会话视图

  • 列出 session,支持按时间、项目、模型、状态搜索和筛选。
  • 展示消息摘要、工具调用、文件改动摘要和 usage。
  • 敏感内容按 redaction 策略处理。

3. 任务与 Agent/Team 视图

4. 审计与工具轨迹

  • 支持按 session、event、tool、时间范围过滤审计日志。
  • 展示 tool.call/tool.result、policy decision、错误和 crash 关联。
  • 大输出使用摘要和 spill/artifact 链接,不直接全部渲染。

5. Usage/cost 与 eval

  • 展示 token、cache、成本、模型分布和趋势。
  • 展示 eval run、baseline compare、trend dashboard 数据。
  • 成本估算需标注来源和不确定性。

6. 安全与隐私

  • 默认本地访问,必要时显示访问地址和安全提示。
  • 不上传本地数据到外部服务,除非用户明确配置。
  • 对 prompt、文件内容、shell 输出和工具结果遵守 redaction/record_io 配置。

输出样例

q-code dashboard

Dashboard running at http://127.0.0.1:48888
数据源:
- sessions: C:\Users\me\.q-code\sessions
- audit: C:\Users\me\.q-code\audit
- evals: C:\repo\.q-code\evals

页面卡片示例:

Session abc123 | gpt-5 | 18 tool calls | $0.42 | 32m | completed

验收标准

  • Dashboard 能本地启动并展示访问地址。
  • 能读取并展示 session 列表、详情、工具轨迹和 usage/cost。
  • 能过滤审计日志,并展示 tool.call/tool.result 和错误事件摘要。
  • 能展示 Agent/Team 任务图或静态任务 artifact。
  • 能展示 eval runs、baseline compare 和 trend 数据。
  • 默认不上传本地数据,敏感内容按 redaction 策略处理。
  • 没有 daemon 时仍可读取静态 artifact;有 daemon 时可实时刷新。
  • README/AGENTS 增加 dashboard 命令、数据源和隐私说明。

测试方案

  • tests/unit/dashboard-data.test.ts:覆盖 session/audit/usage/eval artifact 读取和脱敏。
  • tests/integration/dashboard-flow.test.ts:启动本地 server fixture,验证核心 API 返回。
  • 前端组件测试:覆盖 session list、audit filter、usage chart 数据渲染。
  • 手动验证:真实本地 .q-code 数据、无数据空态、大 audit 日志、redaction 开关。

不在本期范围

  • 云端托管 Dashboard。
  • 多用户权限和团队共享。
  • 在线编辑会话或直接修改本地文件。
  • 完整移动端适配;本期以桌面浏览器为主。

依赖 / 风险

工作量评估

  • 本地 server/API 与数据读取:2.5 人日
  • Dashboard UI 基础视图:3 人日
  • 任务图、usage/cost、eval 视图:3 人日
  • 安全脱敏、性能、测试和文档:2 人日
  • 合计:~10.5 人日,建议拆分 session/audit MVP、usage/eval、daemon realtime

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/dashboardWeb dashboard and visual management surfacesarea/observability日志/指标/可观测dependency/blockedShould wait for one or more dependency issuesdepends-on/daemonDepends on #29 daemon/remote task servicedepends-on/sessionDepends on #8 TUI session managementpriority/P2机会型/差异化体验type/feature功能需求

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions