Codex插件不可用?Windows端Browser/Computer Use故障排查指南
速览
本文针对Codex Desktop中Browser、Chrome插件及Computer Use功能显示不可用或拉取失败的问题,提供了一套完整的故障排查方案。内容涵盖从代理链路检查、插件市场目录状态确认,到日志分析与Junction链接修复等关键步骤。通过逐层诊断,帮助用户恢复插件正常安装与启用状态。
AI 深度解读
背景
OpenAI 近期发布了 Computer Use 功能,旨在让 AI 模型能够直接操作计算机界面。在 Windows 平台上,这一功能依赖于 Codex Desktop 应用程序及其内置的插件市场(Marketplace),特别是 browser、chrome 和 computer-use 插件。
然而,部分用户在更新或日常使用中遇到了设置页面中这些插件显示“不可用”的问题。经社区深入排查,发现该问题并非单一原因造成,而是可能涉及网络代理配置、插件市场缓存损坏、Chrome 扩展宿主进程锁定文件,以及 Windows Junction(硬链接/符号链接)指向错误等复杂的技术细节。为了解决这一痛点,社区用户总结了一套基于 PowerShell 和命令行工具的标准化故障排查流程,并通过结构化提示词(Prompt)引导 AI 助手进行自动化诊断。
核心内容
该分享提供了一套针对 Windows 环境下 Codex Desktop 插件失效问题的深度排查与修复方案。方案强调“先诊断后修复”、“不破坏原有配置”以及“优先使用日志确认根因”的原则。具体排查逻辑分为以下八个层级:
1. 代理链路基础检查
首先排除网络层面的阻碍。由于许多用户(如 LLM 开发者)使用 FlClash 配合 Proxifier 进行全局或应用级代理,需确认:
- FlClash 本地代理端口(如
127.0.0.1:7890)是否活跃。 - Proxifier 规则是否正确覆盖了
Codex.exe、git.exe、node.exe、curl.exe及chrome.exe等关键进程。 - 通过
git ls-remote https://github.com/openai/skills.git HEAD测试 GitHub 连通性。若 GitHub 不通,则问题根源在于代理配置;若通畅,则进入下一步。
2. 插件状态初步诊断
通过命令行确认 Codex CLI 识别到的插件状态。
- 定位 Codex CLI 路径:通常在
C:\Users\<用户名>\AppData\Local\OpenAI\Codex\bin\*\codex.exe。 - 执行命令:
codex plugin list --json。 - 重点检查
browser@openai-bundled、chrome@openai-bundled和computer-use@openai-bundled是否出现在installed列表中,且enabled状态为true。若缺失或禁用,需深入检查插件市场目录。
3. 内置插件市场目录完整性检查
检查 Codex 的本地缓存目录,确认内置插件是否完整。
- 目标路径:
C:\Users\<用户名>\.codex\.tmp\bundled-marketplaces\openai-bundled。 - 正常状态下,该目录应包含
.agents\plugins\marketplace.json以及plugins文件夹下的browser、chrome、computer-use、latex、sites等子目录。 - 若目录中仅剩
chrome或缺失其他关键插件,表明内置插件市场刷新机制出现故障或数据损坏。
4. 日志分析确认根因
通过查看 Codex 日志文件,寻找具体的错误代码。
- 日志路径:
C:\Users\<用户名>\AppData\Local\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs。 - 关键错误关键词包括:
bundled_plugins_marketplace_resolve_failed、plugin_marketplace_folder_write_failed、EBUSY、bundled_plugins_reconcile等。 - 若出现
EBUSY: resource busy or locked错误,通常意味着 Chrome 插件宿主进程(extension-host)锁定了临时 marketplace 目录,导致 Codex 无法刷新或写入数据。
5. Chrome 插件 Junction 链接错误排查
这是一个常见的技术陷阱。
- 检查路径:
C:\Users\<用户名>\.codex\plugins\cache\openai-bundled\chrome\latest。 - 若该位置是一个 Junction(目录联接),且其目标指向临时市场目录(
.tmp\bundled-marketplaces\...),则属于错误状态。这种指向会导致 Chrome 扩展宿主持续锁定临时目录,引发上述的EBUSY错误。 - 修复逻辑:
- 结束
extension-host.exe及相关chrome.nativeMessaging进程(注意不要关闭 Chrome 主进程)。 - 备份损坏的临时目录。
- 将
chrome\latest的 Junction 目标修改为稳定的缓存目录版本(如plugins/cache/openai-bundled/chrome/<具体版本号>)。 - 若缓存版本缺失,需从 Codex 安装包中复制插件文件至缓存目录。
- 结束
6. 重建内置插件市场
若市场目录损坏严重,需从安装包源文件强制重建。
- 源目录:
C:\Program Files\WindowsApps\OpenAI.Codex_<当前版本>_x64__2p2nqsd0c76g0\app\resources\plugins\openai-bundled。 - 目标目录:
C:\Users\<用户名>\.codex\.tmp\bundled-marketplaces\openai-bundled。 - 操作要求:操作前必须备份目标目录。复制后需验证
plugins下是否包含所有必要插件,且marketplace.json存在。
7. 同步 Chrome Native Host 配置
检查 C:\Users\<用户名>\.codex\chrome-native-hosts.json 文件。
- 确保
codexCliPath、nodePath、extensionHostPath等路径指向当前存在的可执行文件。 - 若路径指向旧版本或文件不存在,需手动更新为当前有效的路径和插件版本号。
8. 最终验证
- 再次执行
codex plugin list --json,确认browser、chrome、computer-use均显示installed=true和enabled=true。 - 检查 Windows 命名管道(Named Pipes)是否生成,如
codex-browser-use-*和codex-computer-use-*。 - 建议用户从系统托盘完全退出 Codex Desktop 后重新启动,并在设置页确认插件状态恢复正常。
关键要点
- 代理非唯一原因:虽然代理配置错误(FlClash/Proxifier)会导致插件拉取失败,但许多情况下问题源于本地文件锁和缓存损坏,需通过日志区分。
- EBUSY 错误的核心:
EBUSY通常由 Chrome 扩展宿主进程(extension-host)锁定临时市场目录引起,导致 Codex 无法更新插件。 - Junction 指向错误:
chrome\latest的 Junction 若错误指向临时目录(.tmp),会引发循环锁定。正确的做法是指向稳定的版本缓存目录。 - 备份优先原则:在执行任何删除、替换或修改目录结构的操作前,必须备份相关目录(特别是
.codex下的.tmp和plugins目录),以防配置丢失。 - 自动化诊断价值:通过提供结构化的 Prompt,可以让 AI 助手辅助执行 PowerShell 命令、读取日志并给出修复建议,降低了手动排查复杂 Windows 路径和进程锁定的门槛。
- 验证闭环:修复后不仅要看设置界面,还需通过 CLI 命令验证插件状态,并检查 Windows Named Pipes 是否正常生成,最后重启应用以确保状态同步。
意义与影响
这一排查流程揭示了 AI 桌面应用(如 Codex Desktop)在本地化部署和集成时的复杂性。随着 AI 模型从纯文本交互向 Computer Use(计算机使用)扩展,应用需要与操作系统底层组件(如 Chrome 扩展、命名管道、文件系统锁)进行深度交互。
对于用户而言,这套方案提供了一套可复用的故障排除模板,特别是针对 Windows
