不想再开 7 个标签页查AI额度,我用 Node 写了个本地看板

作为一个AI重度使用者,每晚挑模型之前,我都要开七个标签页:Claude 的 5 小时窗口还剩多少、Codex 重置了没有、GLM 的积分够不够跑完这个任务。

切一圈两分钟,还经常看完就忘,那我干脆自己用AI写了一个只读的本地看板,把这些数字聚到一屏。

我把常用的 7 个 AI 编程订阅的剩余额度,聚到了一个只在本机运行的页面上:Claude、OpenAI Codex、智谱 GLM、DeepSeek、阿里云百炼、OpenCode Go、X Premium(Grok)。

它只读、不上传、不碰你的 Cookie;Node ≥ 22,零运行时依赖;MIT 开源。

仓库:github.com/panyz/ai-qu...


先看结果

截图使用合成示例数据,不代表任何真实账号。

读法很简单:

  • 每一行是一个订阅,左边色点是它在这张图里的「线路色」;
  • 线上圆点的位置 = 这个窗口已经用掉的比例 ,圆点下面写的是还剩多少;
  • 右边的大字是默认窗口的剩余量,下面的小字标明是哪个窗口;
  • 琥珀色 = 偏低(剩余 ≤ 已知总量的 1/5),红色 = 已用尽或读取失败;
  • 没有数字的窗口就空着。

一眼扫过去,你就知道下一个该用谁、哪个还有一小时就重置。


一、真正的问题不是「额度不够」,是「不知道还剩多少」

订阅一多,额度这件事就碎掉了。我数了一下自己同时在用的:

订阅 额度窗口 单位
Claude 5 小时 / 周 / Sonnet 周 / Opus 周 百分比
OpenAI Codex 5 小时 / 周 百分比
智谱 GLM Coding Plan 5 小时 / 周 积分
DeepSeek 余额 金额
阿里云百炼 Coding Plan 5 小时 / 周 / 月 次数
OpenCode Go 5 小时 / 周 / 月 百分比
X Premium · Grok 周 百分比

七家、四种单位、五种窗口长度、七个后台、七种重置规则(有的账户干脆没有重置时间)。(都是自己花钱订的,没有厂商合作。)

这会带来两种浪费:

  1. 用超了才发现。 5 小时窗口是最容易踩的------它在你专注干活的时候悄悄走完,然后你被限流,进度卡住。
  2. 不敢用。 因为不知道还剩多少,为了保险一直用最熟的那一个,其它订阅的额度月底原地过期。

每次决策「现在用哪个」,切七个后台大约两分钟。一天切五次,就是十分钟。但更贵的是判断错的代价:限流十分钟、任务重跑、上下文丢失。


二、3条硬约束

我不想做一个「什么都能读」的工具。边界先定死,后面所有设计都为它让路:

1. 只读。 不读、不导出 Cookie / Token / Storage / Network;不点击、不输入、不代替你登录;不处理验证码和 2FA。

2. 不猜数。 读不到就是读不到,不拿上次的值假装这次。读取失败时保留上一次的好数字,同时把失败原因标出来。

3. 不上云端。 数据只写本机 ~/.ai-quota-dashboard/state.json(目录 0700、文件 0600、原子写),本地页面只绑 127.0.0.1,启动时生成一次性 token;没有 CDN、没有遥测、没有外链。


三、怎么读到数字:两条通道,五种凭证

七家厂商的额度获取方式并不一样,我分成两类:

接口类(5 家):Claude、智谱、DeepSeek、百炼、Codex。用你自己的 key,或者官方客户端已经写在本机的凭证,直接调只读接口,不经过浏览器。

来源 凭证来源
Claude ANTHROPIC_OAUTH_TOKEN,或 ~/.claude/.credentials.json
智谱 Z_AI_API_KEY / BIGMODEL_API_KEY
DeepSeek DEEPSEEK_API_KEY
阿里云百炼 ALIBABA_CODING_PLAN_API_KEY / DASHSCOPE_API_KEY
OpenAI Codex CODEX_ACCESS_TOKEN,或 ~/.codex/auth.json

