[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93057":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":20,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":41,"readmeContent":42,"aiSummary":43,"trendingCount":16,"starSnapshotCount":16,"syncStatus":44,"lastSyncTime":45,"discoverSource":46},93057,"codexU","shanggqm\u002FcodexU","shanggqm","macOS desktop widget for OpenAI Codex usage, quota tracking, token usage, and today task board","https:\u002F\u002Fgithub.com\u002Fshanggqm\u002FcodexU\u002Freleases\u002Flatest",null,"Swift",157,22,1,3,0,8,44.89,"MIT License",false,"main",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"chatgpt","codex","codex-cli","dashboard","desktop-widget","developer-tools","local-first","macos","macos-app","menu-bar-app","openai","openai-codex","quota-tracker","rate-limit","swift","swiftui","token-usage","usage-tracker","2026-07-22 04:02:08","# codexU\n\n> [!IMPORTANT]\n> **建议升级到 v1.0.1 或更高版本。** Codex 与 ChatGPT 合并升级后，macOS 应用由 `Codex.app` 更名为 `ChatGPT.app`。旧版 codexU 仍按旧路径查找 Codex，可能导致额度和用量读取失败；v1.0.1 已兼容新应用名称，并保留旧版路径与标准 CLI 回退。[下载最新版本](https:\u002F\u002Fgithub.com\u002Fshanggqm\u002FcodexU\u002Freleases\u002Flatest)。\n\n[English](README.en.md)\n\ncodexU 是一个 macOS 菜单栏与桌面应用，用来查看 OpenAI Codex \u002F ChatGPT Codex 和 Claude Code 的额度窗口、token 用量和今日任务状态。它把常用信息放在菜单栏和主窗口里，帮助你快速判断剩余额度、重置时间和当天工作进展。\n\n## 界面截图\n\n![codexU v1.0.2 状态栏定制与主界面](docs\u002Fscreenshot-v1.0.2-status-bar-customization.png)\n\n![codexU 今日任务视图](docs\u002Fscreenshot-v0.3.0-today.png)\n\n![codexU 用量趋势视图](docs\u002Fscreenshot-v0.3.0-usage.png)\n\n![codexU 项目排行视图](docs\u002Fscreenshot-v0.3.0-projects.png)\n\n![codexU Skill 使用视图](docs\u002Fscreenshot-v0.3.0-skills.png)\n\n## 适合谁\n\n- 经常使用 OpenAI Codex、Codex CLI 或 Codex 桌面应用的开发者。\n- 同时使用 Codex 和 Claude Code 做开发，希望在一个入口查看两边本机用量的人。\n- 需要快速查看 5 小时\u002F7 天额度、token 用量和重置时间的 ChatGPT Pro \u002F Team 用户。\n- 想在桌面查看 Codex 使用状态、减少反复打开浏览器或终端的人。\n\n## 功能\n\n- 展示 Codex 5 小时和 7 天额度的剩余比例、已用比例和重置时间。\n- 新增状态栏 Runtime 菜单：点击菜单栏图标后先展示 Codex \u002F Claude Code 卡片、5 小时和 7 日剩余、今日 token 与总 token。\n- 状态栏支持简约、经典、丰富三档透明显示：简约只保留加粗的 5h\u002F7d 同心双环，经典的独立进度环内只保留额度数字，丰富展示完整标签、进度条和重置时间。\n- 状态栏额度可切换“已用量 \u002F 剩余量”口径，并可选择显示 5 小时、7 天、今日 token 和重置倒计时；5h\u002F7d 进度色与主界面蓝紫双环一致。\n- 状态栏用进度方向区分口径：已用为顺时针\u002F左到右，剩余为逆时针\u002F右到左，不额外占用文字空间。\n- 状态栏 Runtime 使用从原始 Logo 精确派生的单色模板，文字与图标按菜单栏实际深浅自动切换黑白；彩色品牌图标继续用于主窗口和浮窗。\n- 今日总 token 在状态栏中只显示垂直居中的总量数字，不增加 `T` 标签。\n- 今日总量使用系统菜单栏正文尺寸；5h\u002F7d 标签与重置时间使用更易读、仍弱于主数值的动态辅助前景色。\n- 主界面顶部新增 `Codex | Claude Code` 全局开关，可手动切换所有面板的数据范围。\n- 支持 Claude Code 本机 transcript 用量统计、最近 7 日趋势、项目排行、工具\u002FSkill TOP 和任务看板基础能力。\n- 汇总今日、近 7 天和累计 token 用量，并细分未缓存输入、命中缓存输入和输出。\n- 按 OpenAI API token 价格估算本月 API 等效价值，并在 Plus、Pro 100、Pro 200 和满额月价值之间展示进度刻度。\n- 下方仪表盘支持今日任务、用量趋势、项目排行和 Skill 使用视图。\n- 从本机 Codex 线程和启用中的 automations 生成今日任务看板，按进行中、待处理、定时、完成四类组织任务。\n- 展示最近半年的每日 token 热力图、最近 7 日趋势摘要和同周期变化。\n- 展示最近 7 天与全部项目排行，包含 token、估算价值、线程数和最近活跃时间。\n- 展示工具调用 TOP 列表和 Skill 使用 TOP 列表，帮助判断本地 Codex 工作结构。\n- 以标准 macOS 窗口运行，支持 Dock、系统窗口控制、最小化和关闭主窗口后继续后台运行；关闭主窗口会隐藏 Dock 图标并保留菜单栏图标。\n- 支持 `Command + U` 显示或隐藏主窗口；菜单栏 Runtime 菜单也可以快速打开主窗口、设置或退出。\n- 设置窗口支持中文\u002F英文界面、自动\u002F浅色\u002F深色外观、状态栏内容与实时预览、主窗口置顶、关闭行为、系统状态和更新检查配置。\n- 默认自动检查 GitHub Release 新版本并接收 beta 版本，发现新版时提供匹配当前 Mac 架构的 DMG 下载入口；不会静默下载安装，自动检查可关闭。\n- 本地读取数据，不上传 usage、线程或账户数据到第三方服务。\n\n## 羊毛进度\n\n“羊毛进度”是 codexU 对本月 Codex 使用量的 API 等效价值估算。它把本机解析到的未缓存输入、命中缓存输入和输出 token，按对应模型的 OpenAI API token 单价折算成美元金额，并和 Plus、Pro 100、Pro 200 以及满额月价值做对比。这个指标解决的问题是：Codex 额度本身通常只显示百分比和重置时间，token 数量也不容易直观看出“用了多少价值”；羊毛进度提供一个统一的金额口径，帮助你判断本月订阅成本大致回收到了哪个区间。\n\n单次 token 用量的估算公式为：\n\n```text\nAPI 等效价值 =\n  未缓存输入 tokens \u002F 1,000,000 * 模型未缓存输入单价\n+ 缓存输入 tokens \u002F 1,000,000 * 模型缓存输入单价\n+ 输出 tokens \u002F 1,000,000 * 模型输出单价\n```\n\n其中 `未缓存输入 tokens = 输入 tokens - 缓存输入 tokens`，缓存输入按不超过输入 tokens 的数量计入。本月羊毛进度会累计当月所有本机 session 的 API 等效价值。进度条的满额终点使用 `2 亿 tokens\u002F天 * 30 天` 估算，并按 30% 未缓存输入、50% 缓存输入、20% 输出的参考 token mix 折算；当前参考价约为 `$7.75 \u002F 1M tokens`，满额月价值约 `$46,500`。进度条采用分段非线性刻度：Plus \u002F Pro 节点保留在前段，超过 Pro 200 后用对数比例映射到满额终点，因此条宽用于扫视阶段进展，不等同于线性美元占比。该金额只是基于 API 价格的等效估算，不代表实际账单或官方返现金额。\n\n## 快捷键和操作\n\n- `Command + U`：显示或隐藏主窗口；如果窗口已最小化，会恢复并唤到前台。\n- 菜单栏仪表图标：点击后打开 Runtime 菜单；点击 Codex 或 Claude Code 卡片会打开主界面并切到对应 Runtime。\n- 菜单栏 Runtime 菜单：展示 Codex \u002F Claude Code 快速状态，并提供打开主窗口、打开设置和退出。\n- 设置窗口：配置语言、外观、状态栏展示模式\u002F额度口径\u002F可见指标、主窗口置顶及关闭行为，并在系统区控制自动检查、查看状态或手动检查 GitHub Release 更新。\n- 主窗口顶部刷新按钮：立即刷新额度、token 统计、趋势图和任务看板。\n- 系统红黄绿窗口按钮：关闭、最小化或缩放主窗口；关闭后可通过菜单栏图标或快捷键唤回，退出请使用菜单栏 Runtime 菜单或 App 菜单。\n\n## 首次安装：隐私与安全\n\ncodexU 目前通过 GitHub Release 的 DMG 安装包分发，不经过 Mac App Store。第一次打开时，macOS 可能会拦截，需要手动允许：\n\n1. 打开 `codexU.app` 一次。如果系统提示无法打开，先取消弹窗。\n2. 打开 **系统设置 > 隐私与安全性**。\n3. 在 **安全性** 区域找到 `codexU.app`，点击 **仍要打开**。\n4. 使用 Touch ID 或密码确认，然后点击 **打开**。\n\n也可以在 Finder 中右键点击 `codexU.app`，选择 **打开**，再确认系统安全提示。\n\ncodexU 需要读取本机 `~\u002F.codex\u002F` 下的 Codex 数据；如果启用 Claude Code 统计，还会读取 `~\u002F.claude\u002F` 下的本机 transcript、任务和状态缓存。如果 macOS 弹出文件或文件夹访问授权，请允许访问，否则小组件无法读取本机 usage、线程和自动化任务信息。\n\n## 安装\n\n从 GitHub Release 下载与你的 Mac 芯片匹配的安装包：\n\n- Apple Silicon：`codexU-\u003Cversion>-mac-arm64.dmg`\n- Intel：`codexU-\u003Cversion>-mac-x86_64.dmg`\n\n1. 打开 DMG。\n2. 将 `codexU.app` 拖到 `Applications` 文件夹。\n3. 从 `Applications` 打开 codexU。\n4. 按上面的 **首次安装：隐私与安全** 步骤完成手动放行。\n\n安装后，codexU 默认每天最多自动检查一次 GitHub Release 是否有新版本，并接收 beta 版本。该检查只读取公开 Release 元数据；发现新版时会打开浏览器下载 DMG 或查看 Release 页面，安装仍由你手动完成。可以在设置窗口的系统区关闭自动检查，或手动点击“检查更新”。\n\n## 运行要求\n\n- macOS 14 或更新版本。\n- 本机已安装 Codex。\n- 已登录 Codex 账户，额度信息才会显示。\n- Codex 至少使用过一次，以便生成 `~\u002F.codex\u002Fstate_5.sqlite`。\n- Claude Code 统计为可选能力；历史 token 来自 `~\u002F.claude\u002Fprojects\u002F**\u002F*.jsonl`，额度需要本地 statusLine snapshot cache。\n- 从源码构建时需要 Xcode Command Line Tools。\n\n## 从源码构建\n\n```sh\nmake build\n```\n\n运行：\n\n```sh\nmake run\n```\n\n安装到 `\u002FApplications`：\n\n```sh\nmake install\n```\n\n检查本机数据源输出：\n\n```sh\nmake probe\n```\n\n## 打包 DMG\n\n```sh\nmake release\n```\n\n`make release` 会按当前构建机器的架构输出安装包。也可以显式打包指定架构：\n\n```sh\nmake release-arm64\nmake release-intel\nmake release-all\n```\n\n产物会写入 `dist\u002F`，例如：\n\n```text\ndist\u002FcodexU-1.0.3-mac-arm64.dmg\ndist\u002FcodexU-1.0.3-mac-arm64.dmg.sha256\ndist\u002FcodexU-1.0.3-mac-x86_64.dmg\ndist\u002FcodexU-1.0.3-mac-x86_64.dmg.sha256\n```\n\nDeveloper ID 签名和 Apple notarization 流程见 [DISTRIBUTION.md](DISTRIBUTION.md)。\n\n## 数据来源\n\n- 账户与额度：`codex app-server` 的 `account\u002Fread`、`account\u002FrateLimits\u002Fread`、`account\u002Fusage\u002Fread`。\n- 本机 token 总量：`~\u002F.codex\u002Fstate_5.sqlite`。\n- 精细 token 拆分：`~\u002F.codex\u002Fsessions\u002F**\u002Frollout-*.jsonl` 和 `~\u002F.codex\u002Farchived_sessions\u002F*.jsonl` 中的 `token_count` 事件。\n- 今日任务看板：本机 SQLite 中未归档和今日归档的 Codex 线程。\n- 用量趋势和项目排行：本机 session `token_count` 事件聚合；缺失精细事件时回退到线程更新时间的粗略口径。\n- 工具和 Skill 使用：本机 session 事件中的工具调用与 Skill 加载记录。\n- 定时任务：`~\u002F.codex\u002Fautomations\u002F**\u002Fautomation.toml` 中启用的 automation 元数据。\n- Claude Code 历史 token：`~\u002F.claude\u002Fprojects\u002F**\u002F*.jsonl` 中 assistant message 的 `message.usage` 字段。\n- Claude Code 工具、Skill 和任务：transcript 中的 `tool_use.name` \u002F 显式 Skill attribution，以及 `~\u002F.claude\u002Ftasks\u002F**\u002F*.json`。\n- Claude Code active 额度：可选读取 `~\u002FLibrary\u002FCaches\u002FcodexU\u002Fclaude-code\u002Fstatusline-snapshot.json`；缺失时 5 小时\u002F7 日额度显示为 `--`。\n- 更新检测：默认访问 GitHub Releases API，读取 `shanggqm\u002FcodexU` 的公开 release 元数据，并把检查结果缓存到 `~\u002FLibrary\u002FCaches\u002FcodexU\u002Fupdate-check.json`。\n\n当前 Codex 额度 API 暴露的是滚动窗口百分比和重置时间，不暴露绝对配额数量；Claude Code 首版只读取本地历史记录和可选 active snapshot，不代表 Claude.ai 官方账单。更完整的数据口径和回退策略见 [RESEARCH.md](RESEARCH.md)。\n\n## 常见问题\n\n### codexU 是官方 OpenAI 产品吗？\n\n不是。codexU 是一个非官方的本地 macOS 工具，用于读取本机 Codex app-server 和本机 `~\u002F.codex\u002F` 数据。\n\n### codexU 会上传我的 Codex 线程或 usage 数据吗？\n\n不会。codexU 只在本机读取 Codex 账户额度、本机 SQLite usage 和 automation 元数据，不把这些数据上传到第三方服务。自动更新检测只请求 GitHub Release 的公开版本元数据，不携带本机 usage、线程、路径、日志或账户数据。\n\n### 为什么显示的是剩余百分比，而不是绝对额度？\n\n当前 Codex 本地 API 暴露的是滚动窗口已用百分比和重置时间，不暴露绝对额度数量，所以 codexU 展示的是 5 小时和 7 天窗口的剩余百分比。\n\n### 支持 Intel Mac 吗？\n\n支持。Intel Mac 下载 `codexU-\u003Cversion>-mac-x86_64.dmg`。从源码打包时使用 `make release-intel`，或在支持对应 target 的机器上使用 `TARGET_TRIPLE=\"x86_64-apple-macos14.0\"`。\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n\n## 关注公众号\n\n如果你关注 AI 工具、Codex 使用经验和独立产品构建，欢迎扫码关注我的公众号。\n\n\u003Cimg src=\"docs\u002Fwechat-official-account-qr.png\" alt=\"公众号二维码\" width=\"220\" \u002F>\n\n## 用户交流群\n\n扫码加入 codexU 用户交流群，交流使用经验、反馈问题，也欢迎一起参与开源共建。\n\n\u003Cimg src=\"docs\u002Fcodexu-community-qr.jpg\" alt=\"codexU 用户交流群二维码\" width=\"320\" \u002F>\n","codexU 是一款 macOS 菜单栏桌面小工具，用于实时监控 OpenAI Codex（现 ChatGPT Desktop）及 Claude Code 的本地用量数据。它支持显示 5 小时\u002F7 天额度剩余、token 消耗明细（含缓存与非缓存输入、输出）、重置倒计时、API 等效价值估算（“羊毛进度”），并提供今日任务看板、项目排行、Skill 使用统计等开发者视图。基于 Swift\u002FSwiftUI 开发，采用本地读取日志方式，不上传任何用户数据，强调隐私与本地优先。适用于频繁使用 Codex 或 Claude Code 进行编程的 macOS 开发者，帮助其快速掌握配额状态、优化用量策略并减少浏览器\u002F终端切换。",2,"2026-07-11 02:30:47","CREATED_QUERY"]