切换到另一套 Codex 皮肤
用新的六位主题 ID 替换当前皮肤,了解直接切换与受控重载,并核对新主题的可见结果
普通换肤不需要先 Restore。切换本质上是一笔指向新六位 ID 的 Apply 事务,只有新主题包与当前窗口都通过验证后,它才会替换上一次成功的主题。
切换前先看当前状态
在主题图库选择新的 ID,并确认没有另一笔主题操作已经获得批准或正在运行。旧对话中的历史失败不会自动要求 Restore。不确定时,请先查看当前本地 Status。
只有两种情况适合先 Restore:当前状态明确显示 rollback 没有确认,或者你主动希望先回到官方外观。
提交新的主题 ID
在一条正常的 Codex 请求中写明新的六位 ID,例如:
Codex Skin,请切换到主题 100005第一次应用与后续替换都由同一个 Apply Skill 处理。Pro 主题仍要求当前有效的 Pro 访问权,但已有状态有效时,不需要重复安装或重新做设备授权。
一般切换需要 20–60 秒。在 Codex 明确显示成功或失败前,不要在当前 Codex 窗口点击、输入、导航或关闭窗口。事务打开的浏览器授权页或 Pricing 页面可以正常使用。不要提交第二次 Switch 请求。
Helper 如何选择执行路径
Helper 不会只看版本号来决定路径。它会核对官方 Codex 身份、loopback 控制的当前窗口、已经验证的 marker、原生外观,以及目标主题所需能力。
当前窗口可信
-> 原生模式相同:直接替换
-> macOS 原生模式不同:优先使用已验证的应用内 Appearance 路径
-> 修改前发现应用内合同不可用:请求一次受控重载
-> Windows 原生模式不同:请求一次受控重载每条路径都要使用完整签名主题包,并以当前窗口的可见验证结束。局部颜色已经改变或主题包已经下载,都不代表切换完成。
同一深浅模式内切换
如果当前受控窗口可信,而且新旧主题都属于 dark 或都属于 light,Helper 会直接替换皮肤。dark 到 dark、light 到 light 不会重写原生外观,也不需要重启 Codex。
直接替换依然有完整校验。新主题包仍要通过签名、hash、内容白名单、身份、能力和最终可见结果检查。
在 light 与 dark 之间切换
macOS 的受信任窗口会先使用签名 Helper 内置的固定 Appearance 合同。Helper 会核对 live setting、原生 palette、当前 renderer、恢复点、profile 与 loopback 身份。如果修改前发现这个界面缺失或有歧义,Codex Skin 会改为请求一次受控重载。
如果应用内切换在修改后出现不确定结果,Helper 会先尝试恢复原来的原生模式。无法确认恢复时,它会停止,不会继续注入新皮肤。
Windows 的跨模式切换使用一次确认的受控重载。macOS 可以在应用内切换,并不能证明 Windows 也能原地完成。两个平台都会保留第一次 Apply 前保存的准确原生设置,供之后 Restore。
请求待确认或正在运行时
新选择能否替换旧请求,取决于当前状态:
| 当前状态 | 新选择会怎样 |
|---|---|
pending_confirmation | renderer 尚未修改,新验证过的选择可以替换旧的未确认请求 |
restart_approved | 已批准事务拥有当前操作,请等待它结束 |
running | Helper 正在运行,不要抢占或再次提交 |
completed 或终止失败 | 先读当前 Status;没有 rollback 问题时可以开始新请求 |
另一笔事务已经获得批准或正在运行时,竞争请求会收到 CS-FLOW-RESTART-002。等待可以避免清理与验证执行到一半时被第二笔操作打断。
需要确认重载时
受控重载路径会返回 CS-FLOW-RESTART-001,并要求明确回答 yes 或 no。回答 yes 允许 Codex 使用同一 profile 关闭并重新打开一次,不代表新主题已经生效。
批准后不要再提交第二笔请求。Codex 返回后,请查看本地 Status。只有 restartStatus: completed,并且公开 ID 与版本和新主题一致,才能算成功。
核对新主题
不需要重载时,成功结果必须同时包含 ok: true、请求的 themePublicId、themeVersion 与 operationId。经过重载时,最终 Status 必须是 completed,并与新 ID 一致。
新事务开始后,上一次 applied ID 只是历史记录,不能证明当前 renderer 显示什么。未确认的选择或已经下载的主题包,也不能当作当前新主题。
切换失败时
主题包不合格会在新皮肤提交前被拒绝。最终验证失败时,事务会进入回滚路径。请保留稳定错误码,并在决定下一步前查看当前 Status。
CS-FLOW-VERIFY-001表示 Helper 无法证明最终 renderer 状态;如果当前 Status 没有报告 rollback 问题,可以重试原来的 SwitchCS-FLOW-ROLLBACK-001表示当前回滚没有得到确认;再次换肤前请先使用 RestoreCS-FLOW-RESTART-002表示另一笔已经批准或运行中的事务必须先结束
不要清空 cache、编辑 Codex 应用,也不要手动运行来源不明的 Helper。故障排查集中说明安装、授权、主题包、重载、验证与恢复状态。
切换结束后
新结果通过验证后,有限 Helper 会退出。完全退出 Codex、重启电脑或之后的 renderer reload 会结束可见保证。下次请通过 Codex Skin 再次应用想要的主题。
新的 Pro 下载、更新、切换或重新应用需要当前有效的 Pro 访问权。到期或退款不会远程移除已经显示的皮肤,Restore也始终可以离线使用。
常见问题
每次切换前都要 Restore 吗?
不需要。普通切换是一笔替换事务。只有你想回到官方外观,或当前 Status 明确报告 rollback 未确认时,才需要 Restore。
在 light 与 dark 之间切换一定会重启吗?
不同平台使用不同路径。macOS 优先使用已验证的应用内 Appearance 合同,修改前发现合同不可用时回退到一次确认的重载。Windows 跨模式切换使用一次确认的受控重载。
等待重启确认时还能换一个 ID 吗?
未确认的 pending 请求可以被新验证过的选择替换。事务一旦获得批准或开始运行,就要等待它结束。