控制台类(2 家):OpenCode Go 和 X Premium · Grok。它们没有公开的额度接口,额度只显示在你已经登录的网页上。

做法是:另开一个 Chrome profile,带 --remote-debugging-port=9333 启动,在里面自己登录;工具通过 CDP 找到对应的标签页,Page.reload() 一次,再读 document.body.innerText 交给解析器。不碰 Cookie、不碰 Network、不碰 Storage。

bash 复制代码
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
  --remote-debugging-port=9333 \
  --user-data-dir="$HOME/.chrome-agent"

这里有个必须说清楚的细节:为什么每次都要 reload?

因为这些控制台只在页面加载时拉一次用量快照。一个挂了三小时的标签页,上面的数字就是三小时前的。只在需要时重新加载再读,才能拿到当前值。代价是慢一点,但读到旧数字比慢更糟。

还有一个安全提醒:9333 是本机的高控制面端口,任何本机进程都能连上它并控制这个浏览器。所以要用专用 profile 、只在需要时开、用完就关,绝对不要暴露到局域网或公网。


四、顺手做成了 DSH 插件

项目同时是一个 DeepSeek Harness 的 Cordis bundle 插件:装好之后,输入框上方多一条 22px 的「AI 额度」条,点一下在它正上方浮出明细。


五、它不做什么

  • 不是官方工具。 与 OpenCode、X 及各模型厂商没有任何关联,只是读你自己账号里的数字;
  • 平台改版会失效。 控制台类来源依赖页面结构,改版就要重新校准解析器;接口类来源不受页面改版影响;
  • X / Grok 只有周窗口。 它没有公开额度接口,只能从 dashboard 上暴露的「N% used」换算成剩余;没有 5 小时 / 月窗口;
  • 百炼可能读不到。 它的用量只对控制台登录态开放,部分账号即使配了 key 也会返回 ConsoleNeedLogin,这时只能等平台开放接口;
  • 只支持单账户,不做后台定时读取,不处理登录、验证码、2FA。

这些限制都写在 README 的「已知限制」里。我觉得把「做不到什么」写清楚,比在介绍里只放好话更有用------你 clone 下来试的时候,不会因为预期错位而浪费半小时。


六、跑起来

bash 复制代码
git clone https://github.com/panyz/ai-quota-dashboard.git
cd ai-quota-dashboard
node bin/quota.js --version   # Node ≥ 22,零运行时依赖,不需要 npm install
node bin/quota.js serve

serve 会打印一个带一次性 token 的本地地址,用浏览器打开即可。

只用其中一两家的话,不用配全:

bash 复制代码
export DEEPSEEK_API_KEY=sk-...
node bin/quota.js fetch --source deepseek
相关推荐
炫酷的大高个19 分钟前
3.2TB 权重开源了,我算了 4bit 之后还要几张卡
人工智能·架构·开源
字节跳动开源22 分钟前
AI 原型几分钟,设计返工一整天?OpenViking 让 AI 用上你的 Figma 设计稿
人工智能·开源
逛逛GitHub30 分钟前
又 3 个刚开源但要火的 GitHub 项目,在 iPhone 上跑 macOS。
github
陈工大模型2 小时前
解压工具的三个技术分水岭:编码、分卷、容器格式
人工智能·windows·安全·解压工具·免费国内办公软件
hpoenixf2 小时前
让 Agent 持续研究半小时:从普通研究到可靠交付的设计
人工智能
MysTic_Zhong2 小时前
【2】整体架构蓝图:六层依赖与技术选型
人工智能·agent
硅谷秋水2 小时前
EgoHumanoid‑V2 方法分析
人工智能·机器学习·计算机视觉·语言模型·机器人
hpoenixf2 小时前
Spec 驱动的 Agent 研发全景:从需求澄清到可信交付
人工智能
dozenyaoyida3 小时前
AI与大模型新闻日报 | 2026-11-12
人工智能·ai·大模型·新闻