agentsview:让 Claude Code、Codex、27 个 Agent 的会话数据全部归到一个本地 SQLite

刷到 kenn-io/agentsview 是因为 trending 上一句话戳中我:「Local-first session intelligence and analytics for coding agents … 100x faster replacement for ccusage」。

用 Claude Code 半年多,最头疼的一件事是会话数据散在各处~/.claude/projects/ 里是 JSONL,~/.codex/sessions/ 又是另一套结构,想看这个月烧了多少 token、哪条 prompt 让模型跑飞了,得自己写 Python 解析。ccusage 是个好工具,但每次都要重新扫一遍 JSONL,慢得让人想关掉终端。

agentsview 干的事很简单:跑一次 agentsview serve,它自动发现 27 个 coding agent 的会话目录,把数据同步进本地 SQLite,然后给一个 Web UI + 一组 CLI。从 v0.32.1 (Jun 5, 2026) 发布到现在 52 个 release,迭代速度说明作者自己也是重度用户。

一键安装和一个命令的幸福

macOS / Linux 一行脚本:

1
curl -fsSL https://agentsview.io/install.sh | bash

装完就一个二进制,没有 daemon、没有 cloud account、没有 telemetry。验证:

1
2
agentsview --version
# agentsview version 0.32.1

启动服务器 + 自动打开 Web UI:

1
2
agentsview serve
# Server listening at http://127.0.0.1:8080

首次启动它会扫描 ~/.claude/projects/~/.codex/sessions/~/.local/share/opencode/ 这些目录,把所有 JSONL 导入 SQLite。我这边一共 1.4GB 的会话数据,导入花了不到 20 秒。之后再启动就是直接打开 UI,毫秒级。

支持的全部 agent(README 列了 27 个,我常用的是前 6 个):

Agent Session 目录
Claude Code ~/.claude/projects/
Codex ~/.codex/sessions/
Gemini CLI ~/.gemini/
OpenCode ~/.local/share/opencode/
OpenHands ~/.openhands/conversations/
Cursor ~/.cursor/projects/
Hermes Agent ~/.hermes/sessions/
Kiro CLI / IDE ~/.kiro/ + macOS Application Support

注意最后两行:Hermes Agent 和 Kiro 都在支持列表里。如果你跟我一样多 agent 并行切换,这是目前唯一能统一看账的工具。

agentsview usage —— ccusage 的 100x 替代

ccusage 每次都要重新解析 JSONL,扫一遍我的 1.4GB 数据要 4 分多钟。agentsview 用 SQLite 索引过的数据,同样的查询 2 秒出结果,README 里说 100x 在我这边实测是 120x 左右,量级对得上。

常用查询:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 每日成本汇总(默认最近 30 天)
agentsview usage daily

# 按模型拆分
agentsview usage daily --breakdown

# 只看 Claude Code,2026 年 4 月之后
agentsview usage daily --agent claude --since 2026-04-01

# JSON 给状态栏脚本用
agentsview usage daily --all --json

# shell statusline 一句话摘要
agentsview usage statusline

它用的是 LiteLLL 的 rate 表来算 USD 成本,prompt cache 的 creation/read token 单独计费,跟 Anthropic 账单对得上。offline fallback 模式也内置,断网也能算。

agentsview stats —— 真正让我想留下来的功能

这是 Web UI 之外我打开终端最频繁的命令。stats 子命令跑的是窗口内的聚合分析,跟 usage 不一样 —— 后者算钱,前者看你跟 agent 协作的模式

1
2
3
4
5
agentsview stats                                           # 最近 28 天
agentsview stats --since 2026-04-01 --until 2026-04-15
agentsview stats --include-git-outcomes # 加 commit / LOC / files
agentsview stats --include-github-outcomes # 加 PR 数量
agentsview stats --format json # 给仪表盘喂数据

