























今天在 GitHub Trending 上看到一个有意思的项目:AgentsView,它是一款专注于 AI 编程助手的成本追踪与分析平台,能够帮助开发者一站式管理所有 AI 编程工具的使用记录和成本开销。
AgentsView 是一个开源的本地优先工具,用于浏览、搜索和追踪所有 AI 编程助手的成本。它的核心价值在于:
项目采用 Go + Svelte 技术栈开发,提供 CLI、Web UI 和桌面应用三种使用方式,支持 macOS、Linux 和 Windows 平台。
AgentsView 采用典型的三层架构:
前端(Svelte 5 SPA) ←→ Go HTTP Server ←→ SQLite/DuckDB/PostgreSQL
核心组件包括:
项目巧妙地实现了存储后端的抽象:
// 存储接口抽象
type Store interface {
ListSessions(ctx context.Context, opts ListOptions) ([]Session, error)
GetSession(ctx context.Context, id string) (*Session, error)
GetMessages(ctx context.Context, sessionID string) ([]Message, error)
// ...
}
// 三种后端实现
type SQLiteStore struct { ... }
type DuckDBStore struct { ... }
type PostgresStore struct { ... }
成本追踪的核心是 LiteLLM 定价数据:
// 成本计算逻辑
func (c *CostCalculator) Calculate(usage TokenUsage) float64 {
inputCost := usage.InputTokens * c.inputPrice
outputCost := usage.OutputTokens * c.outputPrice
// 缓存令牌特殊处理
cacheCreateCost := usage.CacheCreationTokens * c.cacheCreatePrice
cacheReadCost := usage.CacheReadTokens * c.cacheReadPrice
return inputCost + outputCost + cacheCreateCost + cacheReadCost
}
关键设计:
--breakdown 参数项目通过环境变量配置各 AI 工具的会话目录:
var agentPaths = map[string]string{
"claude": os.Getenv("CLAUDE_PROJECTS_DIR"),
"cursor": os.Getenv("CURSOR_PROJECTS_DIR"),
"copilot": os.Getenv("COPILOT_DIR"),
"codex": os.Getenv("CODEX_SESSIONS_DIR"),
// ... 25+ agents
}
首次运行时自动扫描所有已配置目录,解析 JSON/JSONL 格式的会话文件,同步到本地数据库。
macOS / Linux(推荐):
curl -fsSL https://agentsview.io/install.sh | bash
macOS Homebrew:
brew install --cask agentsview
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://agentsview.io/install.ps1 | iex"
Docker:
docker run --rm -p 127.0.0.1:8080:8080 \
-v agentsview-data:/data \
-v "$HOME/.claude/projects:/agents/claude:ro" \
-e CLAUDE_PROJECTS_DIR=/agents/claude \
ghcr.io/kenn-io/agentsview:latest
# 启动 Web UI
agentsview serve
# 查看每日成本摘要
agentsview usage daily
# 按模型细分成本
agentsview usage daily --breakdown
# JSON 输出(用于脚本)
agentsview usage daily --all --json
首次运行会自动发现所有支持的 AI 编程工具会话,同步完成后自动打开 http://127.0.0.1:8080。
每日成本概览:
输出示例:
Date Input Output Cache Cost (USD)
2026-06-13 1.2M 340K 890K $12.45
2026-06-12 980K 290K 720K $10.23
2026-06-11 1.5M 420K 1.1M $15.67
按模型细分:
agentsview usage daily --breakdown
筛选特定工具和日期:
agentsview usage daily --agent claude --since 2026-06-01
状态栏集成:
# 一行摘要,适合 shell prompt
agentsview usage statusline
Web UI 提供强大的会话管理功能:
j/k 切换会话,Cmd+K 全局搜索,? 查看快捷键对于团队协作场景,可配置 PostgreSQL 后端:
# 配置 PostgreSQL 连接
export AGENTSVIEW_PG_URL="postgres://user:pass@host:5432/agentsview"
# 推送本地数据
agentsview pg push
# 从 PostgreSQL 启动只读 Web UI
agentsview pg serve
自动同步守护进程:
# 后台自动推送
agentsview pg push --watch --debounce 1m
适合大数据量离线分析:
# 同步到 DuckDB
agentsview duckdb push
# 从 DuckDB 启动只读服务
agentsview duckdb serve
# 通过 Quack 协议远程访问
agentsview duckdb quack serve --token "$QUACK_TOKEN"
问题:通过 SSH 端口转发或远程开发环境访问时,API 返回 403。
原因:服务端验证 Host 头防止 DNS 重绑定攻击。
解决方案:
# 指定浏览器访问的 URL
agentsview serve --public-url http://127.0.0.1:18080
# 或信任多个来源
agentsview serve --public-origin https://workspace.exe.dev
问题:旧版 Antigravity CLI 使用 AES-GCM 加密的 .pb 文件。
解决方案:
# 安装解密工具
go install github.com/mjacobs/agy-reader@latest
# 同步生成 sidecar 文件
agy-reader --sync
# 或持续监听
agy-reader --watch
问题:容器化部署后,部分 AI 编程工具未出现在 UI。
原因:容器无法访问宿主机会话目录。
解决方案:
docker run --rm -p 127.0.0.1:8080:8080 \
-v agentsview-data:/data \
-v "$HOME/.claude/projects:/agents/claude:ro" \
-v "$HOME/.cursor/projects:/agents/cursor:ro" \
-e CLAUDE_PROJECTS_DIR=/agents/claude \
-e CURSOR_PROJECTS_DIR=/agents/cursor \
ghcr.io/kenn-io/agentsview:latest
Q: 数据是否会上传到云端?
不会。所有会话数据存储在本地 SQLite 数据库,服务默认绑定 127.0.0.1。
Q: 遥测数据包含什么?
仅包含应用版本、操作系统、CPU 架构等匿名信息,不含会话内容、项目路径或账户信息。
禁用遥测:
export AGENTSVIEW_TELEMETRY_ENABLED=0
AgentsView 是一款设计精良、功能完善的 AI 编程助手成本追踪工具。它通过本地优先的架构、多后端存储支持和强大的搜索分析能力,帮助开发者精准掌控 AI 编程开支。
核心优势:
对于使用多个 AI 编程工具的开发者,AgentsView 是一款不可多得的效率提升工具。项目开源在 GitHub(kenn-io/agentsview),欢迎 Star 和贡献代码。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。