# Codex 官方模型恢复说明

## 这条命令解决什么问题

公司模型配置使用本机 `~/.codex/models.json` 作为模型目录，并在 `config.toml` 中通过 `model_catalog_json` 指向它。恢复官方配置时，Codex 需要回到内置的官方模型目录，核心动作就是：

1. 备份本机公司 `models.json`，不删除原文件。
2. 从 `config.toml` 删除 `model_catalog_json` 这一行，让 Codex 不再读取公司模型目录。
3. 将 `model` 改成官方模型 ID，默认是 `gpt-5.5`。

桌面版和 VS Code 插件还存在本地白名单补丁，所以对应入口会额外恢复 `app.asar` 或插件原始文件；CLI 不需要额外恢复程序文件。Windows 桌面版恢复成功并检测到正式 Microsoft Store 版 Codex 后，会删除独立的白名单测试副本和由它创建的“Codex Studio”快捷方式；正式安装版不会被删除。

测试版的 `profile` 是 Electron 界面运行目录，用于隔离缓存、窗口状态和应用锁，不是任务数据库副本。测试版内置的 `codex.exe app-server` 仍使用共享的 `%USERPROFILE%\.codex` 状态目录，因此正式版可能继续看到测试版创建的任务；删除测试副本不会清除这份共享任务记录。

## Windows 一键恢复

在 Windows PowerShell 中，根据正在使用的客户端执行对应的一条命令：

桌面版：

```powershell
irm 'https://gitlab.com/comluojian/agent-tools/-/raw/main/codex/windows/desktop/latest/Run-CodexOfficialRestore-Remote.ps1' | iex
```

VS Code 插件版：

```powershell
irm 'https://gitlab.com/comluojian/agent-tools/-/raw/main/codex/windows/vscode/latest/Run-CodexOfficialRestore-Remote.ps1' | iex
```

CLI：

```powershell
irm 'https://gitlab.com/comluojian/agent-tools/-/raw/main/codex/windows/cli/latest/Run-CodexOfficialRestore-Remote.ps1' | iex
```

命令文件只在临时目录下载脚本，执行完成后自动删除。默认官方模型为 `gpt-5.5`；如果某个官方客户端版本使用其他官方模型 ID，可以在下载后的本地入口中传入 `-OfficialModel`，不需要改 Provider 或服务地址。

## macOS 一键恢复

在 macOS 终端中，根据正在使用的客户端执行对应的一条命令：

桌面版：

```sh
curl -fsSL 'https://gitlab.com/comluojian/agent-tools/-/raw/main/codex/macos/desktop/latest/Run-CodexOfficialRestore.sh' | sh
```

VS Code 插件版：

```sh
curl -fsSL 'https://gitlab.com/comluojian/agent-tools/-/raw/main/codex/macos/vscode/latest/Run-CodexOfficialRestore.sh' | sh
```

CLI：

```sh
curl -fsSL 'https://gitlab.com/comluojian/agent-tools/-/raw/main/codex/macos/cli/latest/Run-CodexOfficialRestore.sh' | sh
```

macOS 桌面版当前没有发布公司 `.app`/`app.asar` 白名单补丁，因此桌面入口只恢复 `config.toml` 的模型目录设置；插件入口会恢复 `.company-original` 原始文件。macOS 默认使用 `~/.codex` 和 `~/.vscode/extensions`，可通过 `CODEX_OFFICIAL_MODEL`、`CODEX_VSCODE_EXTENSIONS` 环境变量覆盖默认值。

## 恢复后会发生什么

- `config.toml` 会保留 Provider、服务地址、Token、登录状态、推理强度和其他设置。
- `models.json` 和 `config.toml` 都会在修改前生成带时间戳的 `.bak` 备份。
- Windows 桌面版会恢复测试副本中的 `app.asar.original`，确认正式 Microsoft Store 版存在后删除测试程序和界面 `profile`，不会修改或删除正式安装目录，也不会删除共享的 `%USERPROFILE%\.codex` 任务记录。
- Windows/macOS 插件版会恢复插件目录中的 `.company-original` 文件。
- 完全退出并重新打开 Codex、VS Code 或 CLI 会话后再验证模型列表。

如果没有找到桌面测试副本、正式安装版或插件原始备份，命令会保留配置恢复结果并提示跳过对应程序文件恢复；没有检测到正式安装版时不会删除测试副本。
