首页/新闻资讯/正文详情

OpenUsage如何把Token日志算成美元?模型定价引擎深度解析

发布时间:2026/9/25 3:29:28 来源:云帆数科 栏目:资讯中心
OpenUsage如何把Token日志算成美元?模型定价引擎深度解析
OpenUsage如何把Token日志算成美元模型定价引擎深度解析【免费下载链接】openusageBurning through your subscriptions too fast? Paying for stuff you never use? Stop guessing. OpenUsage is free and open source.项目地址: https://gitcode.com/gh_mirrors/op/openusageOpenUsage 是一款免费开源的 macOS 菜单栏应用它能扫描 Claude、Codex、Cursor、Grok 等 AI 工具的本地 Token 日志并通过内置的模型定价引擎把每一次请求的 Token 消耗折算成美元成本让你清楚知道订阅额度值多少钱。本文带你完整走一遍这套定价引擎的工作流程价格从哪来、模型名如何匹配、美元如何计算、以及离线时如何保证估算不中断。三层价格数据源定价数据从哪里来OpenUsage 的价格数据采用三层叠加策略同一模型出现在多个来源时上层优先OpenUsage 定价补充表supplement覆盖公共目录里没有的模型如 Cursor 原生的auto、composer-*系列、快速变体倍率、以及日志模型名到目录键的别名规则。LiteLLM社区维护的model_prices_and_context_window.json覆盖绝大多数 API 计费的模型。models.dev兜底来源补充 LiteLLM 遗漏的新模型或小众模型。应用安装包内自带这三份数据的离线快照pricing_supplement.json 等所以首次启动、断网状态下都能正常计价。运行时每个来源约每小时刷新一次带 ETag 校验缓存存放在~/Library/Application Support/OpenUsage/pricing/目录刷新永远不阻塞用量扫描。补充表还支持热更新合并进主分支后约一小时即可被所有已安装应用拉取无需发新版本。详细说明见官方文档 pricing.md。模型名解析从日志字符串到价格表的 6 步日志里的模型名很少与价格表键完全一致比如grok-4.3vsgrok-4-3OpenUsage 按固定顺序逐级尝试匹配补充表别名规则把日志 slug 改写成标准键例如 Cursor Router 选出的Opus 5 (Auto Balanced)这种文字描述也能映射到对应模型的价格补充表精确匹配LiteLLM 精确匹配-fast快速变体处理去掉-fast后缀按基础模型计价再乘以快速倍率没有已知倍率时宁可标记为未定价也不静默套用标准速度价格LiteLLM 模糊匹配边界感知的子串匹配容忍厂商前缀xai/、分隔符差异.vs-、日期后缀claude-sonnet-4↔claude-sonnet-4-20250514同时避免把claude-sonnet-4误配到claude-sonnet-4-5models.dev 精确匹配仅作 id 级兜底。匹配逻辑的核心实现在 ModelPricing.swift 和 PricingCatalog.swift并对每个模型名做了内存缓存memoize整个解析过程同步完成不会拖慢扫描。美元计算公式四类 Token 桶分别计价每次请求的成本按4 类 Token 桶分别计算定义见 ModelRates.swiftToken 桶计价方式普通输入input按模型输入单价5 分钟缓存写入cache write按缓存写入单价无单独定价时等同输入价缓存读取cache read按缓存读取单价通常仅为输入的 1/10 左右输出output按模型输出单价在此基础上还有两个加价规则长上下文档位提示词超过阈值多数模型 20 万 Token部分 GPT-5.x 系列为 27.2 万时整个请求按高档费率计价快速模式倍率会话标记了 fast 变体时全部费用乘以倍率Claude 快速模式为 2 倍。单请求费用 Σ(各桶 Token 数 × 每百万 Token 单价)最终按天聚合再由 SpendTileMapper.swift 汇总成面板上今日 / 昨日 / 近 30 天三张花费卡显示为$4.08 · 1.2M tokens的样式并带 ⓘ 标记表示这是本地估算值。无价模型怎么办宁缺毋滥的估算原则定价引擎有一条铁律任何来源都无法定价的模型会被整体排除出美元统计并在面板上显示黄色警告三角列出未定价的模型名整天无价可算时则显示 No data。这避免了Token 数旁边挂着一个漏算了部分的美元数字这种误导。针对 Codex 的本地日志OpenUsage 还提供了可选的Fallback Model兜底定价模型在自定义 → Codex → 成本估算中指定一个公开模型后原本无法定价的用量会按该模型的费率估算已知价格仍然优先并会重新计算历史数据。相关实现在 PricingFallbackOptions.swift。离线优先的缓存策略ModelPricingStore.swift 实现了陈旧数据可先服务后台再校验stale-while-revalidate策略启动时用捆绑快照 磁盘缓存合并重建价格表缓存条目覆盖快照条目但快照独有的模型在实时源下线时依然可用刷新请求携带If-None-Match收到 304 即不重复下载补充表带 ISO-8601updated_at时间戳应用自动取缓存版与捆绑版中较新者避免旧缓存遮蔽新发货的价格拉取的远端数据只获取三份公开价格表不携带任何用量或日志数据你的使用记录不会离开本机。维护者可用 update_pricing_snapshots.sh 脚本定期重新生成捆绑快照例如发版前陈旧无害——运行时拉取会始终覆盖它们。小结这套引擎设计在哪如果你想在源码层面继续深挖建议按以下路径阅读模块文件定价快照与解析顺序ModelPricing.swift费率结构与计费公式ModelRates.swift模糊匹配算法PricingCatalog.swift刷新与缓存管理ModelPricingStore.swift花费卡片汇总SpendTileMapper.swift架构总览architecture.md一句话总结三层数据源 六级名称解析 四桶计价 离线缓存让 OpenUsage 的美元估算既快速又诚实——宁可标注无法计价也不给你一个可能偏低的数字。【免费下载链接】openusageBurning through your subscriptions too fast? Paying for stuff you never use? Stop guessing. OpenUsage is free and open source.项目地址: https://gitcode.com/gh_mirrors/op/openusage创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Spring Boot集成Redis实战与序列化优化
Spring Boot集成Redis实战与序列化优化

