Charles7c 6606b9178c 参考成本小时级时间升级为秒级精准,并调整排行榜列宽与排序
- 开始使用/最后活跃改从逐请求日志取秒级精准时间,失败回退图表近似值
- 用户列从 140px 收窄至 80px,时间列定宽 112px,请求列放回 auto 平分
- 开始使用、最后活跃支持点击排序(精准值优先,无记录排最后)
- 输入/输出列改为居中,缓解与请求列间距过大
2026-09-15 15:52:43 +08:00
2026-09-14 09:10:16 +08:00
2026-09-14 09:10:16 +08:00
2026-09-14 09:10:16 +08:00
2026-09-14 09:10:16 +08:00
2026-09-14 09:10:16 +08:00
2026-09-14 09:10:16 +08:00

Token 排行榜

Sub2API 用户用量排行,支持今日 / 本周 / 本月 / 近 7 天 / 近 30 天和自定义日期区间,页面默认每 5 分钟自动刷新后台标签页暂停切回即补拉。主表默认按参考成本降序成本、成本占比紧跟用户列点开一行看该用户每个模型的请求、Token 拆分、参考成本、单价和成本占比,模型明细与「可用模型」弹窗的表头均可排序(默认单价降序)。主表表头可按成本 / Token / 请求 / 输入 / 输出排序,再次点击切换升 / 降序。单价为参考价(统一带 ~ 前缀):优先取管理后台分组配置的模型计费单价,未配置的模型回退 Sub2API 内置计费目录(悬停可见完整价格与来源)。所有用户都计入排行(含 admin仅无请求的账号不显示。右上角「可用模型」弹窗展示全部上游账号挂载的模型状态来自账号可用状态。

/groups.html 为分组模型总览,分组配置在 src/groups.config.ts,模型列表默认按区间成本从高到低排列;页首展示「阿里云百炼 · Token Plan」卡片7 天滚动窗口余量5 小时窗口官方已取消)、订阅到期时间与剩余天数、重置卡持有数——数据来自服务器定时探针写出的 data/bailian.json(个人版官方无公开用量 API走控制台网关需维护会过期的登录 Cookiedeploy/DEPLOY.md)。

重置卡「使用」入口默认隐藏(防误触,用卡不可撤销)。需要时在分组页浏览器控制台执行:

// 持久开启(该浏览器以后都显示)
localStorage.setItem('bailian-reset-card', '1'); location.reload()
// 仅当前标签临时显示(刷新后恢复隐藏)
document.documentElement.dataset.resetCards = '1'

显示后点击「重置卡 ×N」仍需二次确认请求由服务器侧 deploy/reset-card-server.py 校验 Admin Key 与卡归属后代发(见 deploy/DEPLOY.md 第 6 节),控制台 Cookie 不进前端。

开发

cp .env.example .env
# 填入 ADMIN_API_KEY
pnpm install
pnpm dev

开发时 Vite 把 /api 代理到 Sub2API并用 .env 里的 ADMIN_API_KEY 注入 x-api-key,浏览器里不会带上这把 key。

打开 http://127.0.0.1:5176

同域部署

构建:

pnpm build

推荐独立域名部署(例如 token.example.comSub2API 现有 nginx 不用改。把 dist/ 内容放到新站点网站目录,并反代 /api/ 到本机 127.0.0.1:8080。详见 deploy/DEPLOY.md

Description
Sub2API 用户用量排行
Readme 338 KiB
Languages
Vue 43.3%
TypeScript 21.5%
Python 16.3%
CSS 10.3%
Shell 7.5%
Other 1.1%