Skip to content

Releases: gentpan/quotabar

QuotaBar 0.4.0

Choose a tag to compare

@gentpan gentpan released this 12 Sep 01:23

0.4.0 是一次交互重做。菜单栏图标点一下直接进设置,不再有下拉面板;额度都放到了停靠条和刘海岛上。

停靠条

  • 纯黑、14pt 圆角,环里只有图标;选中的服务商在环下方有一个绿点。
  • 悬停出卡片,卡片可以停留、可以点:刷新这一家、翻到背面看本地日志里的 token 用量(7 / 14 / 30 天)。
  • 单击圆环打开完整卡片,底部可以把这一家钉到菜单栏、刘海岛、停靠条或桌面卡片。
  • 右键菜单:立即刷新、锁定显示、设置、退出。
  • 展开不再动画窗口,黑色轮廓在原地生长,不会闪白边。

刘海岛

  • 参考 codex-island 重做:两侧各显示 1–3 个服务商,logo 与数字同色;悬停从顶部展开成完整面板。
  • 面板底栏三个开关:阶梯 / 连续、已用 / 剩余、额度 / 用量。

新服务商与账号

  • 新增 Antigravity(读本机令牌)与 Qwen Cloud(控制台 Cookie),共 13 家。
  • Cursor 卡片带上 Grok Bot 每周额度;Grok、Claude 显示账号邮箱。
  • 启用一家没登录的服务商会自动展开并说明怎么登录;Cursor、Kimi 可在应用内用浏览器登录。

设置

  • 用量统计:本机 Claude Code / Codex / OpenCode 会话日志的全年热力图与各周期数据量。
  • 服务状态:8 家的公开状态页读数,点开看各组件与最近 30 天。
  • 外观:菜单栏可显示用量图标、白色 Logo 或隐藏;进度条可选阶梯 / 连续。
  • 更新:自动安装并重启,或手动;每 6 小时检查。
  • 反馈:表单直接提交,不需要登录。
  • 关于:网站、GitHub、X 链接。

其他

  • 所有按钮与输入框同高;停靠条与刘海岛互斥;Kimi 图标去掉黑底。

QuotaBar 0.3.2

Choose a tag to compare

@gentpan gentpan released this 30 Aug 21:12

修复

  • 菜单面板内容叠字 —— MenuBarExtra 只在首次渲染时量一次尺寸,而那时任何服务商都还没返回数据,面板被永久定在空数据状态的 418pt。实际内容需要 429–624pt,所以每个服务商都在叠,页脚压在最后一行额度上。「限额重置额度」和「更新于」这两行此前从未显示出来过
  • 设置窗口左上角的关闭/最小化按钮消失 —— 按钮从未被隐藏(运行时报告 alpha=1.0),是被内容盖住了:窗口的 theme frame 把 hosting view 排在了标题栏容器之前
  • 设置窗口顶部有一条假标题栏 —— NSHostingView 遵守窗口安全区,而 fullSizeContentView 窗口的安全区恰好排除标题栏那 28pt
  • 快照渲染器写死了 80/95 两个阈值 —— 无视用户配置,导致快照与实际显示可能不一致
  • braces 不是有效的 SF Symbol(正确是 curlybraces),OpenCode Go 的回退图标一直是空的
  • textformat 会被 SF Symbols 本地化 —— 中文环境下把 Kimi 的回退图标画成了「格式」两个字

变更

  • 用量颜色改为连续色标 —— 50% 以内平绿,之后逐步转金、转橙,90% 起平红(还剩 10%)。亮度全程递减,这既是"越深越严重"的直观表达,也是红绿色盲用户唯一保留的通道。锚定固定百分比而非告警阈值:颜色答"我现在多热",阈值答"要不要打断我"
  • 设置界面重构 —— 侧边栏导航取代两个标签页;液态玻璃(macOS 26,低版本回退到同尺寸毛玻璃);服务商改为手风琴,打开窗口的钥匙串读取从 11 次降到 0 次
  • 刘海岛改为刘海条 —— 数字分布在刘海两侧,左右镜像,各带重置倒计时
  • 停靠条单击选中、双击打开,选中项有明确标记
  • 停靠条收放不再卡顿 —— 旧式窗口动画会阻塞主线程 341ms
  • 新应用图标;字标改用 Sora
  • 侧边栏底部显示版本号与打包时间

