⚡ AI API 余额查询器

一个本地运行的 Electron 桌面应用,用于查询主流 AI 大模型平台的 API 用量与剩余余额/额度。<br /> 支持多账号管理,API Key 使用 Windows 系统级加密(DPAPI / safeStorage)保存在本机,绝不上传。

✨ 功能特点

  • 🖥️ 桌面应用:独立窗口,双击即用(支持打包为安装包)
  • 自定义平台:支持把任意 API 服务接入——
  • OpenAI 兼容模式:只需填 Base URL + Key,自动适配 new-api / one-api 等所有中转站
  • 完全自定义 REST 模式:自由配置 GET 接口 URL、认证方式(Bearer / 自定义 Header / 无)、响应 JSON 字段路径
  • 🔐 网页登录方式:账号支持「API Key」与「网页登录」两种接入——
  • DeepSeek:支持邮箱+密码自动登录(真实调用官方登录接口),自动查询余额与用量(token 数 / 消费金额)
  • 其他平台:支持粘贴 Cookie/Token + 可配置数据接口的通用网页抓取(网页接口非公开的平台需自行配置),OpenAI/Anthropic/阿里云因 2FA/风控建议使用 API Key 方式
  • 💰 一键充值:每个账号卡片带「💰 充值」按钮,点击自动打开对应平台官网的充值/计费页面(各平台充值地址已内置并验证)
  • 🪟 悬浮小窗:始终置顶的迷你余额显示窗,可拖拽、一键刷新、直达主窗口
  • ⏱️ 实时更新(自动刷新):可设置 30 秒 ~ 30 分钟间隔自动查询所有账号,主窗口和悬浮窗同步更新
  • 📥 系统托盘:支持最小化到托盘、关闭按钮最小化到托盘,托盘右键菜单一键操作
  • 🎨 自定义背景:6 套预设渐变背景一键切换,也支持选择本地图片作为背景(自动加暗色遮罩保证可读性),设置即时生效并持久保存
  • 🌐 全局代理:支持自定义 HTTP(S)/SOCKS5 代理,解决 OpenAI / Anthropic 等平台在国内无法直连的问题
  • ⚠️ 余额告警:可设置余额阈值,余额低于阈值时卡片红色高亮提醒
  • 💰 成本估算:OpenAI 组织级用量按模型单价自动估算本月成本(USD)
  • 📈 用量趋势图:每次查询自动保存本地快照,账号卡片「📈 趋势」按钮查看余额/用量历史折线图
  • 全局快捷键Ctrl+Shift+R 一键刷新全部账号,Ctrl+Shift+A 唤起主窗口
  • ☀️ 亮色/深色主题:设置中一键切换界面主题,即时生效并持久保存
  • 📥 账号分组管理:账号可设置分组,支持按分组筛选、搜索,以及按名称/分组/余额/用量排序
  • 🔔 余额主动告警:余额低于阈值时触发 Windows 系统通知 + 提示音,悬浮窗同步标红
  • 🗝️ 多平台支持,一次添加、一键全部刷新:
平台余额/额度用量说明
DeepSeek✅ 账户余额(含充值+赠送分开显示)❌ 官方无公开接口用量请登录官网查看
OpenAI✅ 月度计费额度✅ 本月消费金额 + 各 API Key 使用记录 + 各模型 Token 用量 + 成本估算用量/Key 明细查询建议使用 Admin 权限 Key
Anthropic (Claude)❌ 后付费无余额✅ Token 用量管理员角色 API Key
通义千问 / 阿里云百炼✅ 账户可用余额(现金/信用额度)❌ 官方无公开接口需 AccessKey(RAM 用户授予 BSS 只读权限)
智谱 GLM❌ 后付费无余额❌ 官方无公开接口提供 Key 连通性检查与计费指引
硅基流动✅ 账户余额❌ 官方无公开接口user/info 接口
Kimi (Moonshot)✅ 可用余额(现金/赠送分开)✅ 本月消费 + 累计充值官方余额/消费接口,sk-... Key 即查
小米 MiMo✅ 账户余额✅ Token 用量网页登录方式(小米账号认证,需复制登录 Cookie)
  • 🔐 安全存储:API Key 经 Electron safeStorage(Windows DPAPI)加密后写入本机配置文件,界面仅显示脱敏值(sk-ab••••••••cd),原始 Key 仅在主进程查询时使用
  • 📊 结果清晰:余额大字展示、用量/成本、附加信息、官方控制台直达链接、原始 JSON 可折叠查看
  • ⏱️ 查询带 30 秒超时保护,单个账号失败不影响其他账号

🚀 快速开始

方式一:源码运行(开发模式)

