Codex 接入指南
桌面应用与 CLI:配置一次,以后直接使用。
第一次使用,请按下面 1—6 步操作:安装客户端 → 创建密钥 → 打开配置文件 → 粘贴并保存配置 → 长期保存密钥 → 启动验证。已安装的用户可以从第 2 步开始。
核对日期:2026-10-10。本页适用于本地桌面应用和 CLI;网页端与云端任务需要另外配置。
1. 安装你要使用的客户端
下面两种选一种即可。桌面应用有图形界面;CLI 是在 PowerShell、Terminal 或 WSL 中输入命令使用的版本。安装完成后,继续第 2 步。
Codex 桌面应用
从官方入口下载 Windows 或 macOS 客户端,打开安装程序并按提示完成安装。当前官方桌面指南将 Codex 入口放在 ChatGPT 桌面应用中,打开后按提示登录并选择 Codex;已有 Codex 桌面客户端的用户按客户端提示更新。桌面用户无需安装 CLI。
官方桌面客户端下载Codex CLI(命令行)
点击 Windows 开始菜单,搜索并打开 PowerShell。点击代码框的“复制”,在 PowerShell 中按 Ctrl + V 粘贴,再按 Enter 执行。
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"等待安装完成,关闭并重新打开终端,再执行下面命令。看到 codex 和版本号就表示安装成功;如果提示找不到命令,先按安装程序的提示检查是否需要重新打开终端。
codex --version独立安装版升级时可重新运行同一安装脚本;通过其他包管理器安装的版本请使用原方式升级。Windows PowerShell 与 WSL 是两个运行环境,需要分别安装。
2. 创建并复制 AIDesk API Key
打开控制台的 API 密钥页面,创建一个密钥并复制。它通常以 sk-aidesk- 开头,第 5 步会用到;现在先保持控制台页面打开,到第 5 步时按自己的系统和客户端说明保存密钥。复制后面的命令会替换剪贴板内容,到时请回到密钥页面重新复制完整密钥。
3. 在电脑上打开配置文件
config.toml 是告诉 Codex“连接哪个地址、使用哪个模型”的文本文件。下面的命令会找到这个文件;第一次使用时会创建所需目录和空文件。这一节的命令在终端执行,第 4 步的配置才粘贴到文件里。
① 从开始菜单搜索并打开 PowerShell(不要打开命令提示符 CMD)。复制下面整段命令,在 PowerShell 中粘贴并按 Enter:
$codexConfigDir = if ($env:CODEX_HOME) {
$env:CODEX_HOME
} else {
Join-Path $env:USERPROFILE '.codex'
}
New-Item -ItemType Directory -Force -Path $codexConfigDir | Out-Null
$codexConfigPath = Join-Path $codexConfigDir 'config.toml'
if (-not (Test-Path -LiteralPath $codexConfigPath)) {
New-Item -ItemType File -Path $codexConfigPath | Out-Null
}
notepad $codexConfigPath② 会弹出记事本。看到空白文件是正常的;如果已有内容,请先备份并保留原设置。暂时不要关闭记事本,回到此页面完成第 4 步。
配置文件实际保存在哪里?Windows 和 WSL 是同一份吗?
Windows 默认是 %USERPROFILE%\.codex\config.toml,即自己用户文件夹内的 .codex 目录;macOS / Linux / WSL 默认是 ~/.codex/config.toml,其中 ~ 代表当前用户的主目录。
命令会优先使用你已设置的 CODEX_HOME;没设置过就不必处理它。Windows 与 WSL 使用各自的文件和密钥,请在运行 Codex 的那个环境中配置。
4. 复制连接配置,粘贴到文件并保存
先选择模型;接口地址默认使用当前站点提供的地址。点击下方代码框的“复制”,切回刚才打开的 config.toml 文件粘贴。这段内容是文件内容,不是在终端执行的命令。
也可从模型列表复制其他 ID。模型和当前线路需支持 Codex 使用的 Responses 协议。
使用站点提供的接口地址;不要填写 /responses 或 /messages 的完整路径。
API Key 稍后在自己的电脑上长期保存,不填在这段配置里。
下方
AIDESK_API_KEY是变量名,请保持原样,不要替换成密钥。真实密钥按第 5 步单独保存。
model = "gpt-6.1-sol"
model_provider = "aidesk"
# 网页搜索:disabled 关闭,live 实时联网
web_search = "disabled"
[model_providers.aidesk]
name = "AIDesk API"
base_url = "https://api.aideskapp.com/v1"
wire_api = "responses"
http_headers = { "x-aidesk-source" = "codex" }
env_key = "AIDESK_API_KEY"网页搜索:上方选择 Claude 后,示例会自动设为 live(不支持 cached)。如果只是启动时用 -m 切换到 Claude,搜索设置仍沿用配置文件,需要另外将 web_search 改为 "live"。
文件是空白的:把上方配置完整粘贴进去即可。
文件里已经有内容,应该怎样合并?
- 先备份原文件,不要全选删除原有内容。
- 最上面的
model、model_provider、web_search三行,放在文件第一个[表名]之前;已有同名设置就修改原行。 - 从
[model_providers.aidesk]开始的整段放在文件末尾。已有这个表头时更新原表,不要添加第二个同名表;其他 provider 和设置保持原样。 - 如果已按完整指南配置 macOS 钥匙串,保留
[model_providers.aidesk.auth],不要重新添加env_key。
我在测试本地服务,地址怎么填?
若 AIDesk 开发网关运行在这台电脑的 8600 端口,填写 http://localhost:8600/v1。服务运行在另一台机器时使用 Windows / macOS 客户端实际能访问的地址。浏览器打开本地文档,不代表模型请求也发往本地;请核对这里的 Base URL,并使用对应环境的 API Key。
粘贴后,按下面方式保存:
- Windows 记事本:按 Ctrl + S 保存,再关闭记事本。上一步已经创建了正确的文件名,直接保存即可,不要另存成 config.toml.txt。
- macOS / Linux / WSL 的 nano:macOS 按 Command + V 粘贴;Linux / WSL 通常按 Ctrl + Shift + V。粘贴后按 Ctrl + O,再按 Enter 确认文件名,最后按 Ctrl + X 退出。这里 O 是字母,保存和退出用的是 Ctrl,不是 Command。
完成后,你应该已经回到终端的命令输入界面。接下来只需长期保存一次 API Key。
5. 长期保存 API Key(只需设置一次)
按自己的系统选择下面的说明。设置完成后,新开终端或重启电脑都不需要重新粘贴密钥;只有更换、撤销密钥或换电脑时才需要更新。
适用于 Windows 桌面应用和原生 CLI。填入密钥、复制生成的整段命令,在 PowerShell 执行一次即可;不需要管理员权限。
把 API Key 粘贴到输入框,下方命令会自动替你填好;也可以自行把命令中的 sk-aidesk-YOUR_KEY 换成自己的密钥。
API Key 仅用于在你的浏览器本地生成命令,不会上传或保存。
② 复制整段命令,在 PowerShell 中粘贴并按 Enter
& {
$ErrorActionPreference = 'Stop'
$aideskKey = 'sk-aidesk-YOUR_KEY'
[Environment]::SetEnvironmentVariable(
'AIDESK_API_KEY', $aideskKey, 'User'
)
$env:AIDESK_API_KEY = $aideskKey
Write-Host 'API Key 已长期保存,当前窗口也已生效。'
}③ 看到“API Key 已长期保存,当前窗口也已生效。”后,CLI 用户可直接在这个 PowerShell 窗口继续第 6 步,输入 codex。以后新开终端或重启电脑都不需要重复设置。
桌面用户请保存工作后完全退出并重新打开应用,让它读取新密钥。已经打开的其他终端可能仍保留旧环境,需要完全退出终端程序再打开;若仍提示缺少密钥,保存工作并注销、重新登录 Windows 后再试。
可选:检查新终端是否已读取密钥
在新开的 PowerShell 中运行。这里只显示读取状态,不会显示密钥。
if ($env:AIDESK_API_KEY) {
'API Key 已读取,可以继续第 6 步'
} else {
'未读取到 API Key,请完全退出终端程序后重新打开'
}macOS / Linux / WSL CLI:检查是否保存成功
在已执行 source 的当前终端,或新打开的终端中运行下方命令。看到“API Key 已读取”即可继续;检查不会显示密钥。使用上方 macOS 钥匙串方案时不需要此环境变量检查,直接启动客户端验证。
if [ -n "$AIDESK_API_KEY" ]; then
echo 'API Key 已读取,可以继续第 6 步'
else
echo '未读取到 API Key,请检查保存位置并新开终端'
fi6. 启动 Codex,发送第一条消息
以后每次怎么用?
桌面用户直接打开应用、选择项目;CLI 用户打开终端、进入项目目录、输入 codex。不用重复第 2—5 步。更换模型或密钥时,再修改对应设置。
① 打开终端并进入准备测试的项目文件夹。Windows 可在文件资源管理器中打开该文件夹,右键选择“在终端中打开”;macOS / Linux 可输入 cd、一个空格和文件夹路径,再回车(路径有空格时用引号包住)。
② 在终端执行:
codex③ 出现 Codex 对话界面后,输入 /status 并回车,核对 provider 是 AIDesk、模型与你选择的一致。再在同一个对话框发送下方测试消息。
请只回复:aidesk-ok收到 aidesk-ok 后,还需要按下一节确认调用记录和编码工具。CLI 切换模型可使用 /model;自定义模型未出现在列表时,可新开会话显式指定:
codex -m claude-opus-5-5-m 只选择模型,连接仍使用配置中的 AIDesk provider;所选线路需支持 Responses。
确认连接和编码工具都正常
- 收到
aidesk-ok后,打开控制台调用记录,核对刚才请求的时间、模型与成功状态。客户端能回复或自报模型名,都不能单独证明请求走了 AIDesk。 - 在测试项目里,让 Codex 读取一个已有文件并概括内容,确认实际出现读取文件的工具调用。
- 让它创建一个临时测试文件,再继续对话修改该文件;按客户端提示审核操作,并检查文件内容。这能验证工具调用、结果回传和多轮续跑。
测试网页搜索:使用 Claude 时,将配置文件顶层设为 web_search = "live",重启 Codex 并新建会话,然后发送:
请使用内置网页搜索查找 Python 3.14 的正式发布日期,只回复日期和 Python 官网来源链接,不要运行终端命令。应看到搜索过程(如 Browsing / Searched)和可点击的来源链接。当前支持实时搜索,不支持 cached 模式或完整浏览器操作。
常见问题
启动时提示 Background server has incompatible feature settings
这表示当前会话配置与已运行的共享后台服务不一致。若要先测试连接,选择第 1 项 Run without daemon this time,或在原启动命令中加入:
codex --no-daemon原命令包含模型或 profile 参数时,请一并保留。第 2 项会重启共享后台服务并保留新的 feature 设置,可能影响其他会话;确认其他任务已保存后再使用。无需因为这条提示更改 AIDesk 的 Base URL 或密钥。
CLI 可以连接,桌面应用却提示缺少 API Key
Windows 请按第 5 步保存用户变量后完全退出并重开应用;macOS 桌面请使用第 5 步的钥匙串方案,仅设置 CLI 的 .zshrc 不会自动传给桌面应用。WSL 与 Windows 也需要分别配置密钥。
改了 config.toml,仍然使用原来的模型或 provider
核对实际使用的 CODEX_HOME、Windows / WSL 用户目录,以及命令行参数、所选 profile 和项目中的配置是否覆盖了全局设置。顶层键必须位于第一个 TOML 表之前。保存后重启客户端并新建会话,再检查状态和调用记录。
模型不在选择列表,或提示缺少模型能力信息
确认模型 ID 与 AIDesk 模型列表一致,可在配置或 CLI 的 -m 参数中显式指定。自定义模型还可能需要匹配的模型目录元数据;若客户端提示能力信息缺失,请提供版本和模型 ID 联系支持,不要通过冒用另一个模型名规避。
出现 401、网页搜索不支持或其他请求错误
401 时核对密钥和 Base URL 是否属于同一环境。Claude 网页搜索需设为 web_search = "live",并检查 profile 是否覆盖该设置;无需联网时可设为 disabled。如果提示搜索上下文已过期或线路变化,请新建会话。其他错误可携带调用记录的 request_id 联系支持,请勿发送完整 API Key。