今天顺手查了一个挺有意思的 Codex Desktop 小现象。
起因是这个帖子:Codex API 号池里突然出现 ambient_suggestions 请求。帖子里有人贴图,说 UI 里其实有一个“建议提示 / Enable ambient suggestions”的开关。但我在自己的 Codex Desktop 菜单里找了半天,确实没有看到这项。
于是拆了一下当前 macOS Codex Desktop 包,版本是 26.602.40724。结论有点反直觉:这不是简单的“菜单漏了”,而是这行设置本身有账户显示 gate。
对应的设置行在 General settings 里,文案大概是:
Suggested promptsSuggest what to do next by searching project files and connected appsEnable ambient suggestions
真正的开关 key 是:
ambient-suggestions-enabled
它的默认值在打包代码里是 true,描述是:
Whether home-page ambient suggestions are enabled
但 UI 里这一行是否显示,不直接由这个 key 决定,而是先走账户条件:
var allowedPlans = [
"plus",
"pro",
"business",
"team",
"self_serve_business_usage_based",
];
function canShowAmbientSuggestionsSetting({ authMethod, email, plan }) {
return authMethod === "apikey"
? true
: authMethod === "chatgpt"
? isOpenAIEmail(email) || allowedPlans.some((p) => p === plan)
: false;
}
function isOpenAIEmail(email) {
return email?.toLowerCase().endsWith("@openai.com") === true;
}
也就是说:
| 登录/账户状态 | UI 里是否显示这项 |
|---|---|
| API key 模式 | 显示 |
| ChatGPT Plus / Pro / Business / Team | 显示 |
| OpenAI 内部邮箱 | 显示 |
| ChatGPT Free 或不在列表里的 plan | 不显示 |
所以如果你看到别人截图里有这个开关,而你自己的 Codex Desktop 里没有,不一定是版本不同,也不一定是你没找对菜单。可能只是当前账户状态没有通过这段 gate。
更微妙的是,这里其实有两层逻辑:
ambient-suggestions-enabled:真实开关值,默认true。authMethod + email + plan:决定 UI 设置行显示不显示。
所以“功能开关存在”和“菜单里看得见开关”不是一回事。
我本机还看了一眼本地状态目录,确实存在历史 ambient-suggestions 缓存,最近一次写入是 2026-05-21;但今天没有新的缓存写入。这个只能说明这套功能历史上确实跑过,不能单独证明当前还在跑。
个人感觉这里最容易误导人的点是:当 UI gate 把设置项藏起来时,用户会自然以为“我没有这个功能/不会受影响”。但真实情况可能是:设置 key 仍存在,默认值仍是 enabled,只是当前账户形态下没有暴露关闭入口。
如果要完全确认一台机器当前状态,最好不要只看菜单,而是同时看:
- 当前
auth_mode是apikey还是chatgpt - ChatGPT 账号 plan 是否在允许列表里
- 本地
ambient-suggestions缓存是否近期写入 - 是否有新的 ambient suggestions 相关请求或日志
这类小 gate 很有意思:它不是功能权限本身,也不是配置本身,而是“配置项的可见性权限”。排查 UI 缺项时,值得把这三层拆开看。