news 2026/9/15 20:25:13

GitDiagram 如何用 quota:today 脚本查看当日免费 Token 额度的已用与可用量?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GitDiagram 如何用 quota:today 脚本查看当日免费 Token 额度的已用与可用量?

GitDiagram 如何用 quota:today 脚本查看当日免费 Token 额度的已用与可用量?

【免费下载链接】gitdiagramFree, simple, fast interactive diagrams for any GitHub repository项目地址: https://gitcode.com/GitHub_Trending/gi/gitdiagram

GitDiagram 为没有自带 OpenAI API key 的访客提供每日免费 Token 配额,配额按 UTC 日期记账在 Upstash Redis 中。当你想确认当天免费额度还剩多少、已经被用掉多少时,可以直接运行仓库自带的quota:today脚本,它会查询 Upstash 并输出当日额度的已用、预留与可用量。该脚本在配好 Upstash 环境变量的本地开发环境或任何能访问同一 Upstash 实例的部署环境都可以执行,不需要先启动 Next.js 服务。

免费配额记账在哪里

先弄清脚本读的是什么,才知道输出数字代表什么:

  • 配额键按UTC 日期 + 配额桶生成,桶名为固定的openai-complimentary-small-models,见 complimentary-gate.ts;
  • 已用与预留量以used_tokensreserved_tokens两个哈希字段存放在 Upstash,键由 quota-store.ts 中的buildQuotaKey构造;
  • 每日上限默认是10,000,000Token(DEFAULT_DAILY_LIMIT_TOKENS),可通过环境变量OPENAI_COMPLIMENTARY_DAILY_LIMIT_TOKENS覆盖,读取逻辑同样在getComplimentaryDailyLimitTokens()中;
  • 可用量计算为上限 - used_tokens - reserved_tokens,且不为负,这与 complimentary-quota-today.mjs 中remainingTokens的算法一致。

reserved_tokens表示当前正在进行中的生成所预留的预算:请求被准入时先预留,生成结束后用实际消耗替换。因此「可用量」比「上限减已用」更保守,它扣掉了在途请求。

准备条件

按 docs/dev-setup.md 的配置要求准备环境:

  • Node.js20.9.0或更新版本(Next.js 16 的要求);
  • Bun:dev-setup 文档写的是1.3.11或兼容的1.3.x,而 package.json 的engines字段要求>=1.3.14 <2packageManagerbun@1.3.14。满足 engines 的版本即可运行本脚本。

安装依赖并准备.env

bun install cp .env.example .env

脚本通过dotenv从当前工作目录的.env加载配置(config({ path: ".env" })),所以执行脚本时该目录下必须存在.env

脚本真正依赖的环境变量只有两个,来自 upstash.ts 的必填项:

UPSTASH_REDIS_REST_URL=... UPSTASH_REDIS_REST_TOKEN=...

填成你部署所用的 Upstash 实例即可。可选变量OPENAI_COMPLIMENTARY_DAILY_LIMIT_TOKENS用于覆盖默认上限;不设时脚本按10,000,000计算可用量。

执行 quota:today

package.json 中定义了脚本入口:

"quota:today": "bun scripts/complimentary-quota-today.mjs"

运行:

bun run quota:today

它等价于直接执行bun scripts/complimentary-quota-today.mjs。脚本内部只发出HMGETZCOUNT这类只读 Redis 命令,不会写入配额计数,可以放心重复执行。

如何读懂输出

脚本会依次打印 8 行结果,字段含义如下:

输出字段含义
Backend:固定为upstash,表示配额数据源
UTC date:配额所属的 UTC 日期(脚本取new Date().toISOString().slice(0, 10)),跨 UTC 0 点后会指向新的一天
Bucket:配额桶名,固定openai-complimentary-small-models
Daily limit:当日 Token 上限,取OPENAI_COMPLIMENTARY_DAILY_LIMIT_TOKENS,未配置时为默认值 10,000,000
Used exact:当日已提交(finalize)的 Token 数
Reserved now:当前在途生成仍预留的 Token 数
Available now:Daily limit - Used exact - Reserved now,下限为 0
Live leases:/Stale leases:生效中 / 已过期的预留租约数量。脚本注释说明:过期租约会在下一次准入(admission)时被回收,此处非零只表示它们过期之后还没有新的生成开始

判断依据很直接:Available now就是此刻还能放进免费额度的 Token 量;它归零说明当日额度(含在途预留)已用完。此时脚本不会报错,只是把可用量显示为 0。

边界与限制

  • 配额按 UTC 日期重置。免费额度耗尽时的拒绝文案提示用户 00:00 UTC 后重试或改用自带 OpenAI API key(见 complimentary-gate.ts 中的DEFAULT_DENIAL_MESSAGE)。
  • 这个免费桶服务于「使用服务器默认 key」的请求。免费闸门仅在OPENAI_COMPLIMENTARY_GATE_ENABLED开启、provider 为openai且请求未携带用户 API key 时生效,相关开关属于 docs/dev-setup.md 列出的可选生成控制项。
  • 脚本查询的是共享配额状态:Used exact是所有访客当日消耗总和,不是某个用户的个人用量。
  • 上限值来自运行脚本时.env中的配置,如果你在线上调了OPENAI_COMPLIMENTARY_DAILY_LIMIT_TOKENS,本地.env与线上不一致时,脚本算出的Available now会基于本地那份配置。

进一步查看记账细节可阅读 quota-store.ts(准入、标记开始、finalize 三段 Lua 脚本与键结构)和 dev-setup.md 的完整配置清单。

【免费下载链接】gitdiagramFree, simple, fast interactive diagrams for any GitHub repository项目地址: https://gitcode.com/GitHub_Trending/gi/gitdiagram

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 20:23:21

Oracle EBS R12总账模块实施要点:从科目结构到月结流程全解析

做Oracle ERP EBS R12项目的人&#xff0c;十有八九是先跟总账&#xff08;GL&#xff09;打交道的。GL是整个EBS财务体系的中枢&#xff0c;AP、AR、FA、成本模块的数据最终都会汇总到GL&#xff0c;月末结账、出报表、做预算、管理多组织账套&#xff0c;全都绕不开这个模块。…

作者头像 李华
网站建设 2026/9/15 20:21:21

滑模控制MATLAB实现:边界层与趋近律的工程化抖振抑制

简介&#xff1a;本资源是一套面向自动化、控制工程专业本科生及初学者的滑模变结构控制&#xff08;SMC&#xff09;MATLAB仿真源码包&#xff0c;专为课程设计与期末大作业打造&#xff0c;解决理论理解难、代码实现无从下手、仿真调试耗时等典型痛点。压缩包共359个文件&…

作者头像 李华
网站建设 2026/9/15 20:20:54

抖音视频批量去水印保存:douyin-downloader 三步上手指南

抖音视频批量去水印保存&#xff1a;douyin-downloader 三步上手指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback su…

作者头像 李华
网站建设 2026/9/15 20:19:20

CSV转Fluent Profile完整指南:格式、转换与导入避坑

做CFD的人多半都遇到过这个需求&#xff1a;手里有一份实测数据或者上游软件导出的结果&#xff0c;格式是CSV&#xff0c;想把它作为Fluent里的Profile&#xff08;数据表&#xff09;喂给边界条件或初始条件用。我最早接触这件事是在处理一个通风管道入口的速度分布&#xff…

作者头像 李华
网站建设 2026/9/15 20:18:16

TFT多变量时序预测实战:原理、PyTorch实现与经验

做过多变量时序预测的朋友&#xff0c;应该都经历过这样的阶段&#xff1a;拿到一堆特征&#xff0c;不管三七二十一先上个LSTM再说。训练半天&#xff0c;loss降了&#xff0c;结果一上测试集&#xff0c;要么滞后严重&#xff0c;要么变量稍微多一点就直接崩溃。我也一样&…

作者头像 李华