Show HN 上有一句话被不少人记住了:“我希望在派发任务之前就看到每个账户的限流余量,而不是卡在半路才发现。”这句话说中了很多用 AI 编程工具的人的心事——账单和配额,永远是事后才看清。
![]()
blackbox-bill 的 v0.3.0 就是冲着这句话来的。它原本是个“事后复盘”工具:读你的 AI 编程账单,解释为什么数字看起来不对。现在它多了一层“事前检查”的身份——在派发下一个任务之前,显示每个账户的配额余量,并告诉你哪个账户扛得住这次任务。
安装方式很直接:pip install blackbox-bill。零依赖,只用 Python 3.9+ 标准库;不联网、不需要 API key,全部跑在你已有的文件上。项目在 GitHub 上,MIT 协议。
账单导出文件从来不带配额上限——没有哪家厂商会把剩余配额写进 CSV——所以上限需要你自己在一个小 JSON 文件里声明一次。工具按账户、按配额池,用你声明的上限减去观测到的用量。
跑起来是这样:blackbox-bill headroom --csv export.csv --limits-file limits.json。输出会按账户列出每个池的已消耗、上限、剩余和剩余百分比,并给出状态标记:OK、LOW(剩余低于 25%)、EXHAUSTED、UNLIMITED。
limits.json 的结构不复杂:上限用美元表示,null 代表无限,还可以选配一个 match 规则,按 CSV 里某一列的值把账单行划分到不同账户。比如一个账户叫 cursor-pro,计划是 cursor:pro,三个池分别设 500、125 和无限;另一个 shared-api-key 账户只设一个 200 的池,并用 match 指定归属。
如果这个周期还没有 CSV,也可以只跑 limits 模式——面板先显示你声明的上限,等导出文件出来再跑一次。
派发模拟器:哪个账户扛得住这个任务?
准备跑一个长任务时,加上 --task-in 和 --task-out,工具会按每个账户计划对应的费率卡重新给任务定价,并推荐有余量承接它的账户。示例输出里,cursor-pro 估算花费 10 美元,结论是“放不下”(剩余 -5 美元);shared-api-key 则因为没声明对应池的上限而无法定价。最后一行警告:在声明的上限下,没有账户有余量承接这个任务——要么充值,要么换计划,要么缩小任务规模,别等卡在半路再处理。
反过来,如果有账户放得下,输出会直接给出推荐:在某个账户上派发,它有余量。
想用自己的真实费率,可以传 --rates-file,估算就从示意数字变成真实数字。
从复盘到预检
v0.1 到 v0.2 是复盘:账单来了,工具重建它为什么看起来不对——为什么“Other Models”池先被抽干、模型被悄悄替换、你睡觉时无人看管地烧掉 40 美元。v0.3 是预检:每个账户还剩多少配额,下一次派发哪个账户能活下来,都在你按下确认之前给出。
定位没变,它仍然是一个只读的账单归因账本:不执行限制、不管预算线、不做拦截。用状态栏盯燃烧速度,用 blackbox-bill 审计账单——现在也能在点火之前审计。
它自己承认的局限
- 上限是自行声明的。面板的准确度等于 limits.json 的准确度;计划上限变了而文件没更新,面板就会以你预期的方式出错,所以数字要留保守。
- 模拟器只做定价,不做预测。用的是扁平的单 token 费率,真实的超额行为和按请求计费的下限没有建模。“放得下”只意味着“这个规模有预算”,不是保证。
- 费率卡默认是示意性的,除非你用 --rates-file 传入自己的费率。
仓库地址是 hahahahahahahahah6/blackbox-bill,MIT 协议。如果你也遇到过卡在半路被限流、而另一个账户的配额纹丝未动的情况,这个工具就是为这种场景准备的。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.