一个 macOS 菜单栏应用,用于实时监控 AI Coding 平台的用量。
- 阿里云百炼 — 监控 Coding Plan 用量(账单月、5 小时、周)
- ZenMux — 监控 Flow 用量(5 小时、7 天),含订阅详情和费用信息
- Claude Code — GitHub OAuth 认证,Token 用量统计
- Cursor — API Key 认证,Usage 统计
- GitHub Copilot — Token 认证,Chat & PR 用量
- Windsurf — Token 认证,Super Agent 用量
- Gemini CLI — Google OAuth 认证,用量统计
- Codex — GitHub OAuth 认证,Usage 统计
- Kimi Power — Token 认证,用量统计
- OpenCode — Token 认证,用量统计
- Z.ai — Token 认证,用量统计
- Antigravity — Token 认证,用量统计
- AMP — Token 认证,用量统计
- MiniMax — Token 认证,用量统计
- Perplexity — Token 认证,用量统计
- Kiro — AWS SSO 认证,用量统计
- JetBrains — Token 认证,AI Assistant 用量
想支持更多平台?欢迎提交 PR!
- 菜单栏实时显示多平台用量百分比
- 弹窗自适应大小,完整展示各平台详细信息
- 每个配额周期可独立选择是否展示在菜单栏
- 每个配额周期可独立选择是否展示剩余重置时间
- 每个平台可独立启用/禁用
- ZenMux 展示完整订阅信息(套餐、费用、单价、到期时间等)
- 低用量时发出提醒
- ZenMux 额度刷新通知(5 小时 / 7 天周期自动提醒)
- 多平台自动轮播显示(每 5 秒切换)
- 自动刷新(每 60 秒,带随机 jitter 避免风控)
- 统一 Keychain 存储,启动仅需一次授权
- macOS 13.0+
- Xcode 15.0+
- 克隆项目:
git clone git@github.com:wayyoungboy/code_bar.git
cd code_bar- 使用一键打包脚本(推荐):
./build.sh脚本会自动询问是否创建 DMG 安装包,输入 y 即可生成 CodeBar.dmg 文件。
- 或直接创建 DMG(如果已构建 App):
./create_dmg.sh- 或使用 Xcode:
open CodeBar.xcodeproj
# 然后 Product → Archive- 安装:
- DMG 方式: 双击打开
CodeBar.dmg,将CodeBar拖到Applications文件夹 - App 方式: 将
CodeBar.app拖到/Applications/目录
- 前往 Releases 下载最新
CodeBar.dmg - 双击打开 DMG,将 CodeBar 拖到 Applications
- 首次打开时 macOS 可能提示"无法验证开发者"或"已损坏",这是因为 DMG 未经 Apple 公证,属于正常现象。解决方法:
- 方法一(推荐):打开「系统设置 → 隐私与安全性」,拉到最下方,点击「仍要打开」
- 方法二:在终端执行以下命令移除隔离属性:
xattr -cr /Applications/CodeBar.app
- 运行应用后,点击菜单栏的 "CodeBar" 图标
- 点击设置按钮(齿轮图标)
- 配置您需要的平台凭据(百炼和/或 ZenMux)
- 勾选需要在菜单栏展示的配额周期和重置时间
-
登录百炼控制台
-
打开开发者工具
- 按 F12 或右键点击页面选择「检查」
-
进入 Network 标签
- 在开发者工具中点击 Network 标签
-
访问 Coding Plan 页面
- 在百炼控制台进入 Coding Plan 页面
-
找到 api.json 请求
- 在 Network 列表中找到 api.json 请求
-
复制凭据
- 在请求头中复制 Cookie 和 sec_token
-
登录 ZenMux
- 访问 ZenMux 管理页面 并登录
-
找到 API Keys 部分
- 在管理页面中定位到 API Keys
-
复制 Management API Key
- 必须使用 Management API Key,标准 API Key 不支持
当 ZenMux 的 5 小时或 7 天额度周期刷新时,自动发送 macOS 系统通知。
- 首次运行或额度周期切换时触发通知
- 同一周期内不会重复提醒
- 在设置界面的 ZenMux 区域可开关通知功能
- 支持"发送测试通知"按钮验证通知是否正常
首次使用需要在 macOS 系统弹出的权限请求中点击"允许"。如已拒绝,可在设置中点击"请求权限"重新申请。
在设置界面中填入:
- Cookie: 从浏览器复制的完整 Cookie 字符串
- Sec Token: 从请求中复制的 sec_token 值
- 区域: 选择您的区域(如 cn-beijing、cn-hangzhou 等)
在设置界面中填入:
- Management API Key: 从 ZenMux 管理页面复制的 Management API Key
- 仅支持 Management API Key,标准 API Key 无效
code_bar/
├── CodeBar/
│ ├── CodeBarApp.swift # 应用入口、菜单栏和弹窗管理
│ ├── MenuBarView.swift # 弹窗 UI(用量卡片、进度条、额外信息)
│ ├── SettingsWindow.swift # 设置窗口(凭据配置、展示选项、帮助)
│ ├── UsageTracker.swift # 多平台用量追踪器(配置、刷新、存储、通知)
│ ├── Constants.swift # 应用常量配置
│ ├── KeychainHelper.swift # Keychain 安全存储封装
│ ├── AppLogger.swift # 日志工具
│ └── Providers/
│ ├── PlatformProvider.swift # 平台协议和数据模型(UsageItem、PlatformUsageData)
│ ├── BailianProvider.swift # 阿里云百炼 API 提供者
│ └── ZenMuxProvider.swift # ZenMux API 提供者
└── README.md # 本文件
- 在
PlatformType枚举中添加新平台 - 创建新的 Provider 实现
PlatformProvider协议,返回PlatformUsageData - 在
UsageTracker中注册新的 Provider - 在
SettingsWindow中添加配置表单
每个 Provider 可自由定义自己的配额项(UsageItem)和额外信息(extraInfo),UI 会动态渲染。
- 查看控制台输出获取错误信息
- 检查凭据是否有效
- 验证网络连接
- 所有平台凭据统一存储在单个 Keychain 条目中,启动仅需一次授权
- 不会上传或分享任何凭据信息
- 仅用于本地 API 请求
MIT License - 详见 LICENSE
欢迎提交 Issue 和 Pull Request!
感谢以下平台提供的服务: