Skip to content

Repository files navigation

Coding Plan 用量监控

一个 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

🚀 快速安装(3 步)

第 1 步:克隆仓库

git clone https://github.com/hous-ailab/glm_usage_tracker.git
cd glm_usage_tracker

第 2 步:配置智谱 API Key

编辑 .zai_apikey.json,填入你的智谱 API Key:

cp .zai_apikey.json.example .zai_apikey.json
# 然后编辑 .zai_apikey.json,填入真实 key

API Key 获取:登录 Z.ai 开放平台 → API Keys 页面创建。

第 3 步:火山方舟前置操作(Chrome 登录)

只需在 Chrome 浏览器中登录一次 火山引擎控制台,工具会自动读取登录态,无需手动复制任何 Cookie。

第 4 步:一键安装成标准 macOS 应用

bash install.sh

脚本会自动完成:

  1. ✅ 编译 Swift 代码
  2. ✅ 创建标准 .app bundle
  3. ✅ 安装到 /Applications/CodingPlanMonitor.app
  4. ✅ 自动启动应用

安装完成后,菜单栏立即可以看到用量显示。


🎯 使用方式

启动应用

  • 从「应用程序」里双击 CodingPlanMonitor 即可
  • 应用启动后在菜单栏显示:火山X% 智谱X%
  • 点击菜单栏图标展开详情面板

开机自启

系统设置 → 通用 → 登录项 → 打开「Coding Plan 用量监控」开关

这样每次重启电脑后自动启动,无需手动干预。

退出应用

点击菜单栏 → 点击「退出」。


🔧 CLI 工具(开发者/调试用)

智谱 GLM

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             # 认证链路完整测试(排查问题用)

⚠️ 常见问题

火山方舟面板显示「NotLogin」

登录态过期了。在 Chrome 浏览器重新登录一次 火山引擎控制台,菜单栏会在 60 秒内自动恢复。

火山方舟面板显示「未找到 node」

应用通过 launchd 启动时 PATH 很精简,找不到 node。解决:

# 告诉应用你的 node 路径(替换成 which node 的输出)
defaults write com.codingplan.monitor Volc_NodePath "/opt/homebrew/bin/node"

然后重启应用即可。

首次运行 Keychain 弹窗

第一次运行时 macOS 会询问是否允许访问 Chrome 的钥匙串。这是正常的,点击「始终允许」即可,以后不再弹窗。

应用编译失败

确认 Xcode Command Line Tools 已安装:

xcode-select --install

📁 项目结构

glm_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                  # 本文档

🔍 技术细节

火山方舟 Cookie 解密原理

火山引擎控制台的用量接口走浏览器会话认证,没有公开 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

About

macos菜单栏coding plan用量监控:支持智谱、火山方舟

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages