MXterm Pro

Claude Code 用量与额度查询

Token Meter 读取 Claude Code、Codex、Gemini CLI 和 omp 写在磁盘上的转录记录,把用量汇总显示在标题栏。它还能显示套餐限额,以及六个 API 提供商账户的余额、配额或花费。套餐限额和实时 Codex 限额各有独立开关,账户提供商在你保存密钥后开始读取。弹出面板会列出你配置过的每个提供商,置顶的那个排在最前。

标题栏标签

标题栏上有一个标签。点击它会弹出面板,每个有内容可显示的提供商占一行:本机上找到转录记录文件夹的 Claude Code、Codex 和 Gemini;过去 30 天里 omp 用了上述之外的账户计费时出现的其他 Agent;以及你保存过密钥的每个账户提供商(本机上登录了 Kimi Code CLI 时,Kimi 也会出现)。行的顺序固定:Claude Code、Codex、Gemini、其他 Agent、DeepSeek、Moonshot、Kimi、MiniMax、OpenRouter、Z.ai,只有你置顶的提供商会排到最前(见下文置顶一节)。

标签显示最接近限额的那个提供商。具体显示什么,取决于实际能知道什么:

  • 百分比:任一提供商公布了配额窗口时显示,取所有提供商里最紧张的那个。旁边是该提供商的图标,悬停在标签上会显示窗口名称和重置时间。
  • Token 数:没有任何提供商公布配额时显示,为过去 5 小时用掉的 Token,读自本机上的转录记录,取 Claude Code、Codex、Gemini 和其他 Agent 中第一个有行的那个。
  • 最低余额:本机没有本地转录行(Claude Code、Codex、Gemini、其他 Agent),没有提供商公布配额,且至少一个提供商报告了美元余额时显示。取其中最小的一个,以金额形式(例如 $12.34)显示,并带上该提供商的图标。余额没有上限,所以不会换算成百分比;以人民币计的余额也不会为了比较而换算成美元。
  • 不显示任何数字:本机没有本地转录行,而你配置的提供商只报告花费,或只有人民币余额。此时标签只显示一个普通的仪表图标。

百分比低于 60% 时是中性色,从 60% 起为琥珀色,从 85% 起为红色。这种着色只用于提供商公布的百分比,不会用在 Token 数或余额上。

没有可显示的内容时,标签会整个隐藏:本机没有任何 Agent 转录记录文件夹,也没有保存任何提供商密钥。首次扫描在启动 8 秒后开始,扫描结束后才会出现第一批数字。

数字从哪里来

Agent文件夹读取的文件
Claude Code~/.claude/projects该文件夹及其子文件夹中的 .jsonl 转录记录
Codex~/.codex该文件夹及其子文件夹中的 .jsonl 会话文件
Gemini CLI~/.gemini/tmp该文件夹及其子文件夹中的 .jsonl 聊天文件
omp~/.omp/agent/sessions该文件夹及其子文件夹中的 .jsonl 会话文件

用量按每轮对话统计,并按小时和模型分组。最近 30 天内没有修改过的文件会被跳过,超过 30 天的数据会被丢弃。omp 会同时用多个提供商,所以 omp 的每一轮会记到它计费的那个账户的行:Anthropic 记到 Claude Code,OpenAI 记到 Codex,Google 记到 Gemini,其他任何提供商(DeepSeek、MiniMax 等)记到其他 Agent。omp 从 Claude Code 或 Codex 会话导入的轮次不会重复计数。OpenCode 和其他 Agent 不计入:应用只读取上面这四个文件夹。

MXterm Pro 会写入 ~/.codex/config.toml,让 Codex 连接它的 MCP 服务器(见 编程 Agent 与 Control Room,原名 War Room),这会创建 ~/.codex 文件夹。从下次启动起,即使没有安装 Codex,弹出面板里也可能出现显示 0 的 Codex 行。
Token Meter 在你的主目录里查找转录记录文件夹:设置了 HOME 就用它,否则用 USERPROFILE,再否则用 HOMEDRIVE 加 HOMEPATH。从资源管理器启动的 Windows 应用通常只有 USERPROFILE。Windows 版未签名,转录记录扫描也只在 macOS 上验证过。

弹出面板:每个提供商一行

每一行显示该提供商的要点:它公布的窗口最多显示三个小条(5h、周,第三个是月、配额或某个模型专属限额的名称);如果是余额或花费,则显示一行文字。行的第一行写出最接近限额的那个窗口的重置时间:5 小时窗口显示 在 … 后重置,其他窗口则显示例如 周 将在 … 后重置。如果某个窗口的重置时间已过,而此后没有新的读数,就显示空条和一个短横线,不再显示过期的数字(展开详情和悬停时显示 已重置,此后暂无数据)。Claude Code 行的套餐限额读数超过 15 分钟时,还会显示 无法刷新 · 上次读取。

每一行都标着它显示的是谁的数字。账户表示由提供商为你的整个账户报告,包括在其他设备上的使用:套餐限额条、余额和账户的花费。本 Mac 表示只按这台电脑上的转录记录统计:没有限额的行会显示今日花费和 Token 数,例如 $1.20 today · 3.4M tokens。Gemini 和其他 Agent 的行总是显示这一行本地数据,因为应用读不到它们的配额。

弹出面板列出所有已有对应行的提供商,置顶的排第一,其余按固定顺序排列。标题栏标签代表的提供商不一定排在第一。

还没配置的账户提供商会列在各行之后,标注为 在设置中配置。有两个及以上时,它们会折叠成一行带图标的 更多提供商…,点击即可展开。点击其中任意一行,都会打开 设置 → Token Meter。

点击 Claude Code、Codex、Gemini 或其他 Agent 的行,可展开它的详情。提供商自己的限额先在账户标签下显示,然后是在这里统计到的内容,在本 Mac 标签下:

  • 会话 和 本周 两个进度条,以及该提供商报告的各模型限额,每项都带重置时间。只适用于 Claude Code 和 Codex,且只有这些限额可用时才显示,见下面两节。
  • Token:过去 5 小时、过去 7 天和过去 30 天的用量。5 小时和 7 天两个窗口按整小时分桶计算,所以各自可能多包含一小时中的一部分。
  • 费用:今日、过去 7 天和过去 30 天的估算费用。算不出价格的数字显示暂无价格,漏掉了部分未定价 Token 的数字以 ≥ 开头。
  • 过去 24 小时:每小时一根柱。
  • 过去 30 天:每天一根柱。可以在 Token 和 费用 之间切换,悬停或聚焦某一天,可看到当天总量和按 Token 数排名前三的模型。
  • 过去 7 天按 新输入、输出、写入缓存、读取缓存 和 回合数 拆分。
  • 这些数字是多久之前算出来的,以及这一行:从本 Mac 上每个 Agent 自己的转录记录中读取。没有任何内容发送到外部。

弹出面板底部有一行所有智能体,把每个 Agent 的今日、过去 7 天和过去 30 天加起来,Token 在上、费用在下。过去 30 天内有两个或更多 Agent 用过 Token 时才会出现,点它会按 Agent 拆开显示。

把提供商置顶

弹出面板里排在第一位的默认是 Claude Code。要更改,打开 设置 → Token Meter,在 置顶到顶部 下选另一个提供商,或选 无(固定顺序)。

置顶只会移动一行的位置。你配置过的每个提供商仍然都会列出,标签仍然跟随最接近用完的那个限额。如果置顶的提供商没有对应的行(没找到 Codex,或没保存密钥),就什么都不会移动。

费用数字

费用是把 Token 数按各模型的公开 API 费率折算出来的,价格表内置在应用里。如果 omp 为某一轮记录了自己的费用,这些 Token 就用那个数字。弹出面板把它标为 按 API 费率计算,非订阅实际扣费,并显示这份价格表的日期。如果你付费订阅了套餐,这个数字不是你实际被扣的钱。

  • 今日 从本地午夜开始算,过去 7 天 和 过去 30 天 是滚动窗口;只保留 30 天历史。
  • 价格表里没有的模型,Token 会计入,费用不会。此时数字会注明它只是下限,列出这些模型,并显示已计价的 Token 占比。
  • 窗口内没有任何已知价格时,费用显示 —。
  • 价格表尚未验证过 OpenAI 模型的价格是否和 OpenAI 自己的价格页一致,所以 Codex 的费用请当作估算。

更新方式

  • 首次扫描在启动 8 秒后开始。转录记录很大时,可能要花一段时间。
  • 之后应用每 60 秒重新扫描一次,只读取每个文件自上次扫描以来新增的部分。
  • 标题栏每 30 秒取一次最新的转录结果,并每 60 秒请求一次 Claude 套餐限额、实时 Codex 限额和账户读数。这些提供商各自仍有 5 分钟的最短间隔。
  • 弹出面板顶部的刷新按钮(重新检查所有提供商)会一次性拉取每个提供商的最新读数,不必等待标题栏取结果。它不会启动新的转录记录扫描,也不会缩短 Anthropic、实时 Codex 限额和账户提供商 5 分钟的最短间隔:在这段时间内刚被询问过的提供商,会直接返回上次的读数。
  • 扫描进度保存在应用配置文件夹里的 token-meter-cache.json(macOS 上是 ~/Library/Application Support/com.mxterm.desktop),所以重启后,应用只读取关闭期间发生变化的部分。

