中文 | English
首先鸣谢 CodexRadar:本项目建立在 CodexRadar 的公开信号之上。CodexRadar 早期提供 Codex 速蹬窗口、reset、reset 预测、RSS 事件和 model IQ;当前提供重置雷达、社区知识分享、额度雷达与模型质量雷达。Codex Radar Sentinel 是一个本地 macOS 菜单栏工具,会把 CodexRadar 当前公开的 reset 研判、重置卡自查知识、额度估算、Model IQ、本机 Codex 额度状态与重置卡过期查询整合到状态栏里,并保留旧 reset/速蹬接口恢复时的兼容能力。
v0.1.44:全文入口按实际截断显示 - 已经完整显示的文本不再多一个“全文”。
全文 / 收起不再只按字符数粗略判断,而是比较折叠态和全文的实际渲染高度。- 如果当前文本已经完整显示,就只展示正文;只有真实被截断时才出现
全文入口。 - 这套逻辑仍然复用在 Prediction、Reset Radar、额度雷达、错误提示和后续新增的摘要说明里。
v0.1.43:长文本统一可展开 - Prediction、雷达摘要和错误提示都能点开全文。
Prediction 预测的长 reasoning 摘要现在会显示全文,点击即可展开完整内容。- 系统自查了类似截断点:CodexRadar 总结、额度雷达总结、用量节奏说明、重置卡提示、失败原因、连接错误、更新状态等摘要类文本都接入同一套展开逻辑。
- 后续新增菜单摘要/说明时,应优先使用统一展开组件,避免只显示省略号却没有查看全文入口。
v0.1.42:重置卡自动查询 - 默认低频刷新每张 reset credit 的过期时间。
重置卡过期现在默认开启自动查询:启动后和缓存超过 6 小时时刷新一次,不接入 60 秒主轮询。- 仍可一键关闭自动查询,也可以点
立即刷新主动更新;缓存只保存脱敏卡片状态、发放时间、过期时间和 ID 后缀,不保存 token。 - 失败提示改成可操作文案:未登录、登录态过期、网络失败、接口格式变化会给出不同下一步,并且失败时保留旧缓存、不弹系统通知、不影响状态栏额度。
v0.1.41:长摘要可展开 - 重置雷达里的截断消息可以点击查看全文。
CodexRadar 重置雷达的路径卡片摘要和原因摘要默认仍保持紧凑,避免菜单变长。- 当文本较长时,下方会出现
全文;点击后在原位置展开完整内容,再点收起恢复。 - 适合查看 Tibo 回复、社区反证、硬重置说明这类容易被截断的长消息。
v0.1.40:重置卡过期时间 - 下拉菜单可手动查询并缓存每张 reset credit 的过期时间。
重置卡过期区块新增查询重置卡:点击后才读取本机 Codex 登录态并请求 reset credits,不接入 60 秒轮询。- 查询结果会缓存到本机设置里,后续打开菜单直接展示;只保存标题、状态、发放时间、过期时间和脱敏 ID 后缀,不保存 token、cookie 或完整唯一 ID。
- 查询中会显示进度,失败只在该区块显示错误,不影响状态栏额度、CodexRadar 轮询或自动更新。
v0.1.39:重置卡自查 - 下拉菜单同步 CodexRadar 的“重置卡过期时间自查”社区知识。
- 新增
重置卡自查小节,可一键复制 CodexRadar 提供的 reset credit 过期时间自查 prompt。 - 文案明确 Sentinel 只复制文本,不读取
~/.codex/auth.json、token 或 cookie;用户需要主动在 Codex 里运行。 - live contract 现在会检查
community_knowledge,避免 CodexRadar 社区知识卡结构变化后菜单静默缺失。
v0.1.38:重置雷达对齐 - 下拉菜单同步 CodexRadar 首页恢复的 reset 研判。
- 新增
CodexRadar 重置雷达区块,展示“发重置卡”和“硬重置”两条路径的等级与摘要。 current.json暂未带 reset 研判时,会从 CodexRadar 首页解析公开研判;状态栏仍保持紧凑,不额外占位。- live contract 现在会检查
reset_judgement,避免 CodexRadar 首页结构变化后菜单静默缺失。
v0.1.37:额度雷达对齐 - 下拉菜单同步 CodexRadar 首页新增的公开额度估算。
- 新增
CodexRadar 额度雷达区块,展示 20x Pro / 5x Pro / Plus 的 5h 和 7d 美元等价值。 - 文案明确这是 CodexRadar 的公开估算,不是本机剩余额度;本机剩余仍在
Codex 额度区块。 - live contract 现在会检查
quota_radar,避免 CodexRadar 字段变化后菜单静默缺失。
v0.1.36:reset payload 兼容 - current.json 临时不带 Model IQ 时,自动从 CodexRadar 首页补齐 IQ。
- 保留
reset_completed / community_confirmed的权益状态,同时补回首页公开的 Model IQ 和多模型表格。 reset_completed现在也会进入“CodexRadar 记录到 reset”提醒路径,不再只依赖旧的closed_at。- 兼容 CodexRadar 首页新的
6.29_pm这类 Model IQ 日期格式。
v0.1.35:多模型 IQ 对齐 - 下拉菜单同步 CodexRadar 新增的 GPT-5.4 high 和多模型对比。
- 状态栏仍保持紧凑,只显示主模型 IQ,不会因为多模型监控变宽。
Codex IQ区块新增多模型表格,展示 5.5 xhigh / high / medium、5.4 xhigh / high 的 IQ、探针和体感分。- 跟随 CodexRadar 首页新增的 “5.4 high 模型监控”能力,live contract 会继续校验新结构。
v0.1.34:Prediction 等级兼容 - 兼容 CodexRadar 新增的 `medium_low` / `medium_high` 等复合预测等级。
medium_low显示为中低,英文显示为medium-low。medium_high显示为中高,英文显示为medium-high。- 避免 Prediction 区在 CodexRadar 新等级下显示“未知”。
历史版本 - 展开查看更早的功能记录。
v0.1.33:中国节假日/调休 - 工作日策略默认启用 2026 中国法定节假日和调休补班。
使用中国节假日/调休默认开启,只影响工作日应剩策略。- 法定假日按周末权重
0.35计算,调休补班按工作日权重1计算。 - 已内置 2026 国务院办公厅节假日安排,例如端午
06-19至06-21会按假日节奏处理。
v0.1.32:工作日节奏修正 - 工作日策略改为按本机日历的天级预算计算,避免 reset 当天中途开始时建议剩余过高。
- 工作日权重为
1,周末权重为0.35。 - 进入当天后就把当天预算计入建议用量;reset 当天按截止时刻折算。
- 例如下次 reset 是
06-25 10:00时,06-18当天会作为一个工作日预算参与计算,不会只按从 10 点开始的几个小时算出应剩 95%。
v0.1.31:周额度提醒降噪 - 低额度通知增加冷却,避免同一低额度状态反复弹窗。
周额度偏低默认最多 12 小时触发一次。周额度很低默认最多 4 小时触发一次,仍保留更强提醒。- 如果上游 reset 时间戳在滑动或抖动,app 不会因为 key 变化在每轮 60 秒刷新里重复打扰。
v0.1.30:防止轮询卡住 - CodexRadar 请求增加 15 秒超时,避免一次网络卡住导致状态栏不再刷新。
- 今天 CodexRadar 官方速蹬窗口已开启,重启 app 后状态栏正确显示
速蹬。 - 修复长期运行时某次公开端点请求卡住后,后续 60 秒轮询可能不再继续的问题。
- 状态栏仍保持紧凑;真正开窗时会恢复红色速蹬强调和通知。
v0.1.29:质量指标对齐 CodexRadar - 下拉菜单新增耗时、费用、cache 命中率和社区体感分。
- CodexRadar 当前网页展示“智商、速度、费用与 cache 命中率”和“社区体感分”,菜单已同步这些公开指标。
Codex IQ区块现在会显示耗时、费用、Cache 和体感分,例如49分钟 / $39.94 / 95.0% / 9.4/10。- 状态栏默认仍保持
周额度 / IQ / 质量,不会因为新增指标变宽。
v0.1.28:转向模型质量雷达 - 速蹬窗口已下架,状态栏第三段改成 Model IQ 质量状态。
- CodexRadar 当前聚焦 Model IQ、速度、费用、cache 命中率和社区体感分。
- 状态栏默认变成
周额度 / IQ / 质量,例如96%/112/正常;IQ 偏低时会显示低。 - 下拉菜单隐藏 live Prediction 区块,不再把
0% / 0%这类旧 reset 预测当成主信息展示。
v0.1.27:兼容 CodexRadar 新首页 - 旧 JSON/RSS 端点下架后,自动从首页读取 Model IQ。
- CodexRadar 已将 reset 预测、速蹬窗口提醒和历史窗口下架;旧端点不可用或回到首页时,app 会自动降级。
- app 会识别首页 HTML,从公开页面提取最新 Model IQ,并合成“无速蹬窗口”的兼容状态。
- 本机 Codex 额度、IQ 和菜单主体继续可用;不会再把 HTML 当 JSON 解码错误展示给用户。
v0.1.23:折叠区整行可点 - 点标题文字、图标或右侧状态都能展开,不用再精确点左侧小箭头。
应剩计算策略和状态栏高级的标题行都变成整行按钮。- 左侧箭头只是视觉提示,实际可以点标题文字、图标、右侧状态。
- 这类小交互降低了菜单栏工具的操作精度要求,尤其适合高频点开查看。
v0.1.22:策略卡片可直接切换 - 不再依赖菜单栏弹窗里不稳定的下拉选择器。
应剩会把建议剩余和实际剩余放在一起看,直接告诉你还能多用还是该放慢。- 展开
应剩计算策略后,点击任一策略说明卡片即可切换。 - 当前策略会有蓝色高亮和
当前标记,不需要猜当前选中了什么。
v0.1.21:多种应剩策略 - 按不同工作习惯规划周额度节奏。
- 新增
按时间、每日、留余、工作日、先用五种策略。 - 每种策略都解释公式、刷新粒度和适用场景。
- 可选把
应剩放进状态栏,例如用应80%提醒现在理想剩余。
v0.1.19:应剩改成建议剩余 - 看“现在应该还剩多少”,比看“应该用掉多少”更直观。
- 用
建议剩余 / 实际剩余 / 可多用三个卡片解释当前节奏。 - 例如建议应剩 80%、实际还剩 90%,就直接提示可以多用一点。
- 这个表达更适合控制周额度节奏,不需要用户自己反向换算。
v0.1.17:状态栏高级压缩 - 在不牺牲可读性的前提下减少菜单栏占位。
- 可调分隔符、左右留白、字体比例。
- IQ 可以选择原值、
/10整数或/10小数。 - 可以隐藏
%,也可以只保留自己关心的状态栏段。
v0.1.11:5h 短窗可选显示 - 除了周额度,也能把短窗额度放进状态栏。
5h默认关闭,需要时可以手动打开。- 打开后状态栏可以类似
96%/99%/62/低,第二个百分比就是短窗。 - 适合排查“周额度还很多,但短窗先触顶”的情况。
v0.1.7:Prompt Log 开源 - 把产品从想法、吐槽、截图反馈到发布验证的 prompt 一起放进仓库。
- 新增 Prompt Log,记录用户直接给 Codex 的产品需求、设计反馈和验证要求。
- 去掉时间戳、本地路径、截图缓存路径和安全敏感信息,只保留可公开的产品上下文。
- 后续每条 prompt 都维护到实际 commit 的映射,commit 链接可点击。
v0.1.4:自动更新 - 新版本可以静默下载、校验、替换并重开。
- 默认开启自动更新,启动后会检查 GitHub Release,之后每 6 小时检查一次。
- 下载后校验 SHA256,再替换 app bundle。
- 如果更新失败,会保留当前版本并短期暂停同版本自动重试,避免循环重启。
如果你正在用 Codex 桌面版,可以直接复制下面这段 prompt 给 Codex。需要允许 Codex 访问网络、执行 shell 命令、写入 /Applications;如果 macOS 弹出通知权限,点允许即可。
直接安装 Codex Radar Sentinel:下载 https://github.com/WineChord/codex-radar/releases/latest 的最新 macOS 包,装进 /Applications,启动并确认菜单栏;需权限问我。
状态栏标题刻意保持很短:
96%/112/正常
三个值分别是:
96%:Codex 周额度剩余百分比。112:Codex IQ 分数。状态栏默认截断为整数以节省空间;下拉菜单里的 Codex IQ 区块会显示精确值,例如112.5。正常:CodexRadar 模型质量状态,来自 Model IQ。IQ 偏低时会显示低。
下拉菜单的 状态栏显示 里还可以手动打开:
5h:把 5 小时短窗额度也放进状态栏;默认关闭,打开后会类似96%/99%/112/正常。应剩:把“按节奏现在应该还剩多少周额度”放进状态栏;默认关闭,中文显示类似应80%,英文显示类似R80%。
应剩计算策略 默认收起。点击这一整行标题即可展开或收起;展开后点击任一策略卡片即可切换,并会直接说明每个策略的公式、刷新粒度和适用场景。
状态栏高级 默认收起;点击这一整行标题即可展开或收起。展开后可以调分隔符、左右留白、字体比例、IQ 是否按 /10 显示,以及状态栏里是否保留 %。这些设置只影响状态栏标题,下拉菜单里的完整数值不变。
当前 CodexRadar 已说明速蹬窗口提醒下架,所以 live 模式不再把速蹬/Prediction 当作主信号。如果未来旧兼容接口恢复并报告窗口开启,红色速蹬强调仍会生效。
这些截图来自真实 macOS 状态栏:脚本会启动真实 app,切换预览状态,然后裁剪本 app 的状态栏 item。不是手绘 mock,也不包含右侧其他菜单栏图标。
| 正常 | IQ 偏低 | 本机限额 | 自定义 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
可以在下拉菜单里选择状态栏显示哪些值。例如不关心 IQ 数字时,可以只显示 96%/正常。
如果关心 5 小时短窗,可以手动打开 5h,它会作为一个额外百分比插入到周额度和 IQ 之间。
如果想按 reset 窗口节奏均匀使用周额度,可以手动打开 应剩。
如果想让状态栏也显示精确 IQ 小数,可以打开 状态栏 IQ 小数。
这张图由 app 自己在高清屏上截取真实 SwiftUI 菜单窗口生成,和状态栏截图、News 小图一起由 ./scripts/update_readme_screenshots.sh 维护。README 里按 390px 宽度展示,避免尺寸过大;点开原图可以看到高清细节。
- Codex 周额度剩余,来自本机 Codex app-server。
- Codex 短窗额度剩余,也来自本机 Codex app-server。
- 用量节奏:按所选策略计算当前建议剩余百分比,并和实际周额度剩余对比;例如建议应剩 80%、实际还剩 90%,就会提示可以多用一点。
策略包括:
按时间平滑均匀用完;每日按天级预算推进;留余前期保留 20% 缓冲;工作日工作日多用、周末少用;先用前半程更积极,避免 reset 前剩太多。 - CodexRadar 首页可见的重置雷达研判:发重置卡、硬重置两条路径的等级、摘要和原因。
- CodexRadar 首页可见的社区知识:
重置卡过期时间自查prompt。菜单保留复制 prompt 作为兜底路径。 - 本机重置卡过期查询:默认低频自动刷新,也可以手动点
立即刷新;app 会读取~/.codex/auth.json中的 Codex access token,请求 ChatGPT reset credits 接口,并只缓存脱敏后的卡片状态、发放时间和过期时间,不保存 token。 - CodexRadar 当前公开的 Model IQ、模型质量状态和探针通过数。
- CodexRadar 首页可见的额度雷达:20x Pro / 5x Pro / Plus 的 5h 和 7d 美元等价值估算。它不是本机剩余额度,只是公开估算。
- CodexRadar 首页可见的模型质量方向:速度、费用、cache 命中率和社区体感分。
- CodexRadar 旧速蹬/预测接口的兼容状态;这些功能不再作为 live 主信息展示,只有明确恢复时才触发旧提醒路径。
应用默认中文;下拉菜单里可以切换 English。Codex、IQ、Reset、Prediction、Radar 这类英文术语会保留,因为它们在产品里更清楚。
应用会在这些情况发送 macOS 通知:
- 周额度低于 30%。
- 周额度低于 15%。
- 周额度从低位恢复。
- Codex IQ 进入 red 或低于 80。
- legacy 兼容接口如果未来重新报告速蹬窗口、reset 或 high prediction,仍会触发对应提醒。
通知声音默认关闭,可以在下拉菜单里打开。首次启动会把历史 reset 窗口记为已见过,避免补发旧通知;如果 legacy 兼容接口未来恢复且首次启动时正好处在明确的速蹬窗口中,仍然会提醒。
自动更新默认开启。应用启动 5 秒后会先检查一次,之后每 6 小时检查一次最新 GitHub Release,下载 ZIP,校验 release 里的 SHA256,然后替换已安装的 app bundle 并自动重开。
如果下载、校验或安装失败,应用会保留当前版本并在菜单里显示失败原因。安装脚本也会先备份旧版;如果替换失败,会恢复并重新打开旧版。对同一个刚刚安装失败的版本,自动更新会暂停短期重试,手动 检查更新 仍可立即重试。
底部工具栏固定提供 刷新、Radar、Codex、GitHub 和 退出,方便常用跳转不用滚动菜单。
版本更新区还提供:
检查更新:立刻检查并安装新版本。Changelog:打开最新 release notes。Prompts:打开开源的 prompt log。GitHub:打开仓库页面。
如果只想手动更新,可以在下拉菜单关闭 自动更新。
仓库里带了一个 repo 内 skill:CodexRadar Sync。当 CodexRadar 页面或 JSON 数据格式变化时,可以让 Codex 执行这个 skill:它会检查 CodexRadar 最新主页和公开端点,比较字段变化,更新 Swift 解码和 macOS 菜单映射,并在发版前跑完整 UI/数据检查。
下拉菜单里有 预览 分段控件,可以本地查看不同状态:
Live:真实数据。正常:无速蹬窗口的正常质量 UI。低 IQ:模型质量偏低 UI。速蹬:速蹬窗口 UI,包括红色状态栏和红色提示。Reset:CodexRadar 记录到 reset 的 UI。限额:本机限额 UI。
预览只影响 UI 展示;真实通知和去重仍使用 live 数据。
也可以用环境变量启动:
CODEX_RADAR_PREVIEW=qualityLow swift run CodexRadarSentinel可选值是 live、qualityNormal、qualityLow、speedWindow、resetConfirmed、blocked。
Codex Radar Sentinel 读取这些公开入口:
- CodexRadar homepage:当前公开重置雷达研判、重置卡自查社区知识、额度雷达、Model IQ 和模型质量细节。
- current.json:当前可能返回 JSON,包含额度雷达、Model IQ、官方权益事件和 legacy prediction 字段;当 reset 研判暂未进入 JSON 时,app 会从首页补齐。
- api/model-ratings:社区体感分,菜单里的
体感来自这里。 - feed.xml:后续用于官方权益提醒;不可用或返回首页时,app 会继续以首页/JSON 里的 Model IQ 为准。
本机额度读取 Codex app-server:
{"method":"account/rateLimits/read"}当响应里存在 rateLimitsByLimitId.codex 时,优先使用这个 bucket。5 小时窗口显示为 短窗,10,080 分钟窗口显示为 周额度。
本机重置卡过期时间默认低频自动刷新:app 启动后、或缓存超过 6 小时时,会从 ~/.codex/auth.json 取 Codex access token,把它作为 Authorization header 发给 ChatGPT reset credits 接口,然后只把脱敏后的卡片元数据缓存到本机偏好设置里。你可以在下拉菜单里关闭自动查询;失败时只显示友好提示并保留旧缓存。
从最新 GitHub Release 下载 .dmg,打开后把 Codex Radar Sentinel.app 拖到 Applications。
.zip 里包含同一个 app bundle,适合喜欢手动复制的用户。
构建普通 macOS .app:
./scripts/build_app.sh
open ".build/Codex Radar Sentinel.app"开发时也可以直接运行:
swift run CodexRadarSentinel如果 Codex 不在默认路径,可以设置:
CODEX_RADAR_CODEX_PATH=/path/to/codex运行测试:
swift test发版前做 live 数据和 UI 检查:
./scripts/check_release_readiness.sh 0.1.44构建 release 包:
swift build -c release
./scripts/build_app.sh
./scripts/package_release.sh 0.1.44更新 README 状态栏和菜单截图:
./scripts/update_readme_screenshots.sh这个脚本会启动真实 app 并裁剪 macOS 状态栏 item,也会调用 app 自己的文档截图模式渲染完整菜单界面,并从完整菜单生成 News 小图。因此需要本机允许 System Events 读取辅助功能信息,并允许屏幕截图。
重新生成 macOS 图标:
./scripts/generate_app_icon.shCodex Radar Sentinel 之所以能成立,是因为 CodexRadar 持续提供清晰的公开 Codex 信号。CodexRadar 早期提供速蹬窗口、reset、reset 预测、RSS 事件和 model IQ;当前提供重置雷达、社区知识分享、额度雷达与模型质量雷达。本应用只是把这些公开信号和用户本机 Codex 额度状态整合成一个 macOS 菜单栏工具。
Codex Radar Sentinel 与 CodexRadar 或 OpenAI 没有关联。



