一个专门用于消耗闲置 AI Token 的在线网页工具。很多账号、代理站或兼容接口里的 token 用不完时,可以用 Token 面板在可控预算内批量消耗,并实时观察吞吐、请求状态与消耗曲线。
- 🔥 核心用途明确:就是为了在线消耗用不完的 token,适合额度清理、接口压测前的轻量验证和消耗曲线观察。
- 🎛️ 一个页面完成全部操作:URL、KEY、模型、线程数、预算、轮次、输出上限和主题切换都在同一页面内完成。
- 🚀 兼容 OpenAI 与 Anthropic:内置 OpenAI Chat Completions 风格请求体,也支持 Anthropic Messages 风格接口。
- 🧩 一键获取模型 ID:填写 URL 和 KEY 后可点击「获取模型」,从兼容接口拉取模型列表并选择模型 ID。
- 📈 实时数据监控:总 Token、平均速度、请求状态和 ECharts 实时图表同步刷新。
- 🛡️ 预算保护:默认启用预算保护,达到 Token 预算后自动停止。
- 🌙 深浅色模式:支持右上角手动切换,并自动适配系统主题。
- 🖥️ 保持后台运行:支持浏览器 Screen Wake Lock,运行时尽量避免设备休眠。
- 🔁 本地代理回退:接口未开放浏览器 CORS 时,可通过本地代理使用当前电脑网络环境转发请求。
- ✅ 真实消耗:不做模拟请求,启动前会校验 URL、KEY 和模型 ID,确认齐全后才会向接口发起真实请求。
- 🔐 密钥不落盘:KEY 只存在当前浏览器页面状态中,不会写入仓库或本地文件。
- 🎨 NetworkPanel 风格 UI:对齐
ljxi/NetworkPanel的面板布局、开关、滑条、ECharts 图表和中央启动按钮风格。
打开在线页面:
https://gitstq.github.io/token-xiaohao/
使用步骤:
- 选择接口类型:
OpenAI、Anthropic或自定义。 - 填写接口地址和 KEY。
- 点击「获取模型」,从「模型 ID」下拉框选择模型。
- 设置线程数、预算保护、Token 预算和高级参数。
- 点击中央播放按钮开始消耗,再次点击可停止。
- 点击右下角图表按钮可展开 Token 图表;图表展开后页面区域支持滚动查看。
页面只做真实请求,会调用你填写的接口并产生用量。若供应商拦截浏览器跨域请求,请填写支持 CORS 的兼容接口地址或自建转发 URL。最终计费以供应商后台为准。
本项目是静态页面,本地预览只需要 Python 或任意静态文件服务器。 如果要使用本地代理,需要安装 Node.js 18 或更高版本。
检查环境:
python --version
node --versiongit clone https://github.com/gitstq/token-xiaohao.git
cd token-xiaohao
python -m http.server 5173浏览器访问:
http://127.0.0.1:5173/index.html
如果你的接口不支持浏览器 CORS,点击「获取模型」可能会失败。 可以另开一个 PowerShell 终端,在项目目录运行:
node local-proxy.js代理默认监听:
http://127.0.0.1:8787
页面里仍然填写原始接口地址,例如:
https://你的接口域名
页面会先尝试直连;如果浏览器 CORS 拦截失败,会自动走本地代理,由本机网络环境转发请求。
Docker 方式会启动一个 Node 服务,同时提供网页和同源 /proxy 转发接口。相比普通静态页面,Docker 部署可以直接处理 CORS 转发,不依赖访问者电脑上的本地代理。
使用 GHCR 镜像:
docker run -d --name token-xiaohao -p 8080:8080 ghcr.io/gitstq/token-xiaohao:latest浏览器访问:
http://127.0.0.1:8080
使用 docker compose:
docker compose up -d本地构建镜像:
docker build -t token-xiaohao:local .
docker run --rm -p 8080:8080 token-xiaohao:local如果你想发布到 Docker Hub,可以在本地重新打 tag 后推送:
docker tag ghcr.io/gitstq/token-xiaohao:latest gitstq/token-xiaohao:latest
docker push gitstq/token-xiaohao:latest健康检查:
Invoke-WebRequest http://127.0.0.1:8080/healthz请先启动本地代理:node local-proxy.js,或使用 Docker 运行:说明接口被 CORS 拦截,并且当前页面没有可用代理。端口 5173 被占用:换一个端口,例如python -m http.server 5174。端口 8787 被占用:用PORT指定代理端口,例如$env:PORT=8788; node local-proxy.js,同时页面代码里的代理地址也需要对应调整。端口 8080 被占用:Docker 运行时换端口,例如docker run -d -p 8081:8080 ghcr.io/gitstq/token-xiaohao:latest。- 获取模型成功但启动失败:确认已选择模型 ID,并检查接口类型是否与请求体兼容。
| 类型 | 默认接口 | 鉴权方式 | 请求格式 |
|---|---|---|---|
| OpenAI | https://api.openai.com/v1 |
Authorization: Bearer <KEY> |
Chat Completions |
| Anthropic | https://api.anthropic.com/v1 |
x-api-key: <KEY> |
Messages |
| 自定义 | 任意兼容 /v1 地址 |
Authorization: Bearer <KEY> |
OpenAI 兼容 |
模型获取会根据当前 URL 自动推导模型接口,例如 /v1/chat/completions 会推导为 /v1/models。不同代理站的模型列表格式可能略有差异,页面会尽量兼容 data、models 或数组格式。
浏览器请求带有 Authorization、x-api-key 等请求头时,会触发 CORS 预检。
如果接口服务端没有正确处理 OPTIONS 请求,页面会看到 Failed to fetch 或「接口未开放浏览器 CORS」。
解决方式:
- 本地使用:启动
node local-proxy.js。 - Docker 使用:容器内置同源
/proxy转发,不需要额外本地代理。 - 线上使用:部署一个公网代理服务,例如 Cloudflare Worker、Vercel Functions 或自己的服务器反代。
- 服务端修复:让目标接口正确返回 CORS 响应头。
需要允许的请求头通常包括:
authorization
content-type
x-api-key
anthropic-version
OPTIONS 预检请求应直接返回 200 或 204,不要要求鉴权。
Fork 本仓库后,在 GitHub Pages 中选择 main 分支发布即可。
当前仓库的线上地址:
https://gitstq.github.io/token-xiaohao/
可以直接点击 README 顶部的一键部署按钮,也可以手动导入仓库。 这是纯静态项目,不需要构建命令,发布目录为仓库根目录。
服务器上推荐使用 Docker 镜像部署:
docker run -d --name token-xiaohao -p 8080:8080 --restart unless-stopped ghcr.io/gitstq/token-xiaohao:latest如果需要放到域名后面,可以用 Nginx、Caddy 或反向代理平台转发到容器的 8080 端口。
本仓库包含 .github/workflows/docker.yml,推送到 main 后会自动构建并发布多架构镜像:
ghcr.io/gitstq/token-xiaohao:latest
ghcr.io/gitstq/token-xiaohao:sha-<commit>
如果你想同步发布到 Docker Hub,可以基于当前工作流新增 Docker Hub 登录和第二个镜像标签。
线上页面不能使用访问者电脑上的 127.0.0.1:8787 作为公共代理。
如果使用 GitHub Pages、Vercel、Netlify 这类纯静态部署,要让所有访问者都能稳定跨域请求,需要部署公网代理,并将页面中的代理地址改成你的公网代理地址。
如果使用本项目 Docker 镜像部署,页面会优先尝试同源 /proxy,一般不需要额外配置公网代理。
安全建议:
- 不要把 KEY 写进代理代码。
- 不要记录
Authorization、x-api-key等敏感请求头。 - 建议限制允许访问的前端域名。
- 真实消耗会产生费用,最终以接口供应商后台为准。
token-xiaohao/
├─ Dockerfile # Docker 镜像构建文件
├─ docker-compose.yml # Docker Compose 示例
├─ index.html # 主页面,所有 UI 与请求逻辑
├─ local-proxy.js # 本地 CORS 转发代理
├─ server.js # Docker 服务端,提供静态页面和同源代理
├─ README.md # 项目文档
└─ assets/ # 截图资源
Token 在线消耗器把复杂参数收纳在轻量设置区,把高频操作集中在一个主按钮上,把实时状态压缩为三张指标卡和一条 ECharts 曲线。它不是复杂后台,而是一个即开即用、干净利落的 Token 消耗面板。

