Dashboard 与日志
AICR 内置可观测性 dashboard 和 Prometheus metrics 端点。dashboard 是外部时序系统的补充(不是替代)——未配置外部系统时仍能提供基础统计。本页在快速上手的健康检查基础上,介绍如何启用管理员登录、导航 dashboard、读取 /metrics,以及定位 run 日志和快照。
启用管理员登录
Section titled “启用管理员登录”dashboard 有独立于 webhook HMAC 和 trigger API key 的超级管理员登录。设置管理员环境变量即可启用:
AICR_ADMIN_USERNAME=adminAICR_ADMIN_PASSWORD=<强密码># 或改用哈希(优先级更高):# AICR_ADMIN_PASSWORD_HASH=sha256:<hex>对应 config(默认值已显示):
admin: username_env: AICR_ADMIN_USERNAME password_env: AICR_ADMIN_PASSWORD password_hash_env: AICR_ADMIN_PASSWORD_HASH # 可选,优先级更高 session_ttl_seconds: 86400 # 字段单位是秒,不要用 minutes配置管理员认证后,AICR 初始化支撑 dashboard 的 SQLite store(位于 storage.database.sqlite.path,默认 /app/data/aicr.sqlite)。Postgres 和 Redis 后端是预留扩展位;dashboard 运行时当前要求 SQLite——启用 dashboard 而 storage.database.kind 不是 sqlite 时启动会显式失败。
导航 dashboard
Section titled “导航 dashboard”访问 http://<aicr-host>:8080/dashboard(或 /)。即使尚未配置管理员环境变量,该路由也会返回 dashboard 外壳并显示 setup-required 提示而不是 404;如果设置了 path_prefix,根路径会重定向到带前缀的入口。
登录后,dashboard 有四个标签:
- Overview——总评审次数、成功/失败/跳过次数、发现问题的 run 次数、problem 总数、创建 issue 数、分析代码量、LLM 请求数、输入/输出/总 token、估算成本、平均 duration。时间窗口选择器切换 today / this week / this month / all(均按 UTC)。
- Projects——按 project 聚合(
workspaceId + triggerName + repoRef):评审/成功/失败/跳过次数、problem 总数、创建 issue 数、变更文件数、增删行数、LLM 请求数、token、成本、平均 duration。软删除的 project 在宽限期内仍可见,并用isActive标记。 - Providers——按 provider+model 聚合:请求数、输入/输出 token、成本、重试/fallback/失败次数、平均延迟。
- Runs——最近运行列表(通过
?limit=最多 100 条)。
Projects 和 Providers 标签各自调用带时间窗口的 API
(GET /api/admin/stats/projects?since= 和 .../providers?since=)。dashboard 以实时聚合为真源。
管理 API
Section titled “管理 API”除 /login 外所有端点都需要 Authorization: Bearer <token>。
| 端点 | 用途 |
|---|---|
POST /api/admin/login |
校验用户名/密码,返回 session token + 过期时间 |
POST /api/admin/logout |
撤销 session token |
GET /api/admin/stats |
overview + today/this-week/this-month 窗口、projects、providers、最近 run |
GET /api/admin/stats/projects?since= |
按 project 聚合 |
GET /api/admin/stats/providers?since= |
按 provider+model 聚合 |
GET /api/admin/runs?limit= |
最近 run 列表(1..100) |
/metrics
Section titled “/metrics”/metrics 暴露低基数、进程生命周期的 Prometheus 计数器和直方图,覆盖同步和异步 review run。高基数查询(按 project、按 provider)属于 dashboard 背后的 SQLite store,不属于 /metrics。直方图 bucket、sum、count 按进程生命周期累计;仅原始 duration 样本做滑动窗口裁剪。
dashboard 只保存运行和用量元数据——绝不保存 prompt、完整 diff、secret 或未脱敏输出。
run 日志与快照在哪里
Section titled “run 日志与快照在哪里”按 run 的产物位于 workspace 目录下:
workspaces/<workspace_id>/runs/<run_id>/run.jsonrun.json 是某次 run 的审计快照:target/workspace、provider/model、triggerName、产出与错误摘要、解析到的 model-catalog 来源、token 估算和分派计数。该 run 物化的 agent 运行时 bundle 位于 workspaces/<workspace_id>/agent/(instructions、技能、MCP 配置、manifest.json、.aicr-output-state.json)。
服务级日志进入 aicr-logs 卷(容器内 /app/logs);用 docker compose logs -f 或你的容器运行时日志驱动查看。