随着 Claude Code、Codex CLI、Cursor Agent 等 AI coding 工具的快速普及,开发者在享受自动化编码便利的同时,也面临一个日益突出的问题:如何有效追踪跨工具、跨项目的 API 消耗与成本? 大多数 agent 各自为政,会话数据散落在不同的目录结构中,既难以汇总分析,又存在隐私泄露风险。agentsview 的出现正是为了解决这一痛点 —— 它以本地优先架构为核心,将多 agent 遥测、全文检索与成本洞察整合进单一二进制文件,让开发者在数据不出本机的前提下,获得比 ccusage 快 100 倍的查询体验。
多 Agent 生态的统一遥测挑战
当前 coding agent 生态呈现高度碎片化特征。Claude Code 将会话存储在 ~/.claude/projects/,Codex CLI 使用 ~/.codex/sessions/,Cursor 则有自己的项目目录结构。这种分散存储导致两个核心问题:一是难以获得全局视角的成本统计,二是跨工具的历史会话检索几乎不可能。传统方案如 ccusage 仅能处理 Claude Code 的会话文件,且每次查询都需要重新解析原始 JSON,性能瓶颈明显。
更关键的是隐私考量。代码提示、项目路径、会话内容都属于敏感信息,上传至第三方云端进行分析存在合规风险。本地优先(local-first)架构因此成为刚需 —— 数据保留在开发者机器上,分析工具仅以只读方式访问,从根本上消除数据外泄的可能。
agentsview 的架构设计
agentsview 采用 Go 后端 + Svelte 5 前端的组合,编译为单二进制文件,零依赖部署。其核心数据层使用 SQLite 作为主存储,利用 FTS5 扩展实现毫秒级的全文搜索。首次运行时,agentsview 自动扫描支持的 agent 会话目录,将数据同步至本地数据库,后续查询直接操作索引,避免了重复解析原始文件的开销。
目前 agentsview 支持 20 余种 coding agent,涵盖主流工具链:
- Claude 生态:Claude Code、Claude 桌面版
- OpenAI 生态:Codex CLI、Copilot CLI
- Google 生态:Gemini CLI、Antigravity CLI
- IDE 集成:Cursor、Zed、VSCode Copilot、Positron Assistant
- 其他开源工具:OpenCode、OpenHands CLI、Kimi、Kiro、Forge 等
每个 agent 的会话目录可通过环境变量覆盖,便于自定义路径或容器化部署。agentsview 的隐私设计尤为严格:除可选的匿名遥测(可完全禁用)外,所有会话数据、成本计算、搜索索引均保留在本地,Web UI 默认绑定至 127.0.0.1:8080,拒绝非本地请求。
成本追踪的技术实现
成本洞察是 agentsview 的核心能力之一。它通过 LiteLLM 的定价数据自动计算各模型的输入 / 输出 token 成本,并支持提示缓存(prompt caching)的计费逻辑 —— 区分缓存创建 token 与缓存读取 token,避免低估实际费用。
命令行工具 agentsview usage 提供多维度成本分析:
# 每日成本摘要(默认最近 30 天)
agentsview usage daily
# 按模型细分
agentsview usage daily --breakdown
# 筛选特定 agent 与日期范围
agentsview usage daily --agent claude --since 2026-04-01
# JSON 输出供脚本集成
agentsview usage daily --all --json
单条会话的成本详情可通过 agentsview session usage <id> 获取,返回输出 token 总量、峰值上下文 token 数及美元成本估算。REST API 提供相同数据,便于集成至内部运维系统。
扩展能力:从个人到团队
虽然 SQLite 足以支撑个人开发者的需求,agentsview 也为团队协作预留了扩展路径。PostgreSQL 同步功能允许将本地数据推送至共享数据库,实现团队级成本看板:
# 推送本地数据至 PostgreSQL
agentsview pg push
# 从 PostgreSQL 只读服务
agentsview pg serve
# 自动同步守护进程
agentsview pg push --watch
DuckDB 镜像则适合数据分析场景。agentsview 可将 SQLite 数据同步至 DuckDB 文件,支持通过 Quack 协议远程只读访问,兼顾分析灵活性与数据安全性。
Web UI 提供会话浏览器、活动热力图、工具使用统计等可视化功能,支持键盘导航(j/k 切换会话,Cmd+K 全局搜索),并可将会话导出为 HTML 或发布至 GitHub Gist 便于分享。
部署与安全建议
Docker 部署时需注意:必须显式挂载各 agent 的会话目录,否则容器内无法发现对应数据。建议配置示例:
services:
agentsview:
image: ghcr.io/kenn-io/agentsview:latest
ports:
- "127.0.0.1:8080:8080"
volumes:
- agentsview-data:/data
- ~/.claude/projects:/agents/claude:ro
- ~/.codex/sessions:/agents/codex:ro
environment:
- CLAUDE_PROJECTS_DIR=/agents/claude
- CODEX_DIR=/agents/codex
若需通过 SSH 端口转发或反向代理访问,必须设置 --public-url 参数匹配浏览器实际访问地址,并建议启用 --require-auth 进行身份验证。agentsview 默认拒绝非预期的 Host 头请求,以防范 DNS 重绑定攻击。
实践检查清单
对于计划引入 agentsview 的团队,建议按以下步骤实施:
- 目录映射:梳理团队使用的 coding agent 列表,确认各会话目录路径
- 成本基线:运行
agentsview usage daily --all建立历史消耗基线 - 告警阈值:基于单会话成本数据,设置异常消耗的监控阈值
- 团队同步:如需共享视图,配置 PostgreSQL 后端与自动同步守护进程
- 隐私审计:确认
AGENTSVIEW_TELEMETRY_ENABLED=0以禁用可选遥测
agentsview 的价值不仅在于替代 ccusage 的性能提升,更在于它为 coding agent 生态提供了统一的本地遥测基础设施。在 AI 辅助编程成本持续攀升的背景下,拥有细粒度的成本洞察能力,将成为工程团队优化预算分配、评估工具 ROI 的关键抓手。
资料来源
- GitHub - kenn-io/agentsview: Local-first session intelligence and analytics for coding agents
- AI Observer: Unified Local Observability for AI Coding Assistants
内容声明:本文无广告投放、无付费植入。
如有事实性问题,欢迎发送勘误至 i@hotdrydog.com。