Platform / 平台
Windows
OS version / 系统版本
Windows 11
CPU / 架构
Windows x64
Codex Desktop version / source / Codex 桌面版版本或来源
Codex 桌面应用版本 | 26.715.10079.0
Dream Skin version / 皮肤工具版本
1.3.3
Problem category / 问题类型
Skin not applied / 启动后无皮肤
Self-check / 自检
Steps to reproduce / 复现步骤
问题描述
Codex 从 26.715.9757.0 自动更新到 26.715.10079.0 后,Dream Skin 彻底失效。
现象:
- 点击 Dream Skin 快捷方式能启动 Codex 窗口
- 但系统托盘显示 Dream Skin 状态为"未运行"
- 端口 9335 从未被监听
injector.log 显示注入器从未启动
injector-error.log 显示 original CDP browser identity closed; watcher is stopping instead of reconnecting
根因分析
1. 旧版本 vs 新版本的行为变化
旧版本 (26.715.9757.0):
IApplicationActivationManager::ActivateApplication 传入的 --remote-debugging-port=9335 能正确传递给 ChatGPT.exe 的 Chromium/Electron 进程,端口正常打开,CDP 注入成功。
新版本 (26.715.10079.0):
同样的 COM 调用,参数被 owl runtime 转换成了 Codex 自定义协议 URL:
"C:\Program Files\WindowsApps\OpenAI.Codex_26.715.10079.0_x64__2p2nqsd0c76g0\app\ChatGPT.exe"
codex://threads/new?path=--remote-debugging-port%3D9335
可以看到 --remote-debugging-port=9335 被 URL 编码后(%3D)塞进了 codex:// 协议处理器的 path 参数里,而不再作为 Chromium 命令行 flag 传递给底层进程。因此 owl runtime 永远不会开启 CDP 调试端口。
2. 已尝试的所有绕过方案(全部失败)
| 方法 |
命令/操作 |
结果 |
| COM 激活传参 |
IApplicationActivationManager + --remote-debugging-port=9335 |
参数被 URL 编码到 codex:// 协议,忽略 |
| CLI 直接传参 |
codex app -- --remote-debugging-port=9335 |
--remote-debugging-port 被当作工作区路径,而非 flag |
| CLI feature flag |
codex app --enable devtools |
Error: Unknown feature flag: devtools |
| CLI feature flag |
codex app --enable debug |
Error: Unknown feature flag: debug |
| 环境变量 |
ELECTRON_REMOTE_DEBUGGING_PORT=9335 codex app |
owl runtime 不读取此环境变量 |
| Pipe 调试 |
codex app -- --remote-debugging-pipe |
同样被当作工作区路径 |
| 修改偏好文件 |
尝试修改 owl runtime 的 Preferences 文件 |
AppData\Roaming\Codex\web\Codex\ 目录在进程外不可访问(沙箱隔离) |
| 重新安装 Codex |
通过 Windows Store 重装 |
Store 只提供最新版 26.715.10079.0,无法降级 |
3. owl runtime 的 feature flags
从运行中进程的命令行可以提取到 owl runtime 的 feature 列表:
启用的 features:
OwlAuth, OwlAutofillAndPasswords, OwlDownloads, OwlPermissions,
OwlPrinting, OwlWebViewEnhancements
禁用的 features:
DropInputEventsWhilePaintHolding, OwlExtensions, OwlHistory, OwlOpenAIGoLinks
其中没有与 CDP、DevTools、或远程调试相关的 feature flag。这意味着 CDP 支持可能在编译时就被完全移除了,而不是通过 feature flag 动态控制。
Expected behavior / 期望结果
主题应用成功
Actual behavior / 实际结果
显示主题根本未运行,codex界面无变化
Modified official Codex install? / 是否改过官方 Codex 安装?
No — official app only / 否,仅官方安装
Logs / Verify / doctor output(recommended)/ 日志与校验输出(强烈建议)
日志输出
%LOCALAPPDATA%\CodexDreamSkin\injector.log
[dream-skin] injected target D3BE468D5DC3D400F61A49EEEA540501
[dream-skin] active theme custom
[dream-skin] paused
[dream-skin] active theme preset-gothic-void-crusade
[dream-skin] paused
说明:第 1-2 行为旧版本上成功注入的自定义主题记录。第 3-5 行为问题发生后尝试切换主题的记录——每次都是 paused,之后再也没有成功注入。
%LOCALAPPDATA%\CodexDreamSkin\injector-error.log
[dream-skin] original CDP browser identity closed; watcher is stopping instead of reconnecting
说明:Codex 自动更新后进程重启,CDP 浏览器身份标识发生变化,watcher 检测到身份不匹配后主动停止(这是 injector.mjs 的安全机制——防止注入到错误的浏览器实例)。但此后由于新版 Codex 不再开启 CDP 端口,watcher 再也无法重新连接,持续处于"未运行"状态。
%LOCALAPPDATA%\CodexDreamSkin\state.json
(文件不存在 —— 故障排查过程中已被删除,但问题与此无关)
Codex 主进程命令行(运行中进程的实际参数)
"C:\Program Files\WindowsApps\OpenAI.Codex_26.715.10079.0_x64__2p2nqsd0c76g0\app\ChatGPT.exe"
codex://threads/new?path=--remote-debugging-port%3D9335
关键证据:--remote-debugging-port=9335 被 URL 编码后作为 codex:// 协议的 query 参数传递,而非 Chromium 命令行 flag。
Codex CLI doctor 输出(节选)
Codex Doctor v0.145.0-alpha.30 · windows-x86_64
✓ runtime version 0.145.0-alpha.30
✓ system Windows 10.0.26200 (Windows 11 CoreCountrySpecific) [64-bit]
✓ config model: deepseek-v4-pro · custom
○ app-server not running (ephemeral mode)
端口验证
netstat -ano | grep 9335
→ (无任何输出 —— 端口从未被监听)
verify.log(旧版本上最后一次成功验证的快照)
{
"mode": "verify",
"port": 9335,
"targets": [{
"targetId": "D3BE468D5DC3D400F61A49EEEA540501",
"result": {
"installed": true,
"version": "1.3.3",
"expectedVersion": "1.3.3",
"themeId": "preset-gothic-void-crusade",
"revision": "597663c260909c6e6b5a",
"styleMode": "adopted",
"stylePresent": true,
"pass": true
}
}]
}
说明:旧版本上 Dream Skin 1.3.3 运行正常,CSS 注入成功(stylePresent: true),验证通过(pass: true)。
Screenshots / video / 截图或录屏
No response
Extra context / 其他信息
菜单栏 / 系统托盘
已安装 tray-dream-skin.ps1,在桌面和开始菜单均有快捷方式(Codex Dream Skin - Tray.lnk)。旧版本上托盘正常工作,更新后托盘显示主题状态为"未运行"。
暂停状态
是,主题曾两次被暂停。injector.log 完整时间线:
| 行 |
事件 |
说明 |
| 1 |
injected target D3BE... |
旧版本上"德鲁纳"自定义主题成功注入 |
| 2 |
active theme custom |
使用自定义主题(德鲁纳) |
| 3 |
paused |
第一次暂停 |
| 4 |
active theme preset-gothic-void-crusade |
切回默认 Gothic Void Crusade 预设 |
| 5 |
paused |
第二次暂停(此时 Codex 已自动更新) |
暂停后尝试恢复时,injector 因 CDP 浏览器身份变更停止(见 injector-error.log),之后再也无法重连。
CDP 端口占用
端口 9335 当前没有任何进程监听,也未被其他程序占用。不是端口冲突问题,而是新版 Codex 根本没有开启 CDP 服务。
补充信息
- Dream Skin 安装路径:
C:\codex\CodexDreamSkin
- 主题文件完整且配置正确(
%LOCALAPPDATA%\CodexDreamSkin\active-theme\theme.json),排除了主题配置问题
- 在旧版本上 Dream Skin 曾正常工作(
injector.log 第 1 行有成功注入记录)
- Codex 的
config.toml 中无可用于启用调试的配置项
Confirmation / 确认
Platform / 平台
Windows
OS version / 系统版本
Windows 11
CPU / 架构
Windows x64
Codex Desktop version / source / Codex 桌面版版本或来源
Codex 桌面应用版本 |
26.715.10079.0Dream Skin version / 皮肤工具版本
1.3.3
Problem category / 问题类型
Skin not applied / 启动后无皮肤
Self-check / 自检
Steps to reproduce / 复现步骤
问题描述
Codex 从
26.715.9757.0自动更新到26.715.10079.0后,Dream Skin 彻底失效。现象:
injector.log显示注入器从未启动injector-error.log显示original CDP browser identity closed; watcher is stopping instead of reconnecting根因分析
1. 旧版本 vs 新版本的行为变化
旧版本 (
26.715.9757.0):IApplicationActivationManager::ActivateApplication传入的--remote-debugging-port=9335能正确传递给 ChatGPT.exe 的 Chromium/Electron 进程,端口正常打开,CDP 注入成功。新版本 (
26.715.10079.0):同样的 COM 调用,参数被 owl runtime 转换成了 Codex 自定义协议 URL:
可以看到
--remote-debugging-port=9335被 URL 编码后(%3D)塞进了codex://协议处理器的 path 参数里,而不再作为 Chromium 命令行 flag 传递给底层进程。因此 owl runtime 永远不会开启 CDP 调试端口。2. 已尝试的所有绕过方案(全部失败)
IApplicationActivationManager+--remote-debugging-port=9335codex://协议,忽略codex app -- --remote-debugging-port=9335--remote-debugging-port被当作工作区路径,而非 flagcodex app --enable devtoolsError: Unknown feature flag: devtoolscodex app --enable debugError: Unknown feature flag: debugELECTRON_REMOTE_DEBUGGING_PORT=9335 codex appcodex app -- --remote-debugging-pipeAppData\Roaming\Codex\web\Codex\目录在进程外不可访问(沙箱隔离)26.715.10079.0,无法降级3. owl runtime 的 feature flags
从运行中进程的命令行可以提取到 owl runtime 的 feature 列表:
启用的 features:
禁用的 features:
其中没有与 CDP、DevTools、或远程调试相关的 feature flag。这意味着 CDP 支持可能在编译时就被完全移除了,而不是通过 feature flag 动态控制。
Expected behavior / 期望结果
主题应用成功
Actual behavior / 实际结果
显示主题根本未运行,codex界面无变化
Modified official Codex install? / 是否改过官方 Codex 安装?
No — official app only / 否,仅官方安装
Logs / Verify / doctor output(recommended)/ 日志与校验输出(强烈建议)
日志输出
%LOCALAPPDATA%\CodexDreamSkin\injector.log%LOCALAPPDATA%\CodexDreamSkin\injector-error.log%LOCALAPPDATA%\CodexDreamSkin\state.jsonCodex 主进程命令行(运行中进程的实际参数)
Codex CLI doctor 输出(节选)
端口验证
verify.log(旧版本上最后一次成功验证的快照)
{ "mode": "verify", "port": 9335, "targets": [{ "targetId": "D3BE468D5DC3D400F61A49EEEA540501", "result": { "installed": true, "version": "1.3.3", "expectedVersion": "1.3.3", "themeId": "preset-gothic-void-crusade", "revision": "597663c260909c6e6b5a", "styleMode": "adopted", "stylePresent": true, "pass": true } }] }Screenshots / video / 截图或录屏
No response
Extra context / 其他信息
菜单栏 / 系统托盘
已安装
tray-dream-skin.ps1,在桌面和开始菜单均有快捷方式(Codex Dream Skin - Tray.lnk)。旧版本上托盘正常工作,更新后托盘显示主题状态为"未运行"。暂停状态
是,主题曾两次被暂停。
injector.log完整时间线:injected target D3BE...active theme custompausedactive theme preset-gothic-void-crusadepaused暂停后尝试恢复时,injector 因 CDP 浏览器身份变更停止(见
injector-error.log),之后再也无法重连。CDP 端口占用
端口 9335 当前没有任何进程监听,也未被其他程序占用。不是端口冲突问题,而是新版 Codex 根本没有开启 CDP 服务。
补充信息
C:\codex\CodexDreamSkin%LOCALAPPDATA%\CodexDreamSkin\active-theme\theme.json),排除了主题配置问题injector.log第 1 行有成功注入记录)config.toml中无可用于启用调试的配置项Confirmation / 确认