1. Redis与Spring Boot集成概述Redis作为当前最流行的内存数据库之一,在Spring Boot项目中有着广泛的应用场景。作为一名长期使用Redis的开发者,我经常看到新手在使用Spring Data Redis时会遇到各种问题,特别是序列化相关的坑。本文将系统性地… · 2026/9/25 3:29:28

robot-dog-swarm-control 使用教程:服务端与客户端如何分工,让多只机器狗听令而同步
robot-dog-swarm-control 使用教程:服务端与客户端如何分工,让多只机器狗听令而同步

robot-dog-swarm-control 使用教程:服务端与客户端如何分工,让多只机器狗听令而同步 【免费下载链接】CupCode_robot-dog-swarm-control模块 源师兄扩展项目: 机器狗群控 | 由源师兄组织创建 项目地址: https://gitcode.com/yuanshixiong/robot-dog-sw… · 2026/9/25 3:29:28

ng-zorro-antd AutoComplete 多种形态(Variant)实战指南:outlined / filled / borderless / underlined 四种形态全解析
ng-zorro-antd AutoComplete 多种形态(Variant)实战指南:outlined / filled / borderless / underlined 四种形态全解析

UI组件前端 【免费下载链接】ng-zorro-antd Angular UI Component Library based on Ant Design 项目地址: https://gitcode.com/gh_mirrors/ng/ng-zorro-antd 点击查看 免费下载 AutoComplete(自动完成)是 ng-zorro-antd 中基于输入框的高频… · 2026/9/25 3:29:22

Ventoy多重启动U盘制作:NTFS支持与Secure Boot兼容实战
Ventoy多重启动U盘制作:NTFS支持与Secure Boot兼容实战

简介:Ventoy 1.1.11 Windows版是一款面向系统运维人员、IT支持工程师及装机爱好者的开源U盘启动盘制作工具,彻底解决传统方式需反复格式化U盘、逐个制作启动盘的低效问题。用户仅需将多个ISO镜像(如微PE、大白菜、Ubuntu、CentOS、Windows Se… · 2026/9/25 3:58:30

cube-ui Textarea 多行输入框组件详解:双向绑定、折叠展开与字数计数全配置
cube-ui Textarea 多行输入框组件详解:双向绑定、折叠展开与字数计数全配置

前端UI组件移动开发 【免费下载链接】cube-ui :large_orange_diamond: A fantastic mobile ui lib implement by Vue 项目地址: https://gitcode.com/gh_mirrors/cu/cube-ui 点击查看 免费下载 导读 本文以 cube-ui(一个基于 Vue 构建的移动端 UI 组件… · 2026/9/25 3:58:30

ENSP AR启动Error 40根因与修复:OSType错配导致input[18]校验失败
ENSP AR启动Error 40根因与修复:OSType错配导致input[18]校验失败

简介:本资源是一份针对华为ENSP模拟器中AR设备虚拟机无法启动问题的专项排错指南,面向网络工程初学者、HCIA备考人员及实验环境搭建受阻的实践者。文档聚焦于40错误代码这一典型故障,在常规卸载重装、检查虚拟网卡、验证IP配置等方法均失效后… · 2026/9/25 3:58:30

NACHOS操作系统课设全攻略:从环境搭建到系统调用调试
NACHOS操作系统课设全攻略:从环境搭建到系统调用调试

简介:山东大学2020级操作系统课程设计成果,基于NACHOS-3.4-UALR-2022教学内核完成,面向计算机专业本科生及系统编程学习者。项目使用C语言实现,覆盖进程管理、线程调度、内存管理、文件系统与同步机制等核心模块,通过修… · 2026/9/25 3:58:30

微信小程序电商纠纷处理机制设计与实现:从规则到代码
微信小程序电商纠纷处理机制设计与实现:从规则到代码

简介:这份文档面向微信小程序电商平台的运营、客服与法务合规人员,提供一套完整的用户交易纠纷处理机制模板,可直接用于平台规则搭建或内部制度参考。资源包共1个docx文件,约11KB,内容为可编辑的Word文档,便… · 2026/9/25 3:58:29

Metadata as Code 分阶段交付计划:kcmd 从只读快照到双向同步的落地路线图
Metadata as Code 分阶段交付计划:kcmd 从只读快照到双向同步的落地路线图

数据目录AI Agent人工智能知识管理示例工程 【免费下载链接】knowledge-catalog Google Cloud Knowledge Catalog Tools and Samples 项目地址: https://gitcode.com/gh_mirrors/kn/knowledge-catalog 点击查看 免费下载 导读 分阶段交付计划 是 toolbox/mdcode&a… · 2026/9/25 3:58:23

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码