GLM Usage Monitor
在 Visual Studio Code 中直接监控您的 GLM Coding Plan 使用量
界面预览
截图为 v0.0.8 拍摄;v0.0.9 起配额条与状态栏改为「5 小时额度 / 每周额度 / MCP 月度」口径,并新增高峰时段徽章与积分额度展示。
功能特性
- 环形图占比分析:可视化展示各模型 Token 使用占比,一目了然
- 工具使用柱状图:以柱状图和数字卡片展示各工具调用次数
- Token 趋势折线图:按模型分色展示 Token 用量随时间的变化趋势
- 双窗口配额监控:同时展示每 5 小时额度与每周额度的使用百分比、剩余量和重置时间
- 积分额度折算:识别 Lite / Pro / Max 档位后,把百分比折算为官方积分额度(如
2,760 / 12,000 积分)
- 高峰时段提示:提示当前是否处于高峰时段(工作日 14:00–18:00,UTC+8)、距时段切换的剩余时间,以及非高峰 5 折抵扣规则
- 状态栏集成:
detailed 模式显示 5h {pct}% · 周 {pct}% · MCP {pct}%,高峰期追加火焰标记,悬停查看详细 Tooltip
- 离线支持:断网时自动回退缓存数据,并显示离线标识
- 套餐类型展示:自动识别并显示当前套餐类型
- 自动刷新:可配置的自动刷新间隔(默认:10 分钟)
- 时间窗口分析:支持今日、近 7 天、近 30 天三种时间范围
- 安全凭证存储:API 密钥安全存储在 VS Code 的 secret storage 中
- 自动配置:自动读取 Claude Code 配置文件中的凭证
系统要求
- Visual Studio Code 1.80.0 或更高版本
- GLM Coding Plan API 凭证
安装
- 打开 Visual Studio Code
- 进入扩展面板(Ctrl+Shift+X)
- 搜索 "GLM Usage Monitor"
- 点击安装
快速开始
方式一:自动配置(推荐)
如果您已经配置了 Claude Code,扩展会自动使用 ~/.claude/settings.json 中的凭证,无需额外配置。
方式二:手动配置
配置 API 凭证
- 打开命令面板(Ctrl+Shift+P / Cmd+Shift+P)
- 运行 "GLM Usage: Configure"
- 输入您的 API Base URL(默认:
https://api.z.ai/api/anthropic)
- 输入您的 API 密钥
查看使用量
- 点击状态栏项目或运行 "Show GLM Usage Panel" 命令
- 查看配额状态、模型占比、工具统计和用量趋势
面板说明
面板由以下区域组成:
| 区域 |
说明 |
| 顶部摘要条 |
5 小时额度 / 每周额度 / MCP 月度配额的百分比、剩余量(含折算积分)与重置时间,并显示高峰时段徽章,离线时显示离线标识 |
| 模型使用占比 |
环形图展示各模型 Token 占比,下方图例列出模型名称、用量和百分比 |
| 工具使用统计 |
彩色标签 + 柱状图展示联网搜索 / 网页读取 / 开源仓库 / 搜索 MCP 的调用次数,底部数字卡片强化数据对比 |
| Token 趋势 |
按模型分色的折线图,支持 hourly/daily 粒度自适应 |
| 套餐标签 |
标题旁显示当前套餐类型 |
| 计费说明 |
底部说明积分档位、MCP 单次积分成本与非高峰折扣规则 |
状态栏
状态栏显示当前用量百分比,detailed 模式格式为 5h {pct}% · 周 {pct}% · MCP {pct}%(compact 模式省略周额度,minimal 模式只显示最紧张的额度百分比)。颜色随用量变化:
- 绿色:< 80%
- 黄色:80% - 95%
- 红色:≥ 95%
处于高峰时段时,状态栏会追加火焰标记;悬停状态栏可查看详细 Tooltip,包含各额度百分比与积分量、重置时间、当前时段说明、调用统计和主力模型。
套餐规则与积分说明
GLM Coding Plan 采用「每 5 小时 + 每周」双窗口额度,并以积分计量消耗:
| 套餐 |
每 5 小时积分 |
每周积分 |
| Lite |
2,000 |
10,000 |
| Pro |
12,000 |
60,000 |
| Max |
28,000 |
140,000 |
- 5 小时积分:动态刷新,额度在请求消耗 5 小时后重置;
- 周积分:自套餐下单时起,以 7 天为一个周期刷新;
- 高峰时段:每周一至周五 14:00–18:00(UTC+8),按基础积分全额抵扣;非高峰时段(含周末全天)按基础积分的 50% 抵扣;
- 积分抵扣:模型消耗积分数 =(输入 Token × Input 系数 + 缓存命中 Token × Cached Input 系数 + 输出 Token × Output 系数)/ 10000;MCP 每次调用消耗 1.2 积分;
- 额度耗尽:需等待下一个 5 小时周期恢复额度,系统不会继续消耗其他资源包或账户余额。
扩展展示的积分数值由「API 返回的使用百分比 × 官方档位额度」折算得到,仅用于估算,实际扣减请以智谱控制台的用量统计为准。
命令
| 命令 |
描述 |
glmUsage.showUsage |
显示 GLM 使用量面板 |
glmUsage.refresh |
刷新使用量数据 |
glmUsage.changeRange |
切换时间范围 |
glmUsage.configure |
配置 API 凭证 |
glmUsage.clearCredentials |
清除已存储的 API 凭证 |
glmUsage.diagnose |
诊断凭证配置 |
设置
| 设置 |
类型 |
默认值 |
描述 |
glmUsage.baseUrl |
string |
https://api.z.ai/api/anthropic |
GLM API 基础 URL |
glmUsage.refreshInterval |
number |
600000 |
自动刷新间隔(毫秒) |
glmUsage.autoRefresh |
boolean |
true |
启用/禁用自动刷新 |
glmUsage.cacheEnabled |
boolean |
true |
启用/禁用数据缓存 |
glmUsage.cacheTTL |
number |
300 |
缓存有效期(秒) |
glmUsage.statusBarMode |
string |
detailed |
状态栏模式:minimal / compact / detailed |
glmUsage.peakWindowNotice |
boolean |
true |
在状态栏和面板提示高峰时段(工作日 14:00–18:00,UTC+8) |
glmUsage.notificationThresholds |
number[] |
[50, 80, 95] |
用量阈值提醒百分比 |
glmUsage.notificationEnabled |
boolean |
true |
启用/禁用用量阈值提醒 |
凭证配置优先级
扩展按以下优先级获取 API 凭证:
- Claude Code 配置文件 (
~/.claude/settings.json)
- VSCode 进程环境变量
- 手动配置的凭证
隐私与安全
- 您的 API 密钥安全存储在 VSCode 的 secret storage 中
- 不向任何第三方服务发送使用量数据
- 所有 API 调用直接发送到配置的 GLM API 端点
数据口径
扩展通过以下官方监控接口读取数据(只读,不涉及任何写操作):
| 数据 |
接口 |
| 配额额度 |
/api/monitor/usage/quota/limit |
| 模型用量趋势 |
/api/monitor/usage/model-usage |
| MCP 工具用量 |
/api/monitor/usage/tool-usage |
- 配额按
TOKENS_LIMIT + unit=3(5 小时额度)、TOKENS_LIMIT + unit=6(每周额度)、TIME_LIMIT(MCP 月度调用配额)三类解析;
- 积分数值由「接口返回的使用百分比 × 官方档位额度」折算得到,属于估算值,实际扣减请以智谱控制台的用量统计为准;
- 高峰时段按 UTC+8 计算(不依赖本机时区),因此跨时区使用时时段提示依然准确。
开发与测试
npm ci # 安装依赖
npm run compile # TypeScript 编译到 out/
npm run watch # 监听模式
npx @vscode/vsce package --no-dependencies # 生成 vsix
单元测试位于 src/test/suite:
# 纯函数测试(不依赖 VS Code 宿主,可直接运行)
npx mocha --ui tdd out/test/suite/peakWindow.test.js out/test/suite/planCredits.test.js \
out/test/suite/quotaView.test.js out/test/suite/quotaParse.test.js \
out/test/suite/util.test.js out/test/suite/panelUtils.test.js
# 全量入口(services.test.ts 依赖 VS Code 的 vscode 模块,需在扩展宿主中运行)
npm test
发布流程见 docs/release.md。
许可证
MIT License - 详见 LICENSE
支持
如有问题、功能建议或疑问,请访问 GitHub 仓库
更新日志
详见 CHANGELOG.md