Skip to content

Latest commit

 

History

History
214 lines (158 loc) · 11.1 KB

File metadata and controls

214 lines (158 loc) · 11.1 KB

AIUsage logo AIUsage

面向 AI 编程助手的本地优先用量追踪工具。

npm version npm downloads CI License: MIT

官网 · 文档 · 排行榜 · English | 中文

在一个本地仪表盘里追踪 20+ 款 AI 编程工具的 token、费用、会话、模型、项目、工具调用和配额压力。本地使用无需账号、无遥测、无需云同步。

AIUsage 仪表盘演示

功能亮点

  • 一个本地仪表盘 查看 token、费用、会话、模型、项目、工具调用和配额。
  • 广泛的数据源支持,覆盖 Claude Code、Codex、OpenCode、Cursor、Copilot、Gemini CLI 等工具。
  • 可选多机同步,支持 GitHub、S3、R2 或 MinIO。
  • 可选公开排行榜,只上传签名后的聚合用量。
  • 桌面小组件,可在菜单栏或系统托盘快速查看最近用量。
  • 默认保护隐私:本地解析和本地仪表盘不会上传 prompt、completion、源码或文件路径。

快速开始

要求: Node.js 20+,支持 macOS、Linux 和 Windows。

npm install -g @juliantanx/aiusage
aiusage serve

打开 http://localhost:3847 即可使用仪表盘。serve 会在启动时解析一次本地日志,然后启动本地 Web UI。

使用 pnpm:

pnpm add -g @juliantanx/aiusage

使用 Docker:

docker run -d \
  -p 3847:3847 \
  -v ~/.aiusage:/root/.aiusage \
  juliantanx/aiusage

Docker 示例中的 ~/.aiusage 挂载只会持久化 AIUsage 自己的数据。若要解析宿主机上的 AI 工具日志,还需要额外挂载对应日志目录,并配置相应的 AIUSAGE_*_PATH。详见 Docker 文档

常用命令

命令 用途
aiusage / aiusage summary 在终端输出用量摘要
aiusage parse 解析本地 AI 工具日志
aiusage serve 3847 端口启动本地仪表盘
aiusage status 查看数据源和本地数据库状态
aiusage export --range month 导出用量数据
aiusage init 配置可选同步
aiusage sync 使用已配置的后端同步数据
aiusage widget 启动桌面托盘小组件
aiusage leaderboard 查看公开排行榜
aiusage login / aiusage upload 授权当前设备并上传聚合排行榜数据
aiusage pm2-start 使用 PM2 后台运行仪表盘和小组件

完整 CLI 参考请看:aiusage.jtanx.com/docs#cli-reference

已支持的工具

Claude Code Codex OpenCode Cursor Hermes
Qoder OpenClaw KiloCode Kelivo Copilot
Gemini CLI Kimi Code CodeBuddy Kiro Grok Build
Antigravity Roo Code Zed Goose oh-my-pi
pi Craft Droid ZCode CodeFuse

默认路径和环境变量覆盖方式见 数据源数据源环境变量

仪表盘密码

本地仪表盘默认在 localhost 上开放。设置 AIUSAGE_DASHBOARD_PASSWORD 后,可以保护仪表盘 API。

Shell 命令
macOS / Linux AIUSAGE_DASHBOARD_PASSWORD="change-me" aiusage serve
Windows PowerShell $env:AIUSAGE_DASHBOARD_PASSWORD="change-me"; aiusage serve
Windows CMD set AIUSAGE_DASHBOARD_PASSWORD=change-me && aiusage serve

PM2 后台运行时,也可以在启动 aiusage pm2-start 时传入同名变量;修改密码后使用 pm2 restart aiusage-server --update-env 更新环境变量。详见 仪表盘密码PM2

隐私与数据

AIUsage 采用本地优先设计。

  • 本地解析会读取各工具日志,并把解析后的用量写入 ~/.aiusage/cache.db
  • 本地仪表盘无需账号,不发送遥测。
  • 可选同步由用户主动配置,支持 GitHub、S3、R2 或 MinIO。
  • 可选排行榜上传只包含各排名周期的聚合 token 总量,不包含 prompt、completion、源码、文件路径或本地费用估算。
  • 费用是基于定价元数据的估算值,刷新或重新计算定价后可能变化。
  • 历史总量取决于各 AI 工具是否仍保留原始日志或本地数据库。

如需报告安全问题,优先使用私密渠道。详见 SECURITY.md

同步与排行榜

同步和排行榜是两个互相独立的可选功能。

  • 同步 用于在自己的多台设备之间保持数据一致,支持 GitHub、S3、R2 或 MinIO。使用 aiusage init 配置,再运行 aiusage sync
  • 排行榜 面向明确选择分享聚合数据的用户。先用 aiusage login 授权设备,再运行 aiusage upload
  • 参与排行榜时,可在 站点设置 中开启匿名模式。

官方站点负责账号、OAuth 登录、资料设置、授权设备、上传审核状态和管理员治理。CLI 负责本地解析、本地仪表盘、同步、终端摘要和签名上传。

桌面小组件

安装可选的托盘 / 菜单栏小组件:

npm install -g @juliantanx/aiusage-widget
aiusage-widget

小组件读取同一个本地 AIUsage 数据库,并可从托盘菜单打开完整仪表盘。详见 Widget 文档

本地开发

git clone https://github.com/juliantanx/aiusage.git
cd aiusage
pnpm install
pnpm build
pnpm test
pnpm dev

项目结构:

路径 说明
packages/core 共享类型、数据库 schema、定价和工具函数
packages/cli 发布到 npm 的 CLI、解析器、本地 API 服务、同步和 PM2 辅助命令
packages/web 打包进 CLI 的本地仪表盘 UI
packages/widget Electron 托盘 / 菜单栏小组件
packages/site 官方站点、文档、账号、上传和排行榜

欢迎贡献。请阅读 CONTRIBUTING.md,使用 issue 模板,并在提交 PR 前运行 pnpm test

文档

贡献者

感谢以下贡献者(表情符号说明):

Julian
Julian

💻 📖 🚇 🔧
Fiveonine
Fiveonine

💻
joyshan1986
joyshan1986

💻
zhaolu83949426-hub
zhaolu83949426-hub

💻
Mnoisec
Mnoisec

💻
jlxyfll
jlxyfll

💻
Harlan Hu
Harlan Hu

💻

本项目遵循 all-contributors 规范,欢迎任何形式的贡献!

社区

linux.do —— 感谢 L 站及其社区为项目开发与交流提供的支持与启发。

许可证

MIT © Julian