is-gpt-nerfed - 检测 Codex 实际应答模型是否被悄悄降级的 macOS 工具
is-gpt-nerfed 是一个 macOS 上的 Codex 插件与菜单栏应用,用来核对你选定的模型是否真的在应答。它读取 Codex 自身的会话记录,并通过随机数指纹探测判断模型是否被静默替换、推理强度是否被调低。项目由 kiyoakii 维护,MIT 许可,截至 2026-10-07 获得 243 星标。
is-gpt-nerfed 是一个面向 Codex 用户的 macOS 工具,由插件与菜单栏应用两部分组成。它要解决的问题很具体:你在 Codex 里选了一个模型,但真正回答你的未必是那个模型。项目自述称,Codex 会为每一轮对话记录它请求的模型与推理强度,插件在每轮之后读取这些记录,把那些你没有主动更改却发生变化的情况标出来——模型被换掉、推理强度被调低、出现诸如 gpt-reserve 这样的隐藏内部模型、上下文窗口变小。切换到更新或更大的模型同样会被报告,因为一次灰度发布可能朝任一方向走。据项目说明,这一部分不消耗 token。
它适合已经在使用 Codex 桌面应用或 CLI、并且在意「我选的模型是不是真的在跑」的开发者。所有检查都在本机完成,项目自述称不会上传任何内容。
维护者与状态
项目由 kiyoakii 维护,仓库创建于 2026-09-15,最后提交时间为 2026-09-29。最新 release 为 v0.5.3,发布于 2026-09-29。截至 2026-10-07,仓库获得 243 个星标。许可证为 MIT。
主要能力
以下能力均来自项目自述,本文未做实际验证。
- 记录比对:读取 Codex 每轮记录的请求模型与推理强度,标记未经你更改的模型替换、推理强度下调、隐藏内部模型以及更小的上下文窗口;升级到更新或更大的模型也会被报告。项目称这一过程不消耗 token。
- 指纹探测:按计划把当前会话临时分叉三次,走的是桌面端侧边对话所用的同一个 app-server 调用,并沿用会话自身的模型与推理强度。每次分叉被要求给出约 300 个「随机」数字。项目自述称,语言模型挑选随机数时带有与模型相关的偏差,ModelTrace 的校准库把三次回答转成一份指纹,交叉验证中三次回答可达 100% 准确率,判定结果再与你选择的模型比对。
- 判定分级:项目列出了 Match(所选模型应答)、Suspicious(指纹偏向别处但不够确信,维持到下次探测)、Downgrade / Upgrade / Rerouted(确信不匹配:首选候选达到 80% 及以上、你的模型在 20% 及以下,且至少两次回答支持)、Downgraded(Codex 自身记录显示静默切换,无需指纹)、Upgraded(记录显示迁移到更新或更大的模型)、Unlisted(你的模型尚未进入指纹库)、Invalid(没有可用回答,如工具调用、拒答、网络问题;这不是判定,该行保留上一次结果并提供重试)。
- 通知方式:不匹配会通过 macOS 通知、会话内消息和菜单栏红色表情送达;匹配则不主动播报。
- 会话面板:菜单栏面板列出最近 48 小时的会话及其最近判定,点击查看报告(指纹、历史探测、证据),右键可执行操作。每个会话有 Probe 与 Retry,Fresh session 一行用于探测一个全新会话。
- 命令行:提供
nerfed probe now、nerfed report、nerfed explain、nerfed log --since 2h等命令。 - 配置项:可在应用内设置,或用
nerfed config set调整,包括frequency(默认30m,也可写成turns:8)、fresh_frequency(默认manual)、mode(默认auto,可选nudge仅提醒)、halt_on_mismatch(默认false)、notify_on_ok与announce_ok(默认false)、hide_titles(默认false,截图模式)、check_updates(默认true)。 - 账号标记:会话在 Codex 账号之间共享,降级可能与账号而非会话绑定,因此每次探测都会带上已登录账号的哈希标记。切换账号后,较早的判定显示为「另一个账号」,这些会话会被重新探测。
- 界面语言:macOS 界面支持英文与简体中文,跟随系统首选语言,英文为回退。用户会话标题、模型 ID、推理强度取值以及未识别的外部诊断保持原文。
使用入口
仓库地址:is-gpt-nerfed。
据项目说明,需要 macOS 15 或更新版本。在终端执行一行命令即可安装最新 release 并打开应用:
curl -fsSL https://raw.githubusercontent.com/kiyoakii/is-gpt-nerfed/main/install-app.sh | sh
也可以从 Releases 下载磁盘映像,把 IsGPTNerfed 拖入 Applications。项目自述称应用尚未公证,因此首次启动会被 macOS 拦截,需要在「系统设置 → 隐私与安全性」中放行。点击菜单栏表情并按下 Install,即可把随附插件注册到 Codex 并信任其 hooks。有新版本时页脚会提示并只通知一次,点击后应用会下载新构建、校验校验和、替换自身并重启。
不使用应用时,在任意 macOS 上可以:
git clone https://github.com/kiyoakii/is-gpt-nerfed ~/is-gpt-nerfed && cd ~/is-gpt-nerfed && ./install.sh
项目说明称,当它询问是否信任 hooks 时回答 yes。Codex 不会运行你未信任的 hook,也不会主动告知。运行需要带插件 hooks 的 Codex(桌面应用或 CLI,项目称在 0.154 上测试过)以及系统自带的 python3。./uninstall.sh 会移除全部内容。
在会话中直接输入 $is-gpt-nerfed 可以立即探测该会话。项目自述称,每个活跃会话在活动 30 分钟后会在后台被探测:hooks 在每轮之后运行调度,菜单栏应用则负责捕捉刚过计划时间就安静下来的会话。
许可与限制
许可证为 MIT。
项目自述中列出的限制包括:
- 「你选择的模型」指的是 Codex 请求的模型。如果服务端替换了权重却保留名称,只有指纹或更小的上下文窗口才能暴露出来。
- 指纹库是闭集的,库外的模型会被映射到最接近的相似模型。
- 一次探测会在你的账号上产生三次简短回答。若某个分叉五分钟内没有回答,会被替换一次,以免慢模型掉出样本。
- 通过 Codex 自身设置做出的模型或推理强度变更会显示为一个问题(「是你改的吗?」),因为插件无法区分是你还是 Codex 改的。
- 探测运行在一个私有 app-server 进程中,该进程会把自己标识为它所检查的客户端(桌面应用或 CLI),因为服务可能按客户端路由。桌面端自身连接与探测连接之间的其他差异,对它来说是不可见的。
隐私方面,项目自述称插件读取 ~/.codex(会话记录、模型缓存,以及 auth.json 中仅用于账号哈希和掩码邮箱的部分),并写入 ~/.codex/is-gpt-nerfed(探测、判定、log.jsonl)。分叉是你账号下的普通 Codex 推理。它自身唯一的网络请求是应用打开时每十分钟向 GitHub 查询最新 release 标签,可在设置中关闭,关闭后不再发起任何请求。
项目在致谢中提到,指纹库、评分器、提示词以及分叉验证流程来自 ModelTrace(xqy2006,MIT),随机数思路来自 hlwy-ai-checker,会话选择器使用 simple-term-menu(MIT)。