# 需要 Node.js 16+ 与 npm
npm install          # 安装依赖(国内可加 --registry=https://registry.npmmirror.com)
npm start            # 启动应用

方式二:打包安装包

npm run pack         # 生成免安装目录 dist/win-unpacked/
npm run dist         # 生成 NSIS 安装程序(dist/*.exe)

国内网络若下载较慢,可先设置镜像环境变量再打包:

$env:ELECTRON_MIRROR='https://npmmirror.com/mirrors/electron/'
$env:ELECTRON_BUILDER_BINARIES_MIRROR='https://npmmirror.com/mirrors/electron-builder-binaries/'
npm run dist

🔑 各平台 Key 获取方式

平台获取位置权限要求
DeepSeekplatform.deepseek.com → API Keys普通 key 即可查余额
OpenAIplatform.openai.com → API keys查询用量建议用组织设置里创建的 Admin keysk-admin-...
Anthropicconsole.anthropic.com → Organization settings → API KeysAdmin 角色才能查用量/成本
阿里云百炼阿里云控制台 → RAM 访问控制 → 创建用户并生成 AccessKeyRAM 用户授予 AliyunBSSReadOnlyAccess 权限
智谱 GLMopen.bigmodel.cn → API 密钥普通 key(后付费)
硅基流动cloud.siliconflow.cn → API 密钥普通 key 即可查余额

➕ 自定义平台

点击顶部「⚙️ 自定义平台」→「+ 新增自定义平台」即可接入任意 API 服务:

模式一:OpenAI 兼容(推荐)

适用于 new-api、one-api、FastGPT 中转等一切实现了 OpenAI 计费接口(/dashboard/billing/subscription/usage)的服务。<br /> 只需填写:

  • 平台名称:任意备注
  • Base URL:如 https://your-gateway.com/v1
  • 添加账号时填写该服务的 API Key

模式二:完全自定义 REST

适用于有独立余额/用量查询接口的服务,可配置:

配置项说明
认证方式Bearer Token / 自定义 Header(如 X-API-Key)/ 无认证
余额接口 URLGET 请求地址,如 https://api.example.com/api/user/balance
余额值 JSON 路径如响应为 {"data":{"balance":12.5}} 则填 data.balance
币种 JSON 路径可选,如 data.currency
用量接口 URL可选,查询用量
用量值 JSON 路径data.total_tokens
JSON 路径支持点号与数组索引:data.balancedata.0.value。 添加账号时填写的 Key 会按所选认证方式自动附加到请求头。 删除自定义平台时,其下所有账号会一并删除。

🔐 网页登录方式(查看官网余额/用量)

部分平台官方 API 不提供用量/余额接口(DeepSeek 用量、硅基流动、智谱等),<br /> 可通过「网页登录」方式接入:添加账号时选择接入方式为网页登录

DeepSeek(支持自动登录)

  • 自动登录:填写官网邮箱 + 密码,应用调用官方登录接口获取会话,自动查询余额(getusersummary)、本月用量(usage/amount)与本月消费(usage/cost)
  • 粘贴 userToken(推荐,最稳定):浏览器登录 platform.deepseek.com → F12 → Console → 输入

localStorage.getItem('userToken') → 回车 → 复制结果粘贴到「userToken」栏

  • Cookie 兜底:粘贴 Cookie,应用自动尝试从中解析 userToken

其他平台(通用网页抓取)

OpenAI / Anthropic / 阿里云百炼 / 智谱 / 硅基流动均因登录风控、二步验证或接口非公开无法自动登录。<br /> 页面提供「高级选项」:粘贴 Cookie/Token 后自行配置数据接口 URL + JSON 路径(在浏览器开发者工具 Network 面板抓取控制台接口)。<br /> 其中 OpenAI、Anthropic、阿里云强烈建议改用 API Key / AccessKey 方式(本应用已内置完整查询)。

⚠️ 网页数据接口为各平台私有接口,可能随官方改版失效,失效时请以官网控制台为准。 网页登录凭证(邮箱/密码/Cookie/Token)与 API Key 一样使用系统加密存储,仅保存在本机。

🪟 悬浮小窗

顶栏「🪟 悬浮窗」按钮或设置中可开启。悬浮小窗始终置顶在屏幕最前方,显示所有账号的余额摘要:

  • 顶部标题栏可拖动移动窗口位置
  • 🔄 按钮可立即刷新所有余额
  • 📋「主窗口」按钮一键返回主界面
  • 数据随自动刷新同步更新(若开启了实时更新)
  • 右键托盘图标也可显示/隐藏悬浮窗

⏱️ 实时更新(自动刷新)

