引言
"Gartner 预测:到 2028 年,AI 编程的费用将超过开发者平均工资------token 消耗正在成为团队最大的隐性成本之一。"
这是"每日一个开源项目"系列的第153篇文章 。今天的主角是 AgentsView------一个本地优先的 AI 编程 Agent 会话分析和费用追踪工具。
你用 Claude Code 处理一个任务,用 Cursor 写另一个模块,偶尔用 Codex 跑自动化脚本。每个工具都有自己的会话历史,存在不同的目录里,用不同的格式。你想知道"这个月我在 AI 编程工具上花了多少钱?哪个 Agent 用得最多?有哪些会话值得回头查?"------没有统一的答案。
AgentsView 做的事情直接:索引所有 Agent 的会话数据到本地 SQLite,提供统一的搜索界面、费用分析和 Analytics 仪表板。单二进制,本地运行,不需要账号,数据不离开机器。
你将学到什么
- AgentsView 的架构:Go + SQLite + Svelte,如何比重新解析原始文件快 100 倍
- 支持的 30+ 个 Agent 和它们的会话目录路径
- 实用的 CLI 命令:每日费用汇总、会话列表、统计分析
- PostgreSQL 团队同步和 DuckDB 分析镜像
- S3 支持:多机器集中管理会话数据
- 隐私设计:DNS 重绑定保护、本地绑定、匿名遥测
前置知识
- 日常使用 Claude Code、Cursor 或类似 AI 编程工具
- 关心 AI 工具的 token 费用
项目背景
项目简介
AgentsView 是一个本地优先的 AI Agent 会话分析平台,核心逻辑是:每个 AI 编程工具都把会话历史写在本地,格式各异但都是文件,AgentsView 解析这些文件,构建统一的 SQLite 索引,提供一个统一的查询和分析界面。
它不改变任何工具的工作方式,不插入代理层,只是把已经存在的数据变得可查询。
作者介绍
- 作者: kenn-io
- 官网 : agentsview.io
- License: MIT
项目数据
- ⭐ GitHub Stars: ~4,000
- 🍴 Forks: ~305
- 📄 License: MIT
- 💻 语言: Go 81.1% / TypeScript 10.7% / Svelte 5.9% / Rust 1.1%
主要功能
多 Agent 自动发现
AgentsView 自动扫描 30+ 个主流 AI 编程工具的会话目录:
| Agent | 会话目录 |
|---|---|
| Claude Code | ~/.claude/projects/ |
| Codex | ~/.codex/sessions/ |
| Gemini CLI | ~/.gemini/ |
| Cursor | ~/.cursor/projects/ |
| Forge | ~/.forge/ |
| Copilot CLI | ~/.copilot/ |
| Devin CLI | ~/.local/share/devin/ |
| OpenCode | ~/.local/share/opencode/ |
| Zed | ~/Library/Application Support/Zed/ |
| Aider | .aider.chat.history.md(需配置) |
每个目录路径都可以通过环境变量覆盖。
全文检索
基于 SQLite FTS5,对所有 Agent 的所有会话内容建立全文索引。想找三周前某个 Claude Code 会话里讨论的"认证模块重构"方案?在 AgentsView 里全文搜索就能找到,不需要手动翻目录或者 grep 原始 JSONL 文件。
Token 和费用追踪
AgentsView 从各 Agent 的会话数据里提取 token 使用量和模型元数据,构建费用视图:
bash
# 今日费用汇总
agentsview usage daily
# 今日费用,按模型细分
agentsview usage daily --breakdown
# 最近 7 天
agentsview usage weekly
# 最近 28 天统计
agentsview stats
典型输出:
bash
Daily Usage --- 2026-07-07
─────────────────────────────────────────
Agent Sessions Input Tok Output Tok Cost
────────── ──────── ────────── ────────── ──────
Claude Code 8 1,823,441 142,891 $4.21
Codex 3 284,920 31,204 $0.87
Cursor 12 ------ ------ ------
────────── ──────── ────────── ────────── ──────
Total 23 2,108,361 174,095 $5.08
Analytics 仪表板
Web UI(http://127.0.0.1:8080)提供:
- 使用热力图:按天/时显示活跃度
- 工具使用统计:哪些工具调用最频繁(bash、read、write...)
- 速度指标:每会话平均 token 量、任务完成时长
- 项目维度分解:按项目目录查看 Agent 使用情况
Recent Edits(近期文件改动)
一个实用的功能:显示 Agent 最近改动过的文件,按项目分组。当你结束一天的工作想回顾"AI 今天改了哪些文件",不需要翻 git diff,AgentsView 直接列出来。
实时更新
AgentsView 以守护进程方式运行,通过 SSE(Server-Sent Events)监听新会话数据,Web UI 实时刷新。当前正在进行的 AI 会话也能即时反映到仪表板。
快速开始
安装:
bash
# macOS / Linux
curl -fsSL https://agentsview.io/install.sh | bash
# Windows(PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://agentsview.io/install.ps1 | iex"
# macOS Homebrew
brew install --cask agentsview
启动:
bash
# 前台模式(调试用)
agentsview serve
# 后台守护进程(推荐)
agentsview serve --background
# 访问 Web UI
open http://127.0.0.1:8080
常用 CLI 命令:
bash
# 会话管理
agentsview session list # 列出所有会话
agentsview session list --agent claude-code # 只看 Claude Code 会话
agentsview session show <session-id> # 查看特定会话详情
# 费用追踪
agentsview usage daily # 今日费用
agentsview usage daily --breakdown # 按模型细分
agentsview usage weekly # 本周费用
agentsview stats # 最近 28 天统计
# 搜索
agentsview search "认证模块重构" # 全文搜索
# 导出
agentsview session export <id> --format html # 导出为 HTML
agentsview session export <id> --format gist # 导出到 GitHub Gist
项目详细剖析
为什么比重新解析文件快 100 倍
AI 编程工具把会话数据写成 JSONL 或 Markdown 格式的文件。你的会话历史随着时间积累,可能有几千个文件。
javascript
朴素做法:
每次搜索或分析 → 重新扫描所有文件 → 解析每个 JSONL → 过滤 → 返回结果
随文件数量线性增长,50,000 个会话时慢到不可用
AgentsView 做法:
首次运行 → 解析所有文件 → 写入 SQLite(含 FTS5 索引 + token 汇总表)
后续查询 → 直接 SQL 查询 SQLite
SQLite FTS5 全文搜索:毫秒级返回,无论文件多少
增量同步:新会话写入后,守护进程监听文件变化,只处理新增内容,不重建全量索引。
三层存储架构
markdown
SQLite(主存储,本地,可写)
↓(可选同步)
PostgreSQL(团队共享,只读服务)
↓(可选同步)
DuckDB(分析镜像,只读或通过 Quack 协议远程访问)
PostgreSQL 团队同步:
bash
# 配置 PostgreSQL 后端
AGENTSVIEW_POSTGRES_URL=postgresql://user:pass@host/db
# 推送到团队数据库
agentsview sync postgres push
# 拉取团队数据
agentsview sync postgres pull
团队里多个成员各自在本地运行 AgentsView,定期把数据推到共享的 PostgreSQL,就能建立团队级的 AI 使用分析仪表板:谁在用哪些工具、整个团队的 token 消耗趋势、高价值会话归档。
DuckDB 镜像:
DuckDB 的 Quack 协议支持远程读取,可以直接用 DuckDB 的 SQL 接口对 AgentsView 数据做分析查询,不需要把数据导出成文件。
S3 支持
Claude Code 和 Codex 的会话源可以配置为 s3:// 路径:
bash
CLAUDE_CODE_DIR=s3://my-bucket/claude-sessions
对于在多台机器上工作的开发者,可以把会话数据集中存储在 S3,AgentsView 从 S3 拉取数据后本地建索引。
技术栈选型
Go 后端:单二进制分发,跨平台,无运行时依赖,性能高,适合文件解析和 SQLite 操作的密集 I/O 场景。
Svelte 5 前端:框架级别的轻量,适合嵌入单二进制分发(前端资源编译进 Go 二进制)。
CGO 依赖 :SQLite 绑定需要 CGO,这也意味着分发的是预编译二进制,不能直接 go install。
Tauri 桌面:包装同一套 Web UI,提供 macOS 和 Windows 的原生桌面应用体验,底层是同一个本地 HTTP 服务。
隐私设计
markdown
数据边界:
- Web 服务绑定到 127.0.0.1(不监听 0.0.0.0)
- DNS 重绑定保护:验证 Host 头,阻止跨域请求访问本地数据
- 如果需要外部访问(反向代理/SSH 隧道):用 --public-url 明确指定允许的 URL
遥测:
- 只发送匿名 daemon_active ping(版本号、操作系统、架构)
- 不发送会话内容、文件路径、用户身份
- 禁用:AGENTSVIEW_TELEMETRY_ENABLED=0
Aider 默认不自动扫描(需配置 AIDER_DIR),原因是 Aider 的历史文件存在仓库根目录,自动扫描会触发 macOS 的隐私提示。
适用场景
个人开发者:
- 每月底看看在 AI 工具上花了多少钱,哪个工具性价比最高
- 找回三周前某个会话里 AI 给出的某个方案
- 了解自己的 AI 使用习惯
团队 Tech Lead:
- 通过 PostgreSQL 同步建立团队级 AI 使用仪表板
- 追踪团队的 AI 工具费用趋势
- 识别高价值会话,归档团队知识
AI 工具重度用户:
- 在 30+ 个工具之间切换,需要统一的会话历史入口
- 比较不同 Agent 在相同类型任务上的效率和费用
项目地址与资源
- 🌟 GitHub : kenn-io/agentsview
- 🌐 官网 : agentsview.io
- 📖 Token 追踪文档 : agentsview.io/token-usage
总结
AgentsView 解决的是一个随着 AI 编程工具普及而变得越来越真实的问题:你用了多个工具,它们各自管各自的数据,你对整体的使用情况和费用一无所知。
Gartner 2026 年的预测是,到 2028 年 AI 编程费用可能超过开发者平均工资。这不是危言耸听------Claude Code 的中位用户每天已经在花 6 美元。有 30 人的团队,每人每天 10 美元,一年就是 100 万。在这个规模下,"完全不知道钱花在哪里"和"有数据支持的决策"之间的差距是真实的。
AgentsView 的设计取向------本地优先、单二进制、不需要账号、数据不出机器------降低了采用成本,也降低了隐私顾虑。对于每天深度使用 AI 编程工具的开发者,装一个用一用,大概率会有收获。
探索 PrimeSkills ------ 精选 AI Agent 与技能的市场,每一个都经过真实企业工作流验证,去掉浮夸,留下真正有用的。
欢迎访问我的个人主页,发现更多有价值的见解和有趣的产品。