一个 macOS 菜单栏组件,同时监控 智谱 GLM 和 火山方舟 两个 Coding Plan 套餐用量,实时显示百分比和重置时间。
真正的 macOS 标准应用:编译后安装到 /Applications,与终端完全解绑,支持开机自启。
| 平台 | 监控维度 | 认证方式 | 用户要做什么 |
|---|---|---|---|
| 智谱 GLM (Z.ai) | 5h窗口 / 7天 / 30天 | API Key | 配置一次 API Key |
| 火山方舟 (Volcengine) | 会话(≈5h) / 周 / 月 | Chrome 登录态(自动读取) | 在 Chrome 登录一次火山控制台即可 |
💡 可以只用一个平台:两个平台相互独立,互不影响。
在开始前,请确认你的机器满足以下条件:
| 条件 | 要求 |
|---|---|
| 操作系统 | macOS 14 (Sonoma) 或更高 |
| Node.js | 18 或更高(brew install node) |
| Chrome 浏览器 | 已安装并用于登录火山引擎控制台 |
| 命令行工具 | Xcode Command Line Tools(xcode-select --install) |
git clone https://github.com/hous-ailab/glm_usage_tracker.git
cd glm_usage_tracker编辑 .zai_apikey.json,填入你的智谱 API Key:
cp .zai_apikey.json.example .zai_apikey.json
# 然后编辑 .zai_apikey.json,填入真实 keyAPI Key 获取:登录 Z.ai 开放平台 → API Keys 页面创建。
只需在 Chrome 浏览器中登录一次 火山引擎控制台,工具会自动读取登录态,无需手动复制任何 Cookie。
bash install.sh脚本会自动完成:
- ✅ 编译 Swift 代码
- ✅ 创建标准
.appbundle - ✅ 安装到
/Applications/CodingPlanMonitor.app - ✅ 自动启动应用
安装完成后,菜单栏立即可以看到用量显示。
- 从「应用程序」里双击 CodingPlanMonitor 即可
- 应用启动后在菜单栏显示:
火山X% 智谱X% - 点击菜单栏图标展开详情面板
系统设置 → 通用 → 登录项 → 打开「Coding Plan 用量监控」开关
这样每次重启电脑后自动启动,无需手动干预。
点击菜单栏 → 点击「退出」。
node zai-cli-js.js check # 查询用量
node zai-cli-js.js debug # 查看 API 原始响应node volc-cli-js.js check # 查询用量(人类可读)
node volc-cli-js.js check --json # 结构化 JSON 输出
node test_volc_auth.js # 认证链路完整测试(排查问题用)登录态过期了。在 Chrome 浏览器重新登录一次 火山引擎控制台,菜单栏会在 60 秒内自动恢复。
应用通过 launchd 启动时 PATH 很精简,找不到 node。解决:
# 告诉应用你的 node 路径(替换成 which node 的输出)
defaults write com.codingplan.monitor Volc_NodePath "/opt/homebrew/bin/node"然后重启应用即可。
第一次运行时 macOS 会询问是否允许访问 Chrome 的钥匙串。这是正常的,点击「始终允许」即可,以后不再弹窗。
确认 Xcode Command Line Tools 已安装:
xcode-select --installglm_usage_tracker/
├── ZaiMenuBarApp.swift # Swift 菜单栏应用(双面板 UI)
├── zai-cli-js.js # 智谱 GLM 用量 CLI
├── volc-cli-js.js # 火山方舟用量 CLI(Chrome Cookie 自动解密)
├── test_volc_auth.js # 火山方舟认证链路测试脚本
├── install.sh # 一键安装成 macOS 标准应用
├── assets/ # 平台 logo 图标
│ ├── volc_icon.png # 火山方舟官方 logo
│ └── zai_icon.png # 智谱官方 logo
├── .zai_apikey.json.example # 智谱 API Key 配置模板(参考用)
└── README.md # 本文档
火山引擎控制台的用量接口走浏览器会话认证,没有公开 API Key。工具的解密链路:
Chrome Cookie 数据库 (SQLite, v10 加密)
↓ 从 macOS Keychain 读取 Chrome Safe Storage 密钥
PBKDF2-HMAC-SHA1 派生密钥
↓
AES-128-CBC 解密 → 剥前 32 字节固定前缀
↓
组装 Cookie 头 → 调用 GetCodingPlanUsage 接口
全程本地完成,不上传任何 Cookie 或密钥到任何服务器。
每 60 秒自动刷新一次两个平台的用量数据,无需手动刷新。面板内的「立即刷新」按钮可以跳过等待立即刷新。
直接从「应用程序」文件夹删除 CodingPlanMonitor.app 即可。
MIT License