在设置中开启后,应用会按设定间隔(30 秒 / 1 分钟 / 5 分钟 / 10 分钟 / 30 分钟)自动查询所有账号余额,主窗口与悬浮窗同步更新数据。主窗口账号列表右上角会显示上次刷新时间。

📥 系统托盘

应用启动后会在系统托盘(右下角任务栏通知区域)显示图标。右键图标可:显示主窗口、显示/隐藏悬浮窗、立即刷新、退出。

设置中可配置:

  • 最小化时隐藏到托盘:点最小化按钮时窗口隐藏到托盘,不占任务栏
  • 关闭按钮 = 最小化到托盘:点窗口右上角 ✕ 时最小化到托盘而不退出(要退出请用托盘菜单的「退出」)

🎨 外观与背景

顶栏「⚙️ 设置 → 背景」:

  • 6 套预设:默认深色 / 海洋蓝 / 日落橙 / 紫罗兰 / 森林绿 / 极光,点击即切换
  • 自定义图片:选择本地图片作为背景(复制保存到本机 userData,自动加暗色遮罩),支持随时移除
  • 设置保存在 %APPDATA%\ai-api-balance-monitor\config.jsonsettings 中,重启后保持

💰 充值

每个账号卡片上的「💰 充值」按钮会打开系统浏览器跳转到该平台官网充值/计费页面<br /> (DeepSeek 充值页、OpenAI 计费、Anthropic Billing、阿里云资金管理、智谱账户中心、硅基流动计费,均已在入口内置并验证可用)。

📁 数据存储位置

账号与密钥保存在 Electron userData 目录下的 config.json

Windows: %APPDATA%\ai-api-balance-monitor\config.json
  • 密钥字段以 safeStorage 加密后的 base64 存储({"method":"safe","data":"..."}
  • 若系统不支持加密(如部分 Linux 无 keyring),自动降级为 base64 编码并将在界面提示

删除账号时会从配置文件中彻底移除。

❓ 常见问题

→ API Key 无效或已过期,请到对应平台控制台检查。

→ 普通项目 Key 无法访问用量接口。请在组织设置中创建具有 Admin 角色的 Key(sk-admin-...)后编辑账号替换。

→ 必须使用管理员角色的 API Key。普通 key 只能发消息,不能查用量。

→ RAM 用户的权限不足,需在 RAM 控制台为该用户添加 AliyunBSSReadOnlyAccess 权限。

→ 智谱为后付费计费,官方未开放余额查询 API,属正常现象。

→ Windows 上不会出现;如出现说明 safeStorage 不可用,密钥将以编码形式存储,请谨慎保管本机文件。

🏗️ 技术架构

src/
├── main.js               # Electron 主进程:窗口 + IPC + 外部链接守卫
├── preload.js            # contextBridge 安全桥接
├── config.js             # 配置存储(safeStorage 加密 + 脱敏列表)
├── providers/            # 各平台查询实现
│   ├── index.js          #   平台注册表 + 统一入口
│   ├── http.js           #   fetch 封装 + 防御性解析工具
│   ├── deepseek.js       #   GET /user/balance
│   ├── openai.js         #   dashboard billing + 组织级用量双路径
│   ├── anthropic.js      #   usage_report(message_usage + cost_report)
│   ├── aliyun.js         #   BSS OpenAPI QueryAccountBalance(HMAC-SHA1 签名)
│   ├── zhipu.js          #   Key 连通性检查 + 计费指引
│   └── siliconflow.js    #   GET /v1/user/info
└── renderer/             # 渲染进程(原生 HTML/CSS/JS,无框架依赖)
    ├── index.html
    ├── style.css
    └── renderer.js

所有外链强制交给系统浏览器打开;API Key 明文永不进入渲染进程。

📄 测试

node tools/smoke.js      # Provider 冒烟测试(平台注册/签名/接口错误处理)
node tools/test-custom.js # 自定义平台单元测试(JSON 路径解析/配置构建/异常分支)
node tools/test-web.js    # 网页登录模块测试(凭证解析/响应解析/自动登录链路)
node tools/test-token.js  # Token 聚合与成本估算单元测试
node tools/test-history.js # 历史记录模块测试(数值解析/存储/超限裁剪)
node_modules\.bin\electron.cmd tools\gui-check.js   # GUI 渲染诊断(含内置教程加载验证)
node_modules\.bin\electron.cmd tools\e2e.js         # 端到端流程测试(独立临时配置目录)

⚠️ 免责声明

本项目为个人工具,与上述各平台无官方关联。各平台接口可能随官方调整而变化,<br /> 查询结果请以各平台官网控制台数据为准。