Claude 的真实套餐限额

Claude Code 的转录记录不记录你套餐的限额,所以默认情况下,计量显示的是 Token 数而不是百分比。要看 Anthropic 报告的百分比,打开 设置 → Token Meter,找到 套餐限额,打开 显示 Claude 的真实限额百分比。该开关默认关闭,只适用于 Claude Code。

打开后:

  1. 应用通过 macOS 的 security 工具读取 Claude Code 的钥匙串项 Claude Code-credentials。Claude Code 也是用同一个工具写入这个项的,所以 macOS 通常不会弹出提示。
  2. 应用从该项中取出 Claude Code 的登录令牌,用它调用 GET https://api.anthropic.com/api/oauth/usage。令牌保存在应用内存中,直到过期或被 Anthropic 拒绝,所以每个令牌只读一次钥匙串。它不会写入磁盘,也不会写入日志。
  3. 标签和弹出面板显示你的 5 小时和每周百分比,以及它们的重置时间。

应用最多每 300 秒调用一次该接口,其间显示上次的读数。收到限流响应(HTTP 429)后,要等 900 秒才会再次尝试。如果连不上 Anthropic,屏幕上会保留上次的读数。

如果 macOS 拒绝读取(钥匙串已锁定,或你拒绝了系统提示),该功能会一直无法使用,直到你关闭后再打开开关,或重启应用。如果 Claude Code 没有登录,面板会提示你运行 claude 登录。套餐限额只在 macOS 上可用;在其他系统上读不到凭据,面板会显示同样的未登录提示。如果要在受管理的 Mac 上禁止读取钥匙串(包括 Claude Code 的项和 MXterm Pro 保存的账户密钥),请用环境变量 MXTERM_DISABLE_KEYCHAIN=1 启动 MXterm Pro。

Codex 限额:来自磁盘或实时

Codex 的限额不需要开关,也不需要联网。Codex 会把服务器发给它的限流响应头写进自己的会话文件,所以 Codex 界面显示的 5 小时和每周百分比,已经在 Token Meter 扫描的文件里了。展开的 Codex 行会注明 由 Codex 于 … 前报告,因为这个数字只和你在本机上最后一次使用 Codex 时一样新。

如果想要当前的数字,设置 → Token Meter 里有 实时 Codex 限额,默认关闭。打开后,应用会从 ~/.codex/auth.json 读取 Codex 自己的 ChatGPT 登录凭据,只把它发给 chatgpt.com 来获取你当前的限额,不会修改或刷新这份登录凭据。这项检查最多每 5 分钟运行一次。不到 15 分钟的实时读数会取代从磁盘读到的那份,这时该行显示 来自 OpenAI 的实时数据,更新于 … 前。

如果登录凭据保存在系统钥匙串里,而不是 ~/.codex/auth.json,则不会被读取:面板会显示 ~/.codex/auth.json 中没有 Codex ChatGPT 登录凭据。请运行 `codex login`。 如果 OpenAI 对这次检查限流,应用会等 15 分钟再重试。

用 API 密钥查看账户余额

六个提供商可以报告你账户的状态:余额、配额或已花费的金额。每一个都用你粘贴到 设置 → Token Meter 里 账户提供商 下的 API 密钥来读取。没有保存密钥时,应用不会调用 Keychain;除了本机上登录了 Kimi Code CLI 的 Kimi(见下面的说明),也不会联网。

提供商所需密钥该行显示的内容
DeepSeek从 DeepSeek 平台 API keys 页面获取的 API 密钥余额,分为充值余额和赠送余额
MoonshotMoonshot / Kimi 开放平台的 API 密钥,区域可选国际或 China余额
KimiKimi Code API 密钥配额:7 天窗口和 5 小时限流窗口
MiniMaxMiniMax Coding Plan 的专用密钥,以 sk-cp- 开头,区域可选 Global 或 China套餐已用配额,以百分比显示
OpenRouteropenrouter.ai/keys 上的 API 密钥,不是管理密钥密钥设了花费上限时显示配额,否则显示目前已花费的金额
Z.ai你自己的 Z.ai / BigModel 编程套餐的 API 密钥,并把 区域 设为 Global 或 ChinaGLM coding plan 的配额

