📌 项目地址:steipete/CodexBar | ⭐ 13,803 颗星 | 🔧 Swift | 📜 MIT
四家AI服务,三个额度窗口,一个接一个的“limit reached”
我同时用ChatGPT Plus、Claude Pro、Grok和Copilot写代码。每个服务有各自的额度规则:Claude按会话算剩余消息,Copilot每周重置,OpenAI看月度账单,Grok有免费请求限额。过去我的办法是手机设个“查余额”提醒,然后打开浏览器一遍遍登录。等到额度用完,永远是代码写到一半弹出红色提示。
CodexBar是个macOS 14+菜单栏应用,把这些提供商剩余的信用、花费和下次重置倒计时直接放在菜单栏。支持的列表包括:Codex、OpenAI、Claude、Cursor、Gemini、Copilot、Grok、GroqCloud、ElevenLabs、Deepgram、z.ai、MiniMax、Kiro、Zed、Vertex AI、Augment、OpenRouter、LiteLLM、LLM Proxy、Codebuff、Command Code、AWS Bedrock等新老提供商。每个提供商可以独立占一个菜单栏图标,也可以合并成一个。没有Dock图标,CLI版本也支持Linux。
项目在GitHub上有13803颗star,用Swift写。
安装:Homebrew一行搞定,Linux也有对应包
macOS用户直接跑:
brew install --cask codexbar
Linux用户通过Homebrew tap安装:
brew install steipete/tap/codexbar
Arch Linux:
yay -S codexbar-cli
GitHub Releases还提供tar.gz包,覆盖macOS arm64/x86_64和Linux glibc/musl。我macOS用户,Homebrew装完直接能用。
配置:GUI勾选加CLI批量设置,凭证复用已有登录
第一次打开,去Settings → Providers勾选你用的服务。每个服务需要凭证:浏览器cookie(自动抓取或手动输入)、OAuth、API key,或者桌面客户端session文件。不需要额外注册账户,直接用你现在登录的状态。
如果管四五个以上服务,用CLI更快。README给出的命令:
codexbar config providers # 列出所有可用提供商
codexbar config enable --provider grok # 启用Grok
codexbar config disable --provider cursor # 禁用Cursor
设置API key时,README特别推荐用--stdin管道,防止key被shell history记录:
printf '%s' "$ELEVENLABS_API_KEY" | codexbar config set-api-key --provider elevenlabs --stdin
这条命令把key写入~/.config/codexbar/config.json(新安装路径,旧版~/.codexbar/也兼容),权限设为600,默认启用该提供商。如果只想存key不启用,加--no-enable。
我试了设置Grok的API key,一分钟后菜单栏就出现了余额数字。命令行操作比点GUI快很多,尤其是一口气配几个服务。
数据显示三样东西:重置倒计时、余额、服务状态
每个提供商在菜单栏下拉列表里显示三组信息。
重置倒计时。 每个提供商的窗口类型不一样:Claude是session型(剩余轮数),Copilot是weekly(周上限),OpenAI是monthly(月额度)。列表直接显示距离下次重置还剩多少小时多少分钟。比如Copilot还剩3天12小时,我就能判断今天是不是应该省着用。
信用余额和账单。 绑了OpenAI API key后显示剩余信用,和OpenAI控制台一致。Claude用浏览器cookie方式后,也能读到会话剩余消息次数。如果源暴露数据足够细,还能看到账单摘要。我试了把大部分服务换成API key,余额读数一直很准。
服务状态实时。 CodexBar轮询每个提供商的状态页面。有故障时菜单栏图标叠红色指示器,下拉列表显示事故徽章。上个月Copilot中断过一次,红色指示器比我刷GitHub Status早了大约两分钟。
Merge Icons:菜单栏不挤
开了Merge Icons模式后,菜单栏只显示一个图标,点击弹出所有提供商列表。每个提供商标记剩余额度和倒计时,还能直接跳转到详情。如果不合并,两个服务以上就开始挤占菜单栏空间。我常开着十几个app,菜单栏本来就很紧张,合并后清爽很多。
为什么要用CLI配:脚本化、管道输入、凭证安全
CLI不只是GUI的备份。有几个场景GUI做不了:
批量启用或禁用。 当你同时用六七个提供商,挨个去Settings点开关太慢。codexbar config enable --provider grok一行搞定。
管道输入API key。 printf '%s' "$ELEVENLABS_API_KEY" | codexbar config set-api-key --provider elevenlabs --stdin。这条命令让key只存在于内存和加密的config文件里,不会出现在shell历史、进程列表或日志中。
集成到自动化脚本。 新机器配环境时,可以把这些命令写进dotfiles,安装配置一次完成。
隐私:不存密码,只复用现有会话
CodexBar不从机器外收集数据。它从四个来源读凭证:CLI配置文件、浏览器cookie、手动输入的API key、桌面客户端session。所有数据存在本地的~/.config/codexbar/config.json,权限600。浏览器cookie会过期,过期后依赖cookie的提供商额度读取就失效。解决办法是重新登录浏览器,或者换成API key。我用了一段时间后把所有服务都转成API key,再没为cookie过期烦恼。
一个具体场景:Copilot额度还剩多少
我Copilot订阅有每周限额。以前要打开VS Code,看状态栏那个小图标,或者去GitHub网页查。现在菜单栏直接显示“Copilot: 83% remaining, resets in 2 days 14h”。不用打开任何东西,扫一眼就知道今天能不能跑长任务。
另一个场景:Claude会话。写得很专注时突然弹出“Conversation too long”,被迫拆成新会话。菜单栏显示剩余消息数,到5条以内我就提前准备新会话。
我用了以后的感受
如果你同时用两个以上的AI编码服务,CodexBar把“我还能用多久”从模糊猜测变成精确数字。不用改代码,装好就能用。唯一门槛是准备好凭证——但配好后基本不用管。CLI的set-api-key --stdin写法值得注意,能避免key曝光。
更多细节和下载:https://codexbar.app