Sub2API 账户用量
在 VS Code 状态栏中查看 Sub2API 管理员侧全部非停用账户,并快速了解各账户的 5 小时与 7 天用量。
本扩展是管理员工具,需要 Sub2API 管理员权限或 Admin API Key。普通用户账号无法访问扩展使用的管理员接口。
功能
悬浮面板
悬浮面板以表格展示每个账户的用量:账户名与更新时间位于首行,下方为 5 小时 / 7 天两个窗口的实时倒计时、请求数、Token 数、重置时间与跨行进度条。

用尽等待
当任一窗口用量达到 100% 时,状态栏与悬浮信息会实时显示该窗口距离重置的剩余时间。

使用趋势
点击悬浮信息中的账户名,可打开该账户最近 30 天的使用趋势图。

- 自动获取管理员账户列表中的全部账户(不限制平台或类型),过滤掉
status=inactive(停用)后,只查询并显示其余非停用账户。
- 通过一次账户列表请求和一次批量用量请求刷新全部非停用账户,避免逐账户发送 usage 请求。
- 批量请求前按 Sub2API 支持能力过滤账户;不支持用量查询的 API Key 账户不会被误报为刷新失败。
- 查询每个非停用账户的 5 小时与 7 天用量,不限制使用率是否达到 100%。
- 只有一个非停用账户时,状态栏直接展示账户名称、5 小时用量和 7 天用量。
- 有多个非停用账户时,状态栏默认每 5 秒轮流显示一个账户及其用量;切换间隔可以配置,悬浮后按上下区块依次查看全部非停用账户的详情。
- 自动刷新仅在 VS Code 窗口处于前台时运行;窗口回到前台且距离上次刷新已超过设定间隔时立即刷新。
- 状态栏和悬浮标题使用账户供应商图标;已知供应商使用对应图标,其他供应商使用
sparkle。
- 悬浮信息以表格展示账户名称、账户更新时间,每行包含窗口标题与倒计时、请求数和 Token 数、带重置时间的时钟图标,以及跨整行的进度条和百分比。
- 剩余时间基于当前时间与重置时间实时计算,每 60 秒更新一次状态栏与悬浮信息中的倒计时,不受窗口前后台状态影响。
- 账户更新时间、5 小时和 7 天重置时间都显示为
MM-DD HH:mm,统一按 Asia/Shanghai 格式化。
- 点击悬浮信息中的账户名可打开最近 30 天的使用趋势图;无使用记录的日期按 0 展示。
- 用量达到 80% 时显示警告背景,达到 95% 时显示错误背景。
- 点击状态栏项即可刷新全部账户。
- 窗口聚焦时默认每 5 分钟自动刷新,并支持自定义刷新间隔。
- 支持 Admin API Key 和管理员邮箱密码两种鉴权方式。
- 支持 TOTP 两步验证、access token 自动刷新和鉴权失败后的请求重试。
- 单个账户刷新失败不会影响其他账户展示。
状态栏
只有一个非停用账户时:
账号名 27% · 4%
前一个百分比为 5 小时窗口,后一个百分比为 7 天窗口。
当 5 小时或 7 天任一窗口用量达到 100% 时,状态栏不再显示百分比,而是显示该窗口距离重置的剩余时间,例如:
账号名 10分
剩余时间由当前时间与重置时间实时计算,每 60 秒刷新一次,不受窗口前后台状态影响。
有多个非停用账户时,状态栏每 5 秒切换一次:
账号A 27% · 4%
账号B 12% · 8%
将鼠标悬浮在状态栏项上,全部非停用账户会按上下区块依次展示;带供应商图标的账户名与同步时间位于首行,窗口标题、请求数、Token 数与重置时间位于信息行,跨整行的 40 格黑白进度条位于下一行,百分比紧跟在进度条右侧。点击账户名可查看最近 30 天的请求数和 Token 数趋势。
状态栏提示框由 VS Code 在鼠标悬浮时显示;点击状态栏项会立即刷新全部账户。
如果没有可展示账户,状态栏会区分无非停用账户、无可查询用量账户和用量查询失败。
刷新期间,旧百分比会替换为旋转刷新图标,避免把旧数据误认为最新数据。刷新成功后状态栏会静默更新;只有刷新失败时才会显示警告。
当前展示的账户如果任一窗口用量达到 80% 或 95%,状态栏会分别使用警告或错误背景色。
安装
- 在 VS Code 中打开命令面板:
Ctrl/Cmd + Shift + P。
- 运行
Extensions: Install from VSIX...。
- 选择本扩展的
.vsix 文件。
- 按提示重新加载 VS Code。
首次配置
1. 设置服务器地址
首次使用时,填写你的 Sub2API 服务根地址,例如:
https://sub2api.example.com
只需填写根地址,不要追加 /api/v1。服务器地址会保存在 VS Code 全局设置中,也可以通过命令 Sub2API 账户用量: 设置服务器地址 随时修改。
2. 配置管理员鉴权
运行命令:
Sub2API 账户用量: 配置 / 切换鉴权
然后选择 Admin API Key 或管理员邮箱密码登录。
鉴权方式
Admin API Key
推荐使用 Sub2API 后台生成的管理员 API Key。扩展访问管理员接口时会发送:
x-api-key: <admin-api-key>
API Key 会保存在 VS Code SecretStorage 中,不会写入 settings.json。
管理员邮箱密码
登录时依次输入管理员邮箱和密码。如果账号启用了 TOTP 两步验证,还需要输入 6 位验证码。
扩展只保存服务器返回的 access token 和 refresh token,不保存管理员密码。access token 失效后,扩展会尝试刷新 token 并重试请求。
清除鉴权
运行以下命令可以删除本地保存的 Admin API Key、access token、refresh token 和管理员邮箱:
Sub2API 账户用量: 清除鉴权
VS Code SecretStorage 中的数据不一定会随扩展卸载一同删除。如果重装后仍保持登录状态,请使用此命令彻底清除鉴权信息。
自动刷新
仅当 VS Code 窗口处于前台时自动刷新,默认每 300 秒一次,最小刷新间隔为 30 秒。窗口切到后台时停止刷新;回到前台时,如果距离上次刷新已超过设定间隔则立即刷新,否则等待剩余时间后再刷新。
运行以下命令可以修改刷新间隔,修改后立即生效,无需重新加载 VS Code:
Sub2API 账户用量: 设置刷新间隔
多账户状态栏默认每 5 秒切换一次,最小切换间隔为 1 秒。可以通过以下命令修改:
Sub2API 账户用量: 设置账户切换间隔
账户列表请求获取全部账户,并关闭调度分计算;随后扩展过滤掉 status=inactive 的停用账户,把其余所有账户 ID 合并为一次批量用量请求:
{
"account_ids": [3, 4, 5],
"force": true
}
账户列表响应不包含通用的 5 小时/7 天用量、请求数和 Token 数,因此不能只使用账户列表请求。
支持批量用量查询的账户范围与 Sub2API 管理界面一致:Anthropic OAuth/Setup Token、Gemini,以及 Antigravity、OpenAI、Grok 的 OAuth 账户。
命令
| 命令 |
作用 |
Sub2API 账户用量: 配置 / 切换鉴权 |
配置或切换管理员鉴权方式 |
Sub2API 账户用量: 设置 Admin API Key |
保存并验证 Admin API Key |
Sub2API 账户用量: 使用邮箱密码登录 |
使用管理员邮箱密码登录 |
Sub2API 账户用量: 清除鉴权 |
清除所有本地鉴权信息 |
Sub2API 账户用量: 立即刷新 |
立即刷新全部账号用量 |
Sub2API 账户用量: 设置刷新间隔 |
修改自动刷新间隔 |
Sub2API 账户用量: 设置账户切换间隔 |
修改多账户状态栏切换间隔 |
Sub2API 账户用量: 设置服务器地址 |
修改 Sub2API 服务地址 |
Sub2API 账户用量: 查看日志 |
打开扩展日志 |
设置
{
"sub2apiAccountUsage.baseUrl": "",
"sub2apiAccountUsage.updateInterval": 300,
"sub2apiAccountUsage.rotationInterval": 5,
"sub2apiAccountUsage.requestTimeout": 15000,
"sub2apiAccountUsage.allowInsecureTls": false
}
| 设置 |
默认值 |
说明 |
sub2apiAccountUsage.baseUrl |
空 |
Sub2API 服务根地址 |
sub2apiAccountUsage.updateInterval |
300 |
窗口聚焦时的自动刷新间隔,单位为秒,最小值为 30 |
sub2apiAccountUsage.rotationInterval |
5 |
多账户状态栏切换间隔,单位为秒,最小值为 1 |
sub2apiAccountUsage.requestTimeout |
15000 |
单次 HTTP 请求超时,单位为毫秒,最小值为 1000 |
sub2apiAccountUsage.allowInsecureTls |
false |
是否允许无效或自签名 TLS 证书 |
仅在明确可信的私有部署环境中启用 allowInsecureTls。
权限与安全
扩展通过以下管理员接口获取账号和用量数据:
/api/v1/admin/accounts
/api/v1/admin/accounts/usage/batch
/api/v1/admin/accounts/<id>/stats
趋势图使用扩展内置的 Chart.js 绘制,不会从外部 CDN 加载脚本。统计接口响应中的费用字段不会显示。
- 管理员密码不会保存。
- Admin API Key、access token 和 refresh token 使用 VS Code
SecretStorage 保存。
- 日志不会输出 API Key、Token 或密码,并会对邮箱等信息进行脱敏。
- 内部 Account ID 仅用于 API 请求,不会显示在正常状态栏或悬浮信息中。
- TLS 证书校验默认开启。
常见问题
为什么没有显示某个账户?
扩展会获取全部账户,但只查询和显示 status=inactive(停用)以外的非停用账户。某个非停用账户未显示通常表示它的 usage 接口查询失败,或者该账户不支持用量查询;具体原因可以在悬浮信息和扩展日志中查看。
为什么刷新时百分比暂时消失?
这是预期行为。刷新期间扩展显示旋转图标,服务器返回最新数据后再恢复百分比。
为什么刷新成功后没有提示?
自动刷新和手动刷新成功时都会静默更新状态栏,只有失败时才显示提示。
如何查看请求错误?
运行 Sub2API 账户用量: 查看日志 打开扩展日志。
项目声明
本扩展是连接用户自有 Sub2API 服务的独立第三方 VS Code 扩展,并非 Sub2API 官方扩展。Sub2API 名称及项目标识归原项目所有。