尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Windows Codex Desktop 接入第三方中转 API 完整教程

Windows Codex Desktop 接入第三方中转 API 完整教程 适用场景Windows 版 Codex Desktop / Codex CLI想通过第三方 OpenAI 兼容中转平台调用模型。一、先理解原理整条链路只有三层绝大多数配置失败都是因为没搞清楚下面这张图config.toml —— env_key API_KEY ↓ Windows 环境变量 —— API_KEY sk-xxxxxxxx ↓ Codex 发出请求 —— Authorization: Bearer sk-xxxxxxxx ↓ 第三方平台 /v1/responses也就是说config.toml里存的是变量名不是 Key 本身Key 存在 Windows 环境变量里。记住这一点后面 90% 的坑都不会踩。二、准备工作需要准备Windows 版 Codex Desktop第三方中转平台账号 可用的 API Key平台的 Base URL平台支持的模型名称必须和平台模型列表里的 ID 完全一致平台必须支持 OpenAI Responses API本文示例Base URLhttps://linoapi.com.cn/v1模型gpt-5.6-sol关于最后一条要重点说明。Codex 使用第三方 Provider 时发出的请求是POST /v1/responses所以平台必须实现/v1/responses只有/v1/chat/completions是不够的。很多便宜的中转站只做了 chat/completions选平台前一定要先确认这一点。三、找到 Codex 配置文件Windows 下配置文件位于C:\Users\你的用户名\.codex\config.toml快速打开方法按Win R输入%USERPROFILE%\.codex回车找到config.toml。如果你用过 Codex Desktop这个文件通常已经存在。四、修改 config.toml假设原来是model gpt-5.5 model_reasoning_effort high改为model_provider lino model gpt-5.6-sol model_reasoning_effort high并新增 Provider 定义[model_providers.lino] name Lino API base_url https://linoapi.com.cn/v1 env_key LINO_API_KEY wire_api responses requires_openai_auth false原有的[desktop]、[plugins.xxx]、[mcp_servers.xxx]等配置全部保留不要删除。你只需要增加model_provider一行和[model_providers.lino]一段。一份简化后的完整示例sandbox_mode workspace-write model_provider lino model gpt-5.6-sol model_reasoning_effort high [model_providers.lino] name Lino API base_url https://linoapi.com.cn/v1 env_key LINO_API_KEY wire_api responses requires_openai_auth false [windows] sandbox unelevated [desktop] sansFontSize 24 codeFontSize 24 usePointerCursors false⚠️ 最容易犯的错env_key 不是 API Key# ❌ 错误直接把 Key 写进去 env_key sk-xxxxxxxxxxxxxxxx # ✅ 正确这里写环境变量的名字 env_key LINO_API_KEY这样做除了是 Codex 的规范也比明文写 Key 安全得多。五、把 API Key 写入 Windows 环境变量打开 PowerShellsetx LINO_API_KEY 你的API_KEY成功会提示SUCCESS: Specified value was saved.注意setx只对新开的进程生效当前这个 PowerShell 窗口读不到。请关闭它重新开一个 PowerShell 再继续。验证时不建议直接echo $env:LINO_API_KEY会把 Key 明文打印出来。更稳妥的写法if ([string]::IsNullOrWhiteSpace($env:LINO_API_KEY)) { Write-Host 未读取到 API Key } else { Write-Host API Key 已读取长度 $env:LINO_API_KEY.Length }输出类似API Key 已读取长度 51说明环境变量已生效。六、启动 Codex 前先测试 /v1/responses强烈建议先用 PowerShell 直接打一次接口这样能把平台问题和Codex 配置问题区分开。在新开的 PowerShell 里$headers { Authorization Bearer $env:LINO_API_KEY Content-Type application/json } $body { model gpt-5.6-sol input Reply exactly OK } | ConvertTo-Json $response Invoke-RestMethod -Uri https://linoapi.com.cn/v1/responses -Method POST -Headers $headers -Body $body查看返回$response正常会看到id : resp_xxxxxxxxx object : response model : gpt-5.6-sol status : completed error :只要status : completed且error为空说明 API Key、模型名、中转平台、Responses API、鉴权这五项全部正常。如果只想看模型回复的正文$response.output[0].content[0].text会输出OK七、正式启动 Codex Desktop保存config.toml完全退出Codex Desktop确认后台进程已关闭光点右上角叉可能没退干净重新启动 Codex Desktop新建对话输入只回复测试成功能正常返回说明配置完成。此时的请求链路是Codex Desktop → 自定义 Model Provider → https://linoapi.com.cn/v1/responses → gpt-5.6-sol八、常见报错排查表报错现象原因解决办法无效的令牌 / 401环境变量没读到或env_key填成了 Key 本身用第五节的脚本检查变量确认env_key LINO_API_KEY404 / Cannot POST /v1/responses平台只实现了/chat/completions换支持 Responses API 的平台model not found模型名与平台模型 ID 不一致去平台模型列表查真实 ID如gpt-5.6-terra完全照抄改完配置没生效Codex 没有完全退出结束后台进程后重启第一条要补充一句执行setx之后如果没有重开 PowerShell / 重启 Codex变量是读不到的这是最高频的原因。九、后续维护只换 API Key完全不用改config.toml。因为env_key LINO_API_KEY没变只需setx LINO_API_KEY 新的API_KEY然后彻底退出并重启 Codex它会自动读取新 Key。更换中转平台新增一段 Provider 即可。model_provider example model gpt-5.6-sol [model_providers.example] name Example API base_url https://api.example.com/v1 env_key EXAMPLE_API_KEY wire_api responses requires_openai_auth false配套执行setx EXAMPLE_API_KEY 新的API_KEY重启 Codex。同时保留多个平台旧配置不用删多个[model_providers.xxx]可以共存各自setx一个 Key。想切换时只改model_provider lino这一行如果两个平台模型名相同那就真的只需要改这一行。十、流程速查① 获取 API Key → ② 确认 Base URL → ③ 确认模型 ID → ④ 确认支持 /v1/responses ↓ ⑤ 改 config.toml → ⑥ env_key 指向环境变量名 → ⑦ setx 保存 Key ↓ ⑧ 新开 PowerShell → ⑨ Invoke-RestMethod 测试 → ⑩ 完全退出 Codex → ⑪ 重启 → ⑫ 使用结语整个配置本质上只有三层config.toml→ Windows 环境变量里的 Key → 第三方平台的/v1/responses。真正容易出错的只有三个地方把 API Key 本身误填进env_keysetx之后没有重启 PowerShell / Codex中转平台只有/chat/completions没有/responses这三点处理好配置过程并不复杂。
返回列表