Sub2API的/v1/usage接口可以获取到当前key的token详细用量,但是缺陷是:
- 请求中必须携带 API Key
- 只会返回此 API Key 的用量数据
因此在静态博客等纯前端项目中直接使用不安全,也不方便。于是我借助 Cloudflare Workers 做了一个用量代理,用于给静态博客提供聚合后的 Token、请求量、成本和模型统计数据:sub2api-usage-api
这个项目把这些逻辑放到 Worker 中:
- API Key 只保存在 Worker Secret 中,不下发到浏览器
- 并发请求多个 Sub2API Key,并聚合用量数据
- 支持部分 Key 失败时返回已有结果
- 对响应进行边缘缓存,减少上游请求
- 通过 CORS 和允许路径限制前端调用范围
你只需要部署后,直接在你的静态页面中请求Workers的域名api即可。这是本站-关于页面的效果示例:
Tip
Cloudflare Workers 一定要设置自己的域名,它免费提供的二级域名在国内大概率因为DNS污染无法直连,必须走代理才能访问。
Note
你不止可以将其用于静态博客,还可以用在有屏幕的创客项目里,让你的屏显工具能实时获取到 AI 用量。