安装

brew tap gentpan/tap
brew trust gentpan/tap
brew install --cask quotabar

或直接下载 QuotaBar-0.3.2.dmg。已用 Developer ID 签名并通过 Apple 公证。

官网:https://quota.bar

QuotaBar 0.3.1

Choose a tag to compare

@gentpan gentpan released this 28 Aug 23:40

修复

  • Cursor 用量不准 —— 额度只算了套餐配额,忽略了赠送额度,显示 100% 而实际 54%,金额也差了近十倍
  • 边缘停靠条看不见 —— 收起时只有 5pt 露在屏幕上,等于功能不存在;改成 18pt 的常驻手柄
  • 深色表面上的 logo 不可见 —— Codex、Cursor、z.ai、Kimi、OpenCode 的品牌标是近乎纯黑的单色图,Color.primary 按系统外观解析,浅色模式下在黑色面板上直接消失
  • 停靠条手柄读不出刻度 —— 进度从中间往两边长且没有轨道,只剩“这段有多高”一个线索;改为从底部填充、带全高轨道和四分位刻度线
  • 两个图标是空的 —— braces 不是有效的 SF Symbol(正确是 curlybraces,OpenCode Go 一直没图标);textformat 会被 SF Symbols 本地化,中文环境下把 Kimi 的回退画成了「格式」两个字。两者现在都有测试断言
  • 停靠条收放卡顿 —— 三个原因:旧式窗口动画阻塞主线程 341ms;条子高度靠测量得出,转场比测量早一帧,导致动画中途改道;内容在每一帧被重新布局

变更

  • 设置界面重构 —— 侧边栏导航(七个分区)取代两个标签页;液态玻璃(macOS 26,低版本回退到同尺寸毛玻璃);统一的标签列、输入框高度与分段控件;服务商改为手风琴,打开窗口的钥匙串读取从 11 次降到 0 次
  • 刘海岛改为刘海条 —— 数字分布在刘海两侧的空白区,左右镜像,带重置倒计时
  • 停靠条单击选中、双击打开 —— 单击只决定菜单栏图标显示哪个服务商,不再直接弹窗

安装

brew tap gentpan/tap
brew trust gentpan/tap
brew install --cask quotabar

或直接下载 QuotaBar-0.3.1.dmg。已用 Developer ID 签名并通过 Apple 公证。

QuotaBar 0.3.0

Choose a tag to compare

@gentpan gentpan released this 28 Aug 20:57

Three new surfaces, real spend figures, and in-app updating.

New surfaces

Edge dock — a strip of provider rings pinned to a screen edge, hidden until the pointer reaches it. Hovering a ring opens a callout with that provider's windows; clicking one opens the panel. Either edge, a remembered vertical position, and an always-visible mode.

Desktop widget — a card on the desktop at three densities. It sits below your windows by default, which is what makes it a widget rather than an overlay; floating it above everything is available but opt-in.

Menu-bar glyph shows two horizons. Quota windows answer two different questions — "am I about to be throttled" (5-hour, rolling) and "will I run out this period" (7-day, monthly). One number hides which limit is actually near. The glyph also now follows whichever provider the panel is focused on.

Spend

A total-spend breakdown — today, yesterday or the trailing window, as a ring with a per-source legend, plus a per-day chart and the model most of the money went to. opencode is a third source, reporting the cost it recorded itself rather than one we estimate.

Prices now come from a maintained catalog rather than a table compiled into the app. That table was not merely going to go stale — it was already wrong: a Codex model it had never seen resolved through a gpt-5 prefix at $1.25/$10 against a published $4/$20, understating that provider roughly threefold.

Pace. A window at 88% means nothing without knowing how much of it has elapsed. Each window now says whether consumption is ahead of the rate that would exhaust it exactly at reset, and when it runs out at the current rate.

Updating

QuotaBar can now update itself, from GitHub or a JSON endpoint you host. A download is installed only if it is signed by this app's developer and notarized by Apple — an updater that installs whatever it fetched is a remote-code-execution path. Installing is never automatic: a verified build waits behind "restart to install". Homebrew installs are detected and pointed at brew upgrade instead.

