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 | agentsview --version |
启动服务器 + 自动打开 Web UI:
1 | agentsview serve |
首次启动它会扫描 ~/.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 | # 每日成本汇总(默认最近 30 天) |
它用的是 LiteLLL 的 rate 表来算 USD 成本,prompt cache 的 creation/read token 单独计费,跟 Anthropic 账单对得上。offline fallback 模式也内置,断网也能算。
agentsview stats —— 真正让我想留下来的功能
这是 Web UI 之外我打开终端最频繁的命令。stats 子命令跑的是窗口内的聚合分析,跟 usage 不一样 —— 后者算钱,前者看你跟 agent 协作的模式。
1 | agentsview stats # 最近 28 天 |
输出包括:
- 总览:消息数、工具调用、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 | docker run -d --name agentsview \ |
只读挂载会话目录保证数据源安全,agentsview-data volume 持久化 SQLite。
跟之前用过的几套方案对比
纯 ccusage:胜在轻,一个 npm 包,但每次都重解析 JSONL,量大就废。
LangSmith / Helicone:云端方案,功能强,但所有会话数据要上传,对本地敏感的代码工作流不友好。
自建 Python 脚本解析 JSONL:写一次能用,但 agent 一多、schema 一变就要重写。我自己维护过一个,3 个 agent 之后就放弃了。
agentsview 卡在中间:本地优先、数据统一、跨 agent 查询,三个痛点一次解决。代价是占一个 SQLite(我的现在 480MB)和一个常驻 Web UI(可以不开 serve,只用 CLI)。
实战建议
- 装上之后先跑一次
agentsview usage daily --breakdown,看看这个月烧在哪。如果某个模型的 cost 异常高,可能 prompt 没写好或者 cache 没利用上 - 每周跑一次
agentsview stats,看 archetype 分布。如果你 80% 是 marathon 会话,说明任务切得不够细,agent 在来回扯 - Web UI 一直开着,配合 Claude Code / Codex 的
statusline配置里加一行agentsview usage statusline,终端头部直接显示今日花费 --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