Repository navigation
Releases: raycalrui/CodexMeter
Release list
CodexMeter 1.7.0
CodexMeter 1.7.0
中文
- 新增可选的额度恢复远程提醒,支持 Bark、Gotify、Telegram 和 Discord,四个渠道默认关闭,可独立开启。
- 设置侧边栏新增「通知」,集中管理 Mac 本地低额度/消耗偏快提醒和远程渠道;可分别选择 5 小时与周额度恢复提醒。
- 每个渠道提供测试通知、发送状态和安全错误提示;断网、限流或服务器临时故障最多尝试三次。切换账号、修改发送目标或关闭相关提醒会取消旧任务。
- 提醒显示实际观测到的剩余额度,不会把部分恢复误报为 100%;重复观测进行客户端去重,不会因未使用额度的重置时间滑动而发送通知。
- Bark 密钥、Gotify/Telegram Token 和 Discord Webhook 使用本地钥匙串保存;旧明文配置仅在迁移成功后删除,失败会显示提示并保留原值。
- 不增加额度查询频率,禁用渠道时不发送请求,也不增加闲置推送定时器。通知只发送窗口名称和剩余额度,不发送账号邮箱或 Token 历史。
感谢 @WuBarlynn 在 PR #10 中贡献 Bark/Gotify 功能。
使用方式:打开 Settings → Notifications(设置 → 通知),填写需要的渠道配置,再发送测试通知。CodexMeter 必须运行且联网;服务器接受不代表手机已展示或消息已读。网络响应丢失后的重试仍可能重复送达,应用关闭期间的重置不会补发。
要求:Apple Silicon(arm64),macOS 13 或更高。DMG 沿用 ad-hoc 签名,未经过 Apple 公证;首次打开可能需要右键选择「打开」。更新后,macOS 也可能再次询问钥匙串访问权限。
English
- Added optional quota-replenishment reminders through Bark, Gotify, Telegram, and Discord. All four channels are disabled by default and can be enabled independently.
- Added a Notifications settings category for existing local low-quota/over-pace alerts and remote channels, with separate five-hour and weekly replenishment switches.
- Added test messages, server-acceptance status, and safe error feedback. Transient network failures, rate limits, and server errors get at most three attempts. Account changes, destination changes, and disabled reminders cancel pending old jobs.
- Notifications report the actual observed remaining quota, including partial recovery. Client-side event deduplication avoids repeated observations; unused full-quota windows with sliding reset dates do not notify.
- Push credentials and Discord webhook URLs are stored in the local Keychain. Legacy plaintext settings are removed only after successful migration; failures remain visible and preserve the previous value.
- No additional quota polling or idle push timers. Remote messages contain only the window name and observed remaining percentage, not account email or token history.
Thanks to @WuBarlynn for the Bark/Gotify contribution in PR #10.
Configure channels under Settings → Notifications, then send a test message. CodexMeter must be running and online. Server acceptance does not prove display or reading on the phone. A retry after a lost response can still deliver a duplicate; resets while the app is closed are not replayed.
Requires Apple Silicon (arm64), macOS 13+. The DMG is ad-hoc signed and not notarized; a first launch may require Control-click → Open. macOS may ask for Keychain access approval again after an update.
CodexMeter 1.6.3
English
This maintenance release makes CodexMeter recover more reliably, stops repeated alerts, and makes quota history totals more accurate.
- Recover automatically when Codex App Server fails or stalls during startup, instead of staying stuck until the app is relaunched. A malformed quota response no longer freezes refreshing.
- Prevent a rare crash when CodexMeter wrote to an App Server process that had just exited.
- Over-pace notifications no longer repeat when usage hovers near the ideal pace. Alerts re-arm after a quota reset, follow the correct window when Codex reorders them, and are not repeated after relaunching CodexMeter.
- Quota History now shades long gaps that span whole reset cycles and labels the affected totals as lower bounds ("At least …").
- Quota windows without reset timing now show their recorded history instead of an empty chart.
The core test suite passes (112 tests). This build is ad-hoc signed and is not notarized.
简体中文
这个维护版本提升了 CodexMeter 的自动恢复能力,避免重复提醒,并让额度历史统计更准确。
- Codex App Server 启动时出错或卡住,现在会自动恢复,不再一直卡住直到重启 App;额度响应格式异常时也不会再停止刷新。
- 修复向刚退出的 App Server 进程写入数据时可能导致 CodexMeter 崩溃的罕见问题。
- 用量在理想节奏附近波动时,不再反复发送超速提醒;额度重置后会重新允许提醒,Codex 调整窗口顺序时提醒仍对应正确的窗口,重新启动 CodexMeter 后也不会重复提醒。
- 额度历史现在会为跨越整个重置周期的长时间空档显示阴影,受影响的统计会标注为下限(「至少 …」)。
- 缺少重置时间的额度窗口现在也会显示已记录的历史,不再是空白图表。
112 项核心测试全部通过。此版本采用 ad-hoc 签名、尚未公证。
CodexMeter 1.6.2
English
This maintenance release reduces background work in CodexMeter while keeping the menu bar responsive.
- Poll quota every 10 seconds while the popover is open and every 60 seconds while it is closed. App Server change notifications and manual refresh still update immediately.
- Skip redundant history-store checks when quota data has not meaningfully changed; keep the 15-minute history anchor and account boundaries.
- Reduce menu bar digit-fade redraws and repeated Token Activity chart calculations.
The core test suite passes (101 tests). This build is ad-hoc signed and is not notarized. Actual battery savings should be evaluated over several days under comparable usage.
简体中文
这个维护版本减少了 CodexMeter 在后台的工作量,同时保留菜单栏的及时反馈。
- 打开面板时每 10 秒查询额度,关闭后改为每 60 秒;App Server 变化通知和手动刷新仍会立即更新。
- 额度没有实质变化时跳过重复的历史记录检查,同时保留每 15 分钟的记录锚点和账号隔离。
- 减少菜单栏数字渐隐动画的重绘次数,以及 Token Activity 图表数据的重复计算。
101 项核心测试全部通过。此版本采用 ad-hoc 签名、尚未公证。实际省电效果建议在相近使用场景下观察数天。
CodexMeter 1.6.1
中文
- 新增菜单栏额度下降提示:变化的数字变红 0.5 秒,再用 2 秒渐变恢复;百分号保持原色,并适配“减少动态效果”。
- 额度自动刷新间隔从 60 秒缩短至 10 秒,账号与 Token Activity 保持约每分钟查询。失败时自动退避,减少未变化数据的重复写入和历史图表刷新。
- 左下角 Updated 时间显示到秒。
- 优化菜单面板滚动条:macOS 15 及以上打开时不再闪现,首次滚动后保留系统渐隐;增加右侧留白,避免遮挡内容。
- 修复默认 NVM 目录安装的 Codex 无法被识别的问题。感谢 @HY916-cn 的贡献(#6)。
安装
下载 DMG,将 CodexMeter 拖入 Applications。当前安装包面向 Apple Silicon,要求 macOS 13 或更新版本。采用 ad-hoc 签名,尚未经过 Apple 公证,首次启动可能需要在系统设置的“隐私与安全性”中允许打开。已有支持 Sparkle 的版本可通过应用内检查更新安装。
English
- Added a menu bar quota-decrease highlight: changed digits turn red for 0.5 seconds, then fade back over 2 seconds. The percent sign keeps its normal color; Reduce Motion is respected.
- Reduced automatic quota polling from 60 to 10 seconds while keeping account and Token Activity polling at roughly one-minute intervals. Added failure backoff and reduced redundant history writes and chart refreshes.
- The Updated timestamp now includes seconds.
- Refined popover scroll indicators: on macOS 15+, indicators stay hidden on opening and resume native fading after the first scroll. Added a trailing gutter to avoid covering content.
- Fixed discovery of Codex installed in the default NVM directory. Thanks to @HY916-cn for contributing #6.
Installation
Download the DMG and drag CodexMeter into Applications. This build targets Apple Silicon and requires macOS 13 or later. It is ad-hoc signed, not Apple-notarized; macOS may require approval in System Settings > Privacy & Security on first launch. Existing Sparkle-enabled installations can update in-app.
Full changelog: v1.6.0...v1.6.1
CodexMeter 1.6.0
中文
新功能
- 新增完整历史备份与恢复:导出
.codexmeterbackup,将所有账号当前保留的额度与 Token 历史迁移到另一台 Mac。 - 恢复前校验备份并自动保存现有历史,支持失败回滚和恢复中断保护。恢复后请退出并重新打开 App。
- 设置整合为独立窗口,包含通用、菜单栏与面板、历史与备份、开发者和关于。
- About 与更新选项直接显示在设置窗口内;历史与备份采用统一的分组布局。
修复
- 修复短暂异常的重置时间导致额度历史曲线重叠、累计消耗偏高的问题。
安装与说明
- 适用于 Apple Silicon Mac,macOS 13 或更新版本。
- 下载 DMG,将 CodexMeter 拖到 Applications;已有 Sparkle 更新功能的版本也可检查更新。
- 备份不包含登录凭据、邮箱或 App 偏好设置;已删除的历史无法恢复。备份文件上限为 512 MiB。
- 此版本使用 ad-hoc 签名,未经过 Apple 公证,首次安装可能出现 Gatekeeper 提示。
English
New
- Full history backup and restore: export a
.codexmeterbackupfile to move retained quota and token history for all accounts to another Mac. - Backups are validated before restore, with an automatic copy of existing history, failure rollback, and interrupted-restore recovery. Quit and reopen the app after restoring.
- A unified settings window groups General, Menu Bar & Popover, History & Backup, Developer, and About.
- About and update controls now appear inside settings. History and backup controls use a consistent grouped layout.
Fixed
- Ignore transient backward reset timestamps that could overlap quota-history curves and inflate observed usage.
Installation and notes
- Apple Silicon Macs running macOS 13 or later.
- Download the DMG and drag CodexMeter into Applications, or check for updates in a Sparkle-enabled version.
- Backups exclude login credentials, email addresses, and app preferences. Deleted history cannot be recovered. Maximum backup size: 512 MiB.
- This release is ad-hoc signed and is not notarized by Apple. Gatekeeper may display a warning on first installation.
CodexMeter 1.5.5
CodexMeter 1.5.5
English
Improvements
- Added an appearance preference so the CodexMeter interface can follow the system or stay in Light or Dark mode.
- Restored automatic menu-bar selection of the quota window with the lowest remaining percentage while preserving explicit user selections.
- Bounded App Server output reads and JSON-RPC message buffering to prevent oversized responses from consuming memory indefinitely.
- When an oversized response stops the connection, CodexMeter now retains the last successful quota as stale data and can reconnect on a later refresh.
- Replaced raw App Server and system error details with localized messages to avoid displaying potentially sensitive account or credential information.
- Updated Sparkle from 2.9.5 to 2.9.6 for upstream security fixes.
Thanks to @Qiaozb for contributing the App Server hardening and Sparkle update in #4.
Notes
- This build is ad-hoc signed and not notarized. On first launch, macOS may require approval in Privacy & Security.
简体中文
改进内容
- 新增应用外观选项,CodexMeter 界面可以跟随系统,也可以固定使用浅色或深色模式。
- 恢复菜单栏自动选择剩余额度最低窗口的行为,同时保留用户明确指定的额度窗口。
- 限制 App Server 每次读取的数据量和单条 JSON-RPC 消息的缓冲大小,避免异常超大响应持续占用内存。
- 超大响应导致连接停止时,保留上一次成功获取的额度并标记为过期数据,后续刷新时可以重新连接。
- 使用本地化提示替代 App Server 和系统的原始错误内容,避免界面显示可能包含账号或凭证的信息。
- 将 Sparkle 从 2.9.5 升级到 2.9.6,包含上游安全修复。
感谢 @Qiaozb 通过 #4 贡献 App Server 输出处理改进和 Sparkle 升级。
注意事项
- 此版本使用 ad-hoc 签名,尚未经过 Apple 公证。首次启动时,macOS 可能要求在“隐私与安全性”中手动允许打开。
CodexMeter 1.5.4
CodexMeter 1.5.4
English
What's new
- Fixed an issue where npm-installed Codex CLI launchers could fail when CodexMeter was opened from the macOS GUI because
/usr/bin/env nodecould not find Node.js. - CodexMeter now supplies the selected Codex executable directory and common local package paths to the App Server child process without invoking a login shell.
- Improved App Server failure messages with a clear missing-Node explanation and an exit code for other unexpected exits.
Notes
- Standalone Codex CLI installations continue to work as before.
- App Server diagnostics retain only a small bounded tail in memory and are not written to disk.
- This build is ad-hoc signed and not notarized. On first launch, macOS may require approval in Privacy & Security.
简体中文
更新内容
- 修复通过 npm 安装的 Codex CLI 在 macOS 图形界面启动 CodexMeter 时,可能因为
/usr/bin/env node找不到 Node.js 而无法启动的问题。 - CodexMeter 现在会为 App Server 子进程补充所选 Codex 可执行文件目录及常见本地软件包路径,无需调用登录 Shell。
- 改进 App Server 启动失败提示:缺少 Node.js 时会显示明确原因,其他异常退出则会显示退出码。
注意事项
- Codex CLI 独立版的使用方式保持不变。
- App Server 诊断信息只在内存中保留一小段受限内容,不会写入磁盘。
- 此版本使用 ad-hoc 签名,尚未经过 Apple 公证。首次启动时,可能需要在 macOS 的“隐私与安全性”中手动允许打开。
CodexMeter 1.5.3
CodexMeter 1.5.3
English
What's new
- The menu bar popover now fits the visible height of the current display, keeps the header and Settings/Quit controls fixed, and scrolls only its dynamic content.
- Fixed translucent fixed regions revealing or overlapping scrolling content.
- The default layout keeps the standard 5-hour quota, weekly quota, Quota History, Reset Opportunities, and Token Activity visible while hiding the GPT-Reserve weekly quota.
- Reset opportunity lifetime bars now use the normal color at 20% or more, warning yellow below 20%, and critical red below 10%.
- Reset opportunity bars follow the configured normal, warning, and critical colors and update correctly across Light and Dark appearances.
Notes
- Existing saved popover customization is preserved; Restore Default Layout applies the current defaults.
- Reset opportunities remain read-only and cannot be consumed from CodexMeter.
- This build is ad-hoc signed and not notarized. On first launch, macOS may require approval in Privacy & Security.
简体中文
更新内容
- 菜单栏弹出面板现在会适配当前显示器的可用高度,并固定顶部标题及底部的“设置/退出”区域,仅滚动中间的动态内容。
- 修复半透明固定区域可能显示或遮挡滚动内容的问题。
- 默认布局显示标准 5 小时额度、周额度、额度历史、重置机会和 Token 活动,同时默认隐藏 GPT-Reserve 周额度。
- 重置机会的有效期进度条在剩余时间不低于 20% 时使用正常颜色,低于 20% 时显示黄色,低于 10% 时显示红色。
- 重置机会进度条会使用已配置的正常、警告和严重颜色,并在浅色与深色外观之间正确更新。
注意事项
- 已保存的菜单栏面板自定义设置会继续保留;使用恢复默认布局可应用当前版本的默认设置。
- 重置机会仍然只用于查看,无法在 CodexMeter 中直接使用。
- 此版本使用 ad-hoc 签名,尚未经过 Apple 公证。首次启动时,可能需要在 macOS 的“隐私与安全性”中手动允许打开。
CodexMeter 1.5.2
What’s Changed
- Fixed the default quota selection when the App Server returns multiple seven-day quota buckets.
- The menu bar and compact Quota History now default to the standard Codex Weekly quota.
- Other quota buckets, including Gpt-Reserve, remain available in the full history view.
更新内容
- 修复 App Server 返回多个 7 天额度桶时,默认额度可能选错的问题。
- 菜单栏和紧凑版 Quota History 现在默认显示标准的 Codex Weekly quota。
- 其他额度桶(包括 Gpt-Reserve)仍可在完整历史记录中查看。
CodexMeter 1.5.1
CodexMeter 1.5.1
English
- Fixed quota progress bars falling back to system accent blue after switching between Light and Dark appearances.
- Recreates the native progress control for the active color scheme so configured normal, warning, and critical quota colors remain applied.
中文
- 修复在系统深色与浅色模式之间切换后,Quota 进度条错误回退成系统蓝色的问题。
- 进度条会随当前外观重新创建原生控件,确保正常、警告和临界状态颜色始终正确应用。