Fixes

  • The trend line drew a filled area beneath itself, so a series pinned at 100% filled the entire plot and stopped conveying anything.
  • Switching providers no longer resizes the panel out from under the pointer.
  • An exhausted quota rendered identically to a full one once the glyph was tinted for an alert — unlit cells are outlines now, not a faint fill.
  • Settings opened behind other windows and looked like it had not opened at all.
  • Cursor and OpenCode Go read their sessions automatically; no more pasting cookies.

Install

brew tap gentpan/tap
brew trust gentpan/tap
brew install --cask quotabar

Or download the dmg below. Requires macOS 14 (Sonoma) or later.

QuotaBar 0.2.4

Choose a tag to compare

@gentpan gentpan released this 27 Aug 18:32

The menu-bar icon now reports two horizons, and follows whichever provider you have selected.

The glyph shows two meters

Quota windows answer two different questions — "am I about to be throttled" (5-hour, rolling) and "will I run out this period" (7-day, 30-day, billing cycle). Collapsing both into one number hides which limit is actually near.

The new Dual style stacks them: short horizon on top, long below. A real account here reads 31% against its 5-hour windows and 100% against a monthly one — the old single meter showed only the 100% and said nothing about there being plenty of headroom right now.

Plans that report only one horizon collapse to a single centred row. A Codex Pro account has no 5-hour window; Cursor and OpenCode Go report only a billing cycle.

It follows the panel

Selecting a provider in the panel now points the icon at that provider. Pick Overview to have it cover everything enabled. The choice is remembered across launches.

Legibility fixes

  • An exhausted quota looked identical to a full one. Unlit cells were a faint fill, distinguished from lit ones only by opacity — once tinted for an alert, both read as a coloured block, and 0% remaining rendered as a solid pink icon. Unlit cells are outlines now.
  • Alert tints were washing out to pink at 22pt. Deepened, with heavier outlines so an empty meter stays visible.
  • The panel had no background of its own and could render washed-out grey against the menu bar's material. It carries its own now.
  • A stray dot no longer appears next to a provider sitting at 0%.

Also

Quota windows are badged by length (5h, 7d, 30d), and Codex early-reset credits are shown — both new since 0.2.2, plus automatic session reading for Cursor and OpenCode Go from 0.2.2.

Install

brew tap gentpan/tap
brew trust gentpan/tap
brew install --cask quotabar

Or download the dmg below. Requires macOS 14 (Sonoma) or later. Signed with a Developer ID certificate and notarized by Apple.

QuotaBar 0.2.3

Choose a tag to compare

@gentpan gentpan released this 27 Aug 17:28

Quota windows are now badged by length

A window used to be labelled with a sentence — "7-day window", "GPT-5.3-Codex-Spark · 5-hour window". When a provider reports three windows and the length is the only thing separating them, that is the slowest possible thing to read.

Each row now leads with a compact 5h / 7d / 30d badge, and the text beside it names only what the window is scoped to (a model, a metered feature). An account-wide window gets no caption at all.

Codex early-reset credits

The Codex API reports how many early-reset credits your plan holds; QuotaBar was discarding it. It now shows as its own row, with the count applicable to the window currently limiting you in the tooltip. Hidden when you have none.

Install

brew tap gentpan/tap
brew trust gentpan/tap
brew install --cask quotabar

Or download the dmg below. Requires macOS 14 (Sonoma) or later. Signed with a Developer ID certificate and notarized by Apple.

QuotaBar 0.2.2

Choose a tag to compare

@gentpan gentpan released this 26 Aug 21:17

Two more providers now read their session automatically — no more pasting cookies.

What's new

Cursor is read automatically when Cursor.app is signed in. It keeps its session in a local store on disk; QuotaBar reads it directly, with no keychain prompt. Paste a cookie only if you don't run Cursor.app.

OpenCode Go is read automatically when the opencode CLI is signed in.

Both still accept a manually pasted credential, which takes priority so you can override a stale local session.

Fix: OpenCode Go usage was never parsed correctly from the live API — it returned nothing even with a valid pasted token. Now pinned against a recorded response.

Install

brew tap gentpan/tap
brew trust gentpan/tap
brew install --cask quotabar

Or download the dmg below. Requires macOS 14 (Sonoma) or later. Signed with a Developer ID certificate and notarized by Apple.

QuotaBar 0.2.1

Choose a tag to compare

@gentpan gentpan released this 26 Aug 20:19

Fixes Settings not opening.

Clicking Settings appeared to do nothing. The window was in fact being created, but a menu-bar-only app is never activated as a side effect of opening it, so the window was ordered in behind whatever you were already looking at — the menu closed and nothing visible happened. It now comes to the front.

Everything else is unchanged from 0.2.0.

Install

brew tap gentpan/tap
brew trust gentpan/tap
brew install --cask quotabar

Or download the dmg below. Requires macOS 14 (Sonoma) or later. Signed with a Developer ID certificate and notarized by Apple — the disk image as well as the app.

QuotaBar 0.2.0

Choose a tag to compare

@gentpan gentpan released this 26 Aug 20:08

Signed with a Developer ID certificate and notarized by Apple — both the zip and the disk image.

Install

brew tap gentpan/tap
brew trust gentpan/tap      # Homebrew 6 gates third-party taps
brew install --cask quotabar

Or download QuotaBar-0.2.0.dmg, open it, and drag QuotaBar to Applications.

Requires macOS 14 (Sonoma) or later.

What's new since 0.1.0

Nine menu-bar glyph styles, pickable from a grid of the actual icons in Settings. Three of them are stepped — a 3×3 grid (the new default, 9 cells), a five-segment bar, and signal columns — so the reading is exact by counting rather than estimated against a continuous fill. Also new: a battery, a half-dial gauge with graduations, and a bar with quarter tick marks.

Neutral graphite accent, replacing the fluorescent green. It inverts by appearance, since a dark selection block sinks into a dark window. The panel already carries eleven provider brand colours; a twelfth competing hue made none of them legible.

The panel no longer scrolls. The detail area was capped at 320pt, so a provider with three quota windows was read through a letterbox. It now sizes to its content.

A daily spend chart. Today and a trailing 30 days side by side, a per-day bar chart with the peak called out, the model most of the money went to, and a split per CLI. The chart scale adapts so one runaway session cannot flatten the other 29 days.

The log scan is 7.7x faster — 278s to 36s on a tree with 30GB of Codex logs. It now matches on raw bytes rather than building a string for every line, checks Codex records against their first 8KB, and parses files in parallel largest-first.

Fixes

  • Reset labels read as one phrase; they previously rendered as "resets in now" / "已重置后重置" once the moment had passed.
  • Token counts carry B and T units — a month of usage reaches the billions and previously printed as "51578.9M".
  • A single unrecognised value in config.json no longer fails the whole file and silently resets every other preference.
  • Monochrome brand logos render as templates; seven of eleven were a flat black or white and vanished against one of the two appearances.

Note on the spend figures

Estimated locally from the CLIs' session logs at published list prices. Not a bill: they cannot see plan-included usage, discounts, or anything outside these CLIs.

QuotaBar 0.1.0

Choose a tag to compare

@gentpan gentpan released this 26 Aug 19:25

Menu-bar meter for AI coding provider quotas — Claude, Codex, Gemini, Cursor, Grok, Kimi, z.ai, MiniMax, Manus, DeepSeek and OpenCode Go.

Signed with a Developer ID certificate and notarized by Apple, so it opens without a Gatekeeper detour.

Install

brew tap gentpan/tap
brew install --cask quotabar

Or download the zip below, unzip, and drag QuotaBar.app to /Applications.

Requires macOS 14 (Sonoma) or later.

What it does

  • One status item whose meter fills with remaining quota (switchable to used), tinted when you approach a limit.
  • Per-provider windows with percent bars, absolute figures, reset countdowns, and an active badge on the window currently governing requests.
  • Stale data is labelled. A failed refresh keeps the last good numbers but shows their age, the underlying error, and a retry — rather than quietly serving a reading from an expired session.
  • Local spend estimate for Claude Code and Codex CLI from their own session logs: today and a trailing 30 days, a per-day bar chart with the peak called out, the model most of the money went to, and a split per CLI.
  • Bilingual UI (English / 简体中文) following the system language.
  • Auto refresh, plus refresh on wake and network recovery. Threshold notifications.

Credentials

Automatic providers (Codex, Claude, Gemini) reuse the session your CLI already created. Manually entered tokens go to the macOS login keychain — never to a file. Preferences live in ~/.config/quotabar/config.json and contain no secrets.

Note on the spend figures

They are estimated locally from the CLIs' session logs at published list prices. They are not a bill: they cannot see plan-included usage, discounts, or anything that happened outside these CLIs.