
CodexBar 完整技术演进史从 0.1.0 到 0.58 的菜单栏用量监控架构解析【免费下载链接】CodexBarShow usage stats for OpenAI Codex and Claude Code, without having to login.项目地址: https://gitcode.com/GitHub_Trending/co/CodexBarCodexBar 是一款无需登录即可展示 OpenAI Codex 与 Claude Code 用量统计的 macOS 菜单栏应用同时提供跨平台的codexbarCLI。本文基于仓库 CHANGELOG.md 的完整记录2025-11-16 的 0.1.0 至 2026-09 的 0.58.1系统梳理其版本迭代脉络、核心功能模块CLI、Usage Spend、菜单栏布局、本地成本扫描、Provider 体系、插件引擎、iCloud 同步、Adaptive 刷新的演进逻辑并结合 Sources/CodexBarCLI/CLIEntry.swift 等源码说明实际实现。读完本文你将理解 CodexBar 的架构分层、各版本的关键能力与设计取舍并能直接上手其 CLI 与配置项。项目定位无需登录的用量监控从 0.1.0 起CodexBar 的核心承诺就非常明确不做任何额外登录、不做浏览器爬取直接从本地数据读取用量。0.1.0 只做三件事读取 Codex CLI 会话日志中的token_count事件5 小时窗口 周窗口及重置时间、本地解码auth.json展示账号邮箱与套餐、绘制双条菜单栏图标上条 5 小时、下条周用量。全部日志解析在主线之外异步进行并开启了严格并发编译标志。这一本地优先的设计哲学贯穿整个项目即使后来加入了 OpenAI Web、浏览器 Cookie 等数据源所有读取都是只读的且逐步引入了隐私脱敏Hide personal information与账号隔离机制。版本演进脉络三大阶段通读 2568 行的 CHANGELOG可以清晰看到 CodexBar 经历了三个阶段第一阶段0.1.0 – 0.4.x2025-11双 Provider 奠基0.1.0Codex 用量条、刷新频率、About 链接、签名/公证脚本。0.3.0通过 PTY 读取codex /status获得 Credits 支持登录窗口与 Cookie 复用。0.4.0加入 Claude Code 支持——专属 Claude 菜单/图标、双 Provider 双线菜单、email/org/plan与 Sonnet 用量展示首个 Preferences 窗口General/About。0.5.x默认刷新频率定为 5 分钟可调 15 分钟Codex 默认走codex app-serverRPCPTY/status降级Claude 探测并行执行/usage与/status新增状态页菜单项、Status API、Sparkle 更新。这一阶段确立了菜单栏应用的骨架PTY/RPC 探测、缓存降级cached credits stay visible on transient timeouts、进程组清理防泄漏、-s read-only -a untrusted沙箱化探测。第二阶段0.6 – 0.172025-12CLI 与 Provider 生态扩张0.6.0内置codexbarCLI 诞生提供usage命令与--format text|json、--status。0.7.0富菜单卡片内联进度条 重置时间即今天菜单形态的起点。0.8.0Homebrew 安装brew install --cask steipete/tap/codexbar5 小时滑动窗口会话配额通知。0.9.0可选 OpenAI Web 访问复用已登录的 Safari/Chrome 会话展示 Code review remaining、用量明细与 Credits 历史——不存储任何凭据。0.10–0.14Gemini Provider、统一菜单栏图标 Provider 切换器Merge Icons、Antigravity Provider。0.15–0.16新 Provider 批量落地Droid (Factory)、Cursor、z.ai、CopilotIntel Mac (x86_64) 支持codexbar cost命令打印 Codex Claude 本地成本text/JSONProvider 品牌图标全面换用 SVG。0.17MiniMax ProviderKeychain 预检提示。第三阶段0.18 – 0.582026架构重写与平台级能力这一阶段是工程量最密集的时期每周都有发布。0.18 引入了用量数据源选择器Codex/Claude 的 auto/web/cli/oauth、Cookie 缓存、配置驱动的 Provider 设置与config validate/dump。0.38 把设置窗口重写为 System Settings 风格侧边栏列全部 Provider。0.45–0.54 期间菜单栏布局编辑器、条件令牌、Usage Spend 仪表盘、插件引擎、Adaptive 刷新相继落地。0.55–0.58 则聚焦性能优化扫描提速、缓存复用与准确性修复。CLI 命令体系从单命令到完整工具链0.6.0 只提供usage如今codexbar已是一套完整的运维工具链。在 Sources/CodexBarCLI/CLIEntry.swift 中可以看到完整命令分派命令用途关键参数来自 CLIHelp.swiftcodexbar usage打印启用 Provider 的用量快照--format text\|json\|toon、--provider、--account、--all-accounts、--source auto\|web\|cli\|oauth\|api、--statuscodexbar cost读取 Claude/Codex 本地日志 pi/OMP 会话的成本--breakdownClaude 每日/模型明细、--group-by project\|session、--days、--refresh、--provider-native-onlycodexbar cards响应式终端卡片网格--brief紧凑表格、--json-outputcodexbar dashboard输出 dashboard-v1 快照 JSON--output path原子写文件、--identity redacted\|full、--timeoutcodexbar servelocalhost HTTP 服务含内置自动刷新 Web 仪表盘--host、--port、--dashboard-token、--allow-plain-http、--refresh-intervalcodexbar sessions列出/聚焦本地 Codex、Claude Code、pi、OMP 会话--json-v2、sessions focus idcodexbar config配置管理validate、dump默认脱敏--show-secrets还原、set-api-key、providers、enable、disablecodexbar hooks watch无头环境持续轮询并触发配额/状态变更 Hook--interval默认 300s最小 60s、--provider、JSON 输出codexbar guard配额感知的自动化门禁稳定退出码、显式窗口、JSON 输出、有界抓取codexbar diagnose通用脱敏诊断导出各 Provider 附特定元数据codexbar plugins本地 JS/TS Provider 插件管理list、fetch id需审批绑定codexbar cache clear、codexbar cookie refresh缓存与 Cookie 运维Provider 作用域清理几个值得注意的工程细节TOON 输出0.53.0 加入--format toon输出 TOON v4.1 格式的 JSON专为追求更省 token 的 Agent 消费设计。serve 安全0.27.0 起拒绝非 loopback 的Host头0.48.0 加入--dashboard-token令牌门禁并禁止缓存敏感响应--allow-plain-http需显式开启0.44.0。dashboard 快照--output通过临时文件 fsync rename 原子写入0644方便静态 webroot 发布。Linux 支持0.37.0 起发布静态 musl 版 x86_64/aarch64 tarball0.54.0 修复了codexbar cost在 Linux 上的 SIGSEGVBundle.allBundles在 swift-corelibs-foundation 下崩溃改为检查主可执行路径。Usage Spend 仪表盘成本溯源与覆盖度0.44.0 引入了本地 Usage Spend 视图0.53.0 完成重建成为成本可视化的核心模块成本溯源cost provenance与覆盖度计数所有估算都被明确标注部分合计显示其覆盖范围未定价的东西绝不能伪装成真实账单0.53.0。Token 构成、每小时活动热力图、All-time 范围7d/30d 之外提供 All time基于 365 天本地历史 Claude/Cursor 专属快照槽。自定义定价覆盖层custom pricing overlay精确匹配的定价高于 models.dev 与内置费率缺失字段保持未知、显式零费率视为免费0.53.0。OpenCodex 只读导入可选用usage.jsonl导入SQLite 缓存隔离在 CodexBar 自己的缓存目录且只读。固定时区pinned IANA day-bucketing timezone0.58.0 进一步加入每日账本daily spend ledger——按天查看 token、请求与消费遵循所选时区明确区分金额未知与零用量。Heatmap 提示框0.56.5 优化为优先显示在悬停单元格上方窄网格内不越界。底层实现分散于多个模块spend 数据发布在 UsageStoreSpendDashboardPublication.swift本地扫描在 CostUsageScanExecutor.swift模型聚合在 SpendDashboardModel.swift 与 SpendDashboardModelModelBreakdown.swift。本地成本扫描JSONL 解析的持续优化史CodexBar 的成本计算不依赖 Node CLI而是轻量扫描本地 JSONL 会话日志0.12.0受 ccusage 启发。CHANGELOG 中这一模块的优化次数最多是理解其架构的绝佳样本增量解析只解析新增的usage.jsonl条目而非每次重建整个缓存0.55.135k 条日志场景下内存显著下降。定价一次化0.55.0 用预解析的 models.dev 目录 自定义定价覆盖层把每次usage.jsonl条目定价一次35k 条目日志的刷新从约 12 秒降到约 3 秒。缓存复用0.57.0 起跨启动复用兼容的成本报告仅当历史、定价或报告语义变化时刷新。SQLite 存储0.49.0 把成本历史迁入单一 SQLite store——任意语料规模下内存有界、追加速率线性、不再有刷新时的数百 MB JSON 解码。0.49.0 同时修复了每次保存循环只在一个事务内写入崩溃/被杀不会让会话行与旧日聚合不一致的原子性问题。扫描游标持久化0.54.1 让 priority-turn trace 数据库扫描游标跨重启持久化避免每次启动全量重扫logs_2.sqlite大库上可省数分钟全核 CPU。fork 语义0.21–0.29 持续修复 fork 会话的重复计数、子代理历史边界0.58.0 排除显式子代理历史边界之前的继承记录、父会话出现/变化/解析到不同文件时使 fork 缓存失效。这一模块在源码中对应 CostUsageScanExecutor.swift、PiSessionCostScanner.swift 与 CodexLocalProjectUsageIndexer.swift。Provider 生态从 2 个到 58 个CHANGELOG 记录了每个 Provider 的加入时间Codex、Claude Code0.4、Gemini0.10、Antigravity0.14、Droid/Factory、Cursor、z.ai、Copilot0.15、OpenCode、Vertex AI、Kiro、Kimi、Kimi K2、Augment、Amp、Synthetic0.18、MiniMax0.17、Warp0.18-beta.3、Perplexity、OpenCode Go0.20、Mistral0.23、Windsurf、Codebuff0.24、Manus、MiMo、Qwen、Doubao、Command Code、StepFun、Crof、Venice、OpenAI API0.25、GroqCloud、LLM Proxy、Deepgram、ElevenLabs、Grok/xAI0.27、T3 Chat、Azure OpenAI0.28、Kilo、Ollama、OpenRouter0.18/0.29、Zed、Chutes、Poe0.36、LiteLLM0.36、Notion AI0.47、Qwen Cloud、ZoomMate、Alibaba Token Plan0.46、Fireworks、IBM Bob0.49、ZenMux、ClinePass、LongCat、Neuralwatt0.44、Sakana AI、ClawRouter、Wayfinder0.42、z.ai0.18……0.42.1 的网站更新确认总数已达 58。每个 Provider 都有多种数据源模式统称--source模式说明auto按优先级自动回退如 CodexOAuth/CLI → Web Cookieweb复用浏览器 Cookie 读取 Web 仪表盘cli直接调用 CLI 二进制codex app-serverRPC、claude /usage、kiro-cli、agy等oauth读取本地 OAuth 凭据Keychain / 凭据文件apiAPI Key 直连OpenAI Admin API、Anthropic Admin API 等Provider 层在源码中的体现是 Sources/CodexBar/Providers 的 164 个 Swift 文件以及 Sources/CodexBarCore/Providers 的 485 个文件统一注册表在 ProviderRegistry.swift。菜单栏与布局从双条图标到条件令牌菜单栏是 CodexBar 的门面其演进路线清晰0.1–0.7双条用量图标、Critter 像素图标Claude 螃蟹、Codex 方块。0.10合并图标模式 Provider 切换器。0.16percent 模式品牌图标 百分比标签0.45 加入 drag-and-drop 布局编辑器identity/usage/reset/cost/spacing/stacked-line 令牌。0.54条件令牌——命名、可复用的 if/then/else 规则可基于任何可比较块用量、重置时间、耗尽、pace、余额、成本测试 1–4 个 AND/OR 子句跨 23 个语言目录本地化。例如session 50% used且session 在 2h 内重置或剩余余额 5都可表达。0.58新增显式重置倒计时与时钟令牌含条件分支、Session/Weekly 百分比窗口选择、可见用量行选择跨全菜单/紧凑菜单/设置预览/Overview 同步。0.47Session/Weekly/Auto pace 令牌渲染带符号 pace 增量11%、-8%、0%。实现上菜单栏逻辑分布在 StatusItemControllerMenuBarLayout.swift、MenuBarLayoutEditor.swift 与 MenuBarLayoutConditionalEditor.swift。0.54 的条件求值基于 AdaptiveRefreshPolicyCore.swift 一类的可比较值抽象。多账号与会话claude-swap、Codex 工作区与 Agent Sessionsclaude-swap0.38.1 接受基于只读claude-swap --list --json的展示型多账号设计0.40 可切换非活跃账号并立即刷新0.47 加入紧凑多账号菜单4 账号时活跃账号保留完整卡片其余压缩为单行健康目标加星标。Codex 多账号0.49 起按规范身份调和生活系统与托管账号账号作用域的用量/历史/仪表盘状态各自独立0.56.4 确保每个托管账号所选工作区在堆叠刷新、credits、历史、菜单行、对账与 System Account 提升中保持权威。Agent Sessions0.42可选用以发现、列出并聚焦本地或 SSH 连接的 Codex/Claude Code 会话0.56.5 显式强制 Tailscale CLI 模式以避免新版 Tailscale 上的应用二进制崩溃。自适应刷新与节能0.38.1 引入 2–30 分钟的自适应节奏基于菜单使用、低功耗模式、热状态0.45 落地 Agent 感知的 Adaptive 模式同意门槛 有界本地活动检测0.55 让 ChatGPT.app 内嵌 Codex 也能被识别并保持 5 分钟活跃节奏。0.47 加入默认关闭的全局 Low Power Mode自动工作限 30 分钟一次手动刷新始终即时。核心策略在 AdaptiveRefreshPolicyCore.swift 与 UsageStoreAdaptiveRefresh.swift。插件引擎QuickJS 沙箱0.48.0 引入本地 JavaScript/TypeScript Provider 插件manifest 驱动的设置、通用菜单卡片、审批约束的网络/Cookie 访问、Sucrase 沙箱转译。0.49.0 全面切换到 QuickJS 沙箱引擎每个 QuickJS 上下文跑在专用 4 MiB 栈线程上每次 JS 入口刷新栈边界并保留 3 MiB 原生余量深层递归抛出干净的栈溢出错误而非崩溃。Apple 构建保留 JavaScriptCore 作为显式回滚引擎。相关实现见 Sources/CodexBarCore/Plugins。iCloud 同步与 Keychain 治理0.47.0 加入 opt-in iCloud 同步默认关闭经 CloudKit 跨 Mac 同步 Provider 配置、精选偏好与逐设备用量快照API Key/Cookie/Token 走端到端加密字段独立 opt-outhooks 与机器本地路径永不同步菜单可显示其他 Mac 的账号及最后已知用量via Mac · 1h ago。应用同时开始监视config.json外部 CLI 编辑实时生效。0.49.0 修复了 CKSyncEngine 委托回调内同步等待导致的致命 CloudKit 断言崩溃。Keychain 治理贯穿始终非捆绑进程dev 构建改用进程本地缓存而非共享 keychain 项测试进程全局禁用 keychain 交互Avoid Keychain prompts 使用无提示策略Claude OAuth 凭据在 Keychain 缓存以减少重复提示。开发与工程实践CHANGELOG 中Development/Internal/Docs条目揭示了仓库的工程规范测试严格并发构建、Swift Testing 迁移、TaskLocal 作用域覆盖隔离、Keychain 测试禁真、120fps 屏录驱动的菜单闪烁自探针CODEXBAR_FLICKER_PROBE_DIR、进程清理测试。CImacOS/Linux 双平台门禁ci_macos_test_gate.sh、ci_linux_musl_build_gate.sh、Swift 测试分片ci_swift_test_by_suite.py。发布签名与公证sign-and-notarize.sh、Sparkle appcastmake_appcast.sh、dSYM 路径校验test_release_dsym_paths.sh。文档docs/DEVELOPMENT.md、docs/DEVELOPMENT_SETUP.md 提供了本地构建与配置说明。结论从 0.1.0 的单文件日志扫描到 0.58 的多 Provider、多账号、插件化、Web 仪表盘与 Agent 友好 CLICodexBar 的 CHANGELOG 完整记录了一个 macOS 工具如何围绕本地优先、无需登录、诚实定价三个原则持续演进。对于想要理解其架构、复用其 CLI或学习 Swift 菜单栏应用工程化的开发者这份 CHANGELOG 与 Sources 目录中的源码是相互印证的一手材料。【免费下载链接】CodexBarShow usage stats for OpenAI Codex and Claude Code, without having to login.项目地址: https://gitcode.com/GitHub_Trending/co/CodexBar创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考