输出包括:

  • 总览:消息数、工具调用、token、cost、commit 数
  • archetype 分类:把会话按深度切成 quick / standard / deep / marathon 四档,一眼看出哪类工作占了你 80% 的时间
  • 分布:时长、用户消息数、peak context、tools-per-turn
  • cache economics:cache hit ratio、cache write 成本对比
  • hourly breakdown:你一天里哪个小时在重度用 agent

我跑了一次 --include-git-outcomes,发现自己 28 天 1,247 次 commit 中有 312 次是 agent 辅助完成的,平均每个 commit 改了 47 行,3.2 个文件。跟 agent 单独聊(不写代码)的会话占 18%,这部分基本是 spec 讨论和 review。

Web UI:键盘优先的会话浏览器

http://127.0.0.1:8080 打开后是一个 Svelte SPA,左侧 session 列表,右侧消息流。核心特性:

  • FTS5 全文搜索所有消息内容。我现在找「上周那个关于 retry 策略的对话」直接 Cmd+K 搜关键词,2 秒定位
  • 实时更新:agent 正在跑的时候,新消息通过 SSE 推过来,不用 F5
  • 键盘导航j/k 上下、[/] 跳会话、? 看快捷键
  • 导出:单个 session 导成 HTML 或发到 GitHub Gist,给同事看 trace 特别方便
  • 成本 dashboard:每日花费折线图、按模型堆叠柱状图、cache hit 率走势

Live update 这点是真戳到我了 —— 以前我得在 Claude Code 的终端和 ccusage 之间来回切,现在 agentsview 一直开着,看到 token 飙到 200K 立刻知道该让 agent 收尾了。

Docker 部署:团队共享一个实例

如果你团队想共享一个 agentsview 实例(看 dev 整体的 agent 使用情况),有现成的镜像:

1
2
3
4
5
6
7
8
docker run -d --name agentsview \
-p 127.0.0.1:8080:8080 \
-v agentsview-data:/data \
-v "$HOME/.claude/projects:/agents/claude:ro" \
-v "$HOME/.forge:/agents/forge:ro" \
-e CLAUDE_PROJECTS_DIR=/agents/claude \
-e FORGE_DIR=/agents/forge \
ghcr.io/kenn-io/agentsview:latest

只读挂载会话目录保证数据源安全,agentsview-data volume 持久化 SQLite。

跟之前用过的几套方案对比

纯 ccusage:胜在轻,一个 npm 包,但每次都重解析 JSONL,量大就废。

LangSmith / Helicone:云端方案,功能强,但所有会话数据要上传,对本地敏感的代码工作流不友好。

自建 Python 脚本解析 JSONL:写一次能用,但 agent 一多、schema 一变就要重写。我自己维护过一个,3 个 agent 之后就放弃了。

agentsview 卡在中间:本地优先、数据统一、跨 agent 查询,三个痛点一次解决。代价是占一个 SQLite(我的现在 480MB)和一个常驻 Web UI(可以不开 serve,只用 CLI)。

实战建议

  1. 装上之后先跑一次 agentsview usage daily --breakdown,看看这个月烧在哪。如果某个模型的 cost 异常高,可能 prompt 没写好或者 cache 没利用上
  2. 每周跑一次 agentsview stats,看 archetype 分布。如果你 80% 是 marathon 会话,说明任务切得不够细,agent 在来回扯
  3. Web UI 一直开着,配合 Claude Code / Codex 的 statusline 配置里加一行 agentsview usage statusline,终端头部直接显示今日花费
  4. --format json 接你自己的仪表盘,我接了一个简单的 cron 任务,每天 23:00 把 stats dump 到本地 Grafana SQLite

一句话总结

agentsview 不是新概念(session analytics 早就有),但它是第一个把 27 个 coding agent 统一拉通、本地优先、SQLite 索引做得这么扎实的实现。Go 二进制 + Svelte SPA + LiteLLM pricing,单文件部署,跟 Claude Code 这类工具是绝配。如果你跟我一样每天在 Claude Code / Codex / Hermes 之间切换,强烈建议装上。

仓库地址:https://github.com/kenn-io/agentsview
文档 + 安装脚本:https://agentsview.io