每个密钥都保存在系统的凭据存储里:macOS 上是 Keychain,Windows 版使用凭据管理器,这一点尚未验证。密钥只发送给该提供商自己的 API,例外只有 哪些数据会离开你的机器 一节说明的两种情况。面板上有一句话说明了这一点,两个系统上都写的是 macOS Keychain:密钥保存在 macOS Keychain 中,且仅发送给对应的提供商。 应用自己的文件里不写任何机密内容,只记录某个提供商是否已配置、它的区域,以及密钥的最后四个字符,所以面板能显示 密钥已保存 · …abcd。如果 macOS 拒绝访问 Keychain,你已配置的提供商的行会显示 macOS Keychain 访问被阻止,直到你保存或删除密钥,或重启应用,不会一直等一个读不到的数据。

这六个提供商的响应格式还没有用真实响应核对过,所以在核对之前,某一行可能没有数字,或数字不对。请把这些读数当作未验证。

每个提供商最多每 5 分钟刷新一次。被限流的提供商会暂停 15 分钟;回复 密钥被拒绝,请在设置中更新 的提供商,会暂停到你更换密钥为止。在已有一次正常读数之后,如果刷新因为连不上提供商或被限流而失败,该行会保留旧数字,并标注 无法刷新 · 上次读取。密钥被拒绝或回复无法读取时,旧数字会被丢弃。

Kimi 是唯一一个不粘贴密钥也能工作的提供商:如果本机上登录了 Kimi Code CLI,且它的令牌还没过期,应用会从 ~/.kimi-code/credentials/kimi-code.json 读取该令牌,并发送给 api.kimi.com 来读取你的配额,不需要打开任何开关。应用只读取这个文件,从不刷新令牌,而且你粘贴的密钥优先。

分屏和标签页上

分屏自己的 Token 数在左侧侧边栏它那一行里,不在分屏标题栏,也不在标签页上。这一行的第二行显示 Agent,以及该分屏的对话在这台 Mac 上的用量(最多过去 30 天),例如 Claude Code · 1.7M · $0.41,按标价计算,不是你实际被扣的费用。工作区那一行显示其中对话已知的分屏的合计。对话未知的分屏什么也不显示,Gemini 分屏也一样:不会猜一个数字。

在运行 Claude Code 或 Codex 的分屏上,套餐自己公布的百分比到 80% 时会出现一条提示(你可能想收尾了),到 95% 时再出现一次(最好停下)。它只来自真实的百分比,所以需要上文所说的限额可用;其他 Agent 从不会收到。这条提示只是信息:点它的 ✕ 关闭,它不会暂停 Agent,也不会往分屏里输入。当 Claude Code 在某个对话里的最后一行是套餐限额、且重置时间还没到时,分屏标题栏会显示正在等待套餐重置和那个时间。

这些内容来自代码及其测试,尚未在真实机器上试过。

哪些数据会离开你的机器

Token 数和费用都在你的机器上计算,转录记录不会发送到任何地方。从磁盘读取的 Codex 限额同样是本地的。已配对的手机可以从这台 Mac 读取你的套餐百分比,但读不到余额。有三件事可能发出网络请求,每一件都只发给它自己的提供商:

  • 显示 Claude 的真实限额百分比 → api.anthropic.com,带上 Claude Code 自己的登录令牌。
  • 实时 Codex 限额 → chatgpt.com,带上 Codex 自己的登录凭据。
  • 账户提供商 → 该提供商自己的 API,带上你为它保存的密钥。有两种情况超出这一范围。对 Kimi 来说,如果你没有保存密钥,而本机上登录了 Kimi Code CLI,应用会把该 CLI 的令牌发送给 api.kimi.com,没有密钥,也没有开关。在 Global 区域被拒绝的 MiniMax 密钥,会改用 MiniMax 的中国主机 api.minimaxi.com 重试。重定向会被直接拒绝,所以密钥只会发到它所属提供商的主机。

应用的其他网络流量,见 遥测:应用会发送什么。

问问 AI:MXterm Pro 怎么样

根据本页内容,在 ChatGPT、Claude 或 Perplexity 里直接生成回答。回答由 AI 写,不是我们写的,请核对它引用的来源。

发送的问题Token Meter 的数据从哪里来,标题栏小标签和弹出面板怎么看?