# Codex 模型目录单独更新

## 适用场景

这条命令适用于已经完成 Codex 桌面版、VS Code 插件版或 CLI 初次配置的电脑。它只刷新公司提供的 `models.json`，不重新构建桌面测试副本，也不修改客户端程序文件。

## Windows 同事执行的一条命令

更新入口已经放在 GitLab 的命令文件中。同事在 Windows PowerShell 中只需执行下面一行：

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

这条命令只负责从服务器取回远程命令文件并执行；模型地址、备份、校验和临时文件清理都在命令文件内部完成，不需要同事填写参数。以后更换发布源时，只更新服务器上的命令文件即可，不需要重新通知新的长命令。

## macOS 同事执行的一条命令

在 macOS 终端中执行：

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

macOS 入口使用 `~/.codex/models.json`，会先备份旧文件并校验模型目录；不会修改 `config.toml`。命令要求系统已有 `curl` 和 `python3`。

## 命令会做什么

1. 从公共地址下载公司模型目录。
2. 校验 JSON 格式，并确认包含六个公司模型以及 `codex-auto-review`（用于自动代码复核）。
3. 创建本机 `C:\Users\当前用户\.codex` 目录（目录不存在时）。
4. 本机已有 `models.json` 时，先生成带时间戳的备份文件。
5. 用公司目录覆盖本机 `.codex\models.json`。

命令不会修改 `config.toml`、默认模型、Provider、服务地址、登录状态、授权信息、桌面版 `app.asar` 或 VS Code 插件文件。它假设初次配置已经将 `model_catalog_json` 指向 `~/.codex/models.json`；如果尚未完成初次配置，应先执行对应客户端的一键配置命令。

## 更新后

完全退出并重新打开 Codex 客户端。Windows CLI 可以运行：

```powershell
codex debug models
```

桌面版和 VS Code 插件会按照已经配置的模型目录重新读取模型列表。旧模型目录备份保留在 `.codex` 目录中，确认无误后可按需清理。

macOS CLI 或 VS Code 插件用户应使用对应的 macOS 初次配置入口，不要把 PowerShell 命令复制到终端。
