Skip to content
QianFuvPublic

About

本地 AI 编程工具用量监控桌面应用:用量统计、额度监控、损耗分析与速率统计

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Yousage

Yousage 是一个本地运行的 AI 编程工具用量监控桌面应用。它读取 Codex、Claude Code、Pi 等工具在本机保存的会话记录,统计 Token、按 API 价格估算费用,并实时显示各订阅账户的 额度、重置时间与本周期价值。应用基于 Go 与 Wails v3,前端资源内嵌在单个可执行文件中, 运行时不需要 Node、开发服务器或任何后台服务。

功能概览

用量统计

  • 按 24 小时 / 7 天 / 30 天 / 90 天统计费用与 Token,可在“费用”和“Token”指标间切换。
  • 各 Provider 的每日或每小时曲线、占比条和合计;未定价记录与真实的零费用分开显示。
  • 模型明细:输入、输出、缓存读写、推理 Token,缓存命中率与缓存节省,按速度档位 (标准 / 快速 / 极速)和类型拆分费用;可在多个环境之间对比同一模型。
  • 按日、按小时的用量明细表。

额度监控

  • 显示 Codex、Claude Code 订阅账户的额度窗口、已用百分比、 重置时间和消耗节奏(超出 / 符合 / 低于时间窗口的均匀消耗线)。
  • 同一账户在多个来源中出现时自动合并;多个账户可汇总为“总额度”。
  • 本周期价值:结合本机历史费用与额度变化,估算当前订阅周期的 API 等值价值, 并给出可信度和区间;额度疑似调整时不参考旧周期。
  • 支持 CLIProxyAPI 额度中心汇总的账户池,以及显式确认后使用重置券。重置结果未知时 保留状态,等待用户手动重试,不会自动重放。

损耗分析

  • 识别缓存过期造成的上下文重写:同一上下文在空闲间隔超过缓存有效期(默认 5 分钟, Claude 显式 1 小时缓存按 1 小时计)后重新写入大量缓存,即记为一次损耗事件。
  • 按 Provider 分组显示额外花费、每日 / 每小时额外花费曲线和事件明细(时间、模型、 间隔、重写 Token、额外花费)。
  • 每个会话、Agent 或压缩后的上下文单独比较,不会把父会话的缓存算到子会话上; 用户中断和报错请求不计入。

速率统计

  • 按模型和 Provider 统计输出速率(tok/s)、首字耗时(TTFT)中位数与 P90、 请求耗时中位数与 P90、缓存命中率、每次请求的上下文和输出量。
  • 每小时 / 每日速率曲线,并显示有计时和无计时的请求数。
  • 计时只来自本地记录中可靠的成对时间点,排除工具执行和用户空闲时间; 无法可靠计时的请求不参与速率计算。

设置

设置分为五个部分,未保存的草稿在切换页面后保留:

  • 外观:内置与自定义主题、主题合集、亮色 / 暗色分别选择; 自定义主题通过导入 T3 Code / VS Code 主题 JSON(含 JSONC)添加,支持选择文件、拖入文件和粘贴; 可调整字号、对比度、毛玻璃和动画。界面统一使用内置的 JetBrainsLxgwNerdMono 子集字体。
  • 显示与行为:界面语言(简体中文 / 英文 / 跟随系统)、100%–200% 界面缩放、 12 / 24 小时制、自动刷新、关闭到托盘、开机自启、启动时最小化。
  • 数据来源:自动识别已安装的 Provider,分别启用历史记录与额度监控; 配置额度中心。更改需要点击“应用”或“放弃”。
  • 同步:配置自托管中继,复制手机查看链接。
  • 关于与诊断:版本、项目主页和问题反馈入口;诊断部分显示平台、来源统计和近期脱敏日志, 可复制或导出诊断报告。诊断信息不会自动上传。

手机查看

通过自托管 Relay 同步加密快照,在手机上打开设置中的手机链接即可只读查看用量、额度、损耗和速率。 中继只保存密文,解密密钥保留在链接的 # 片段中。部署和使用步骤见 中继指南。

桌面体验

  • 单实例运行:再次启动时显示已有窗口。
  • 重新打开时恢复上次的窗口大小、位置和最大化状态;保存的位置超出当前显示器时自动移回可见区域。
  • 关闭到托盘后可从托盘菜单直接打开各页面,选择“退出”才会真正退出。
  • 窗口最小为 1024×680(100% 缩放),拖动边缘时宽高比保持在 3:4 到 21:9 之间; 最大化和贴靠不受限制。窄于 768 CSS 像素时切换为底部标签栏的移动布局。
  • 有未保存草稿或正在写入账户设置时,关闭窗口会先确认。
  • 各页面平时自动刷新,也可点页面标题栏的刷新按钮立即刷新所有页面。

数据来源

Provider 历史用量 订阅额度
Codex 本地 sessions 会话日志 account/rateLimits/read(不发起模型请求)
Claude Code 本地 projects 会话日志 initialize / get_usage 控制协议
Pi 本地 sessions 会话日志,含工具和摘要调用 原生接口不支持
  • 支持 Codex、Claude Code 和 Pi;旧版本保存的其他来源设置会被忽略。
  • 历史目录在每次扫描时自动解析(PATH、npm 原生包和标准环境变量位置),无需手动填写路径; 已有的自定义路径会保留,直到你主动改回自动识别。
  • Pi 默认读取 ~/.pi/agent/sessions,优先使用 PI_CODING_AGENT_SESSION_DIR,其次使用 PI_CODING_AGENT_DIR 下的 sessions。设置中可添加多个自定义 Pi 会话目录,覆盖 --session-dir 等自定义位置;自定义目录直接指向会话文件所在文件夹。
  • Pi 的模型保留后端名称,分叉复制的条目只统计一次;日志费用为零或缺失时按模型价格估算。 日志不能证明实际支付方式的费用会单独标记,也不会把消息时间戳当作生成耗时。
  • 历史读取全部为只读,增量解析,保留最近 90 天;读取失败时保留已缓存的数据。
  • 价格来自 models.dev,因此通过网关或第三方使用的模型也能定价。 官方首方价格优先于转售价格,gateway/model 形式的 ID 按裸模型名定价。 快速 / 极速档位使用内置的 OpenAI 与 Anthropic 官方倍率。价格表有缓存,离线时继续使用。
  • 不会为了查询额度而发起任何模型请求。

数据存储与隐私

  • Windows 便携版的程序目录只有 yousage.exe 和 data/。设置、最近 90 天的统计事实、增量 检查点和界面主题保存在 data/database/yousage.sqlite;发布的主题位于 data/themes/,主题 命令配置为 data/settings.json,WebView 数据和缓存位于 data/webview/,运行日志位于 data/logs/,随包文档、许可证和校验和位于 data/package/。程序目录必须可写,不会退回 AppData 或系统临时目录。
  • 覆盖升级前先退出程序,再将新版 ZIP 解压覆盖原目录;安装包不包含运行数据,因此会保留并复用 原有数据库、主题和缓存。旧版位于 exe 同级的数据库、主题、WebView 和日志会在桌面程序首次 启动时移入 data/;新旧路径同时存在数据时会报错,不会覆盖或合并。升级前必须退出旧程序, 主题命令遇到旧布局时会提示先启动桌面程序迁移。不会自动迁移旧版 %APPDATA%\Yousage 中的数据。
  • macOS / Linux 继续使用系统用户配置目录下的 Yousage 目录。
  • 数据库只保存归一化的用量数字,不保存提示词、回复内容或任何凭据。
  • 额度中心密钥、远程访问令牌等凭据保存在系统凭据库(Windows 凭据管理器、macOS 钥匙串、 Linux Secret Service)中,不会写入诊断报告。
  • 删除连接或替换密钥并成功保存后,会清理不再引用的旧凭据;禁用连接保留凭据。 清理失败会记录待办,在后续保存或退出时重试,不影响已保存的配置。

安装与运行

当前提供 Windows 11 amd64 便携版:

  1. 确认已安装 Microsoft Edge WebView2 Evergreen Runtime (Windows 11 通常已自带)。安装包不会自动下载它。
  2. 解压下载的 yousage_<version>_windows_amd64.zip,运行其中的 yousage.exe。

可执行文件未签名,首次运行时 Windows 可能会提示安全警告。

命令行主题

主题命令在创建窗口之前执行,可用于脚本化发布默认主题:

.\yousage.exe theme set ocean
.\yousage.exe theme set C:\Themes\my-theme.json
.\yousage.exe theme show
.\yousage.exe theme clear

--state-dir <目录> 指定独立的发布目录,--id 为主题文件指定 ID。 在界面中手动选择的主题会覆盖发布的主题,直到发布新的一代;clear 保留已发布的主题文件。

开发

构建、测试和打包说明见 开发指南,整体设计见 架构说明。

许可证与鸣谢

第三方依赖的许可证见 THIRD_PARTY_NOTICES.md。

Yousage 的用量统计、额度合并、主题引擎和部分界面组件参考并沿用了 T3 Code(MIT 许可证)的设计与实现,感谢 T3 Code 团队的开源工作。Yousage 是独立项目,与 T3 Code 官方没有关联,也不代表其认可。

同时感谢 Wails、models.dev 和 culori 等项目。

About

本地 AI 编程工具用量监控桌面应用:用量统计、额度监控、损耗分析与速率统计

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages