Codex Desktop 接入本地 Ollama 模型:五条路径全解析
2026/8/6 16:18:14 网站建设 项目流程

Codex Desktop 是 OpenAI 推出的本地终端编程 Agent,2026 年 6 月 OpenAI Codex 团队成员 @thsottiaux 在 X 上提醒:Codex App、CLI 和 SDK 均可指向任意 OpenAI 兼容 API,不限于 GPT 系列模型;Ollama 同日随即响应,补全了ollama launch codexollama launch codex-app两条快捷入口,支持 GLM-5.2、Kimi-K2.7-Code、gpt-oss:120b 等开源模型,无需 OpenAI API Key 即可完整使用 Codex 的 Agent 循环、工具执行和 AGENTS.md 项目记忆;核心配置文件为~/.codex/config.toml(用户级,不可用项目级覆盖),关键字段是wire_api = "responses"(Codex 使用 Responses API 而非 Chat Completions,漏配这一行是最常见的 404 错误来源),上下文窗口建议 64k Token 以上;本文梳理从零起步到多 Profile 切换的五条接入路径,以及 Desktop 模型选择器不显示外部 Provider 等已知问题的修正方案。


接入前的三项前置条件

不管选哪条路径,以下三项必须先确认:

① Ollama 0.30 以上版本

ollama launch codex的 Profile v2 支持需要 Ollama 0.30+。用ollama --version确认,旧版ollama launch codex写入的是已废弃的[profiles.*]格式,Codex 0.134+ 不再接受。

# 检查版本ollama--version# 升级(macOS Homebrew)brew upgrade ollama

② 上下文窗口 64k Token 以上

Codex 的 Agent 循环会在每轮累积工具输出、diff、代码片段,上下文消耗速度远快于普通对话。Ollama 官方建议至少 32k Token,社区实测推荐 64k+。选模型时优先确认上下文规格,不够长的模型在复杂任务中途截断会导致工具调用混乱。

③ 配置文件位置

Codex 的 Provider 认证必须写在用户级配置,项目级.codex/config.toml无法覆盖model_providermodel_providers字段:

系统用户级配置路径
macOS / Linux / WSL~/.codex/config.toml
Windows%USERPROFILE%\.codex\config.toml

五条接入路径

路径 A:ollama launch codex(最快,推荐新手)

Ollama 托管整个 Profile 配置、模型目录和 Provider 注册,一条命令搞定:

# 安装 Codex CLI(如未安装)npminstall-g@openai/codex# 拉取一个编程能力强的开源模型ollama pull glm-5.2# 推理强,适合 Fable 5 替代场景ollama pull kimi-k2.7-code# 专攻 Agentic 编程,SWE-bench 数据好ollama pull gpt-oss:120b# OpenAI 开源权重,官方 OSS 栈首选# 启动 Codex CLIollama launch codex# 启动 Codex Desktop Appollama launch codex-app

ollama launch codex在后台做了三件事:

  1. 刷新 Codex 可见的模型目录(model_catalog_json
  2. ~/.codex/config.toml写入[model_providers.ollama-launch]
  3. 生成~/.codex/ollama-launch.config.tomlProfile 文件,以--profile ollama-launch启动 Codex

只配置不启动(方便检查生成了什么):

ollama launch codex--config

恢复到 Ollama 接入前的原始配置:

ollama launch codex--restore

路径 B:--oss标志(临时会话)

不想持久化配置,只想临时跑一次本地模型:

# 使用默认 OSS Provider(config.toml 里的 oss_provider 字段)codex--oss# 指定具体模型codex--oss-mgpt-oss:120b codex--oss-mglm-5.2# Ollama Cloud 托管变体codex--oss-mgpt-oss:120b-cloud

~/.codex/config.toml设置默认 OSS Provider:

# 默认本地 Provider,--oss 时生效 oss_provider = "ollama" # 或 "lmstudio"

运行前确保ollama serve已在后台运行,且目标模型已 pull。


路径 C:手动写 config.toml(Power Users)

最灵活,适合需要在 GPT 和本地模型之间快速切换的开发者。

第一步:在~/.codex/config.toml注册 Provider

[model_providers.ollama-launch] name = "Ollama" base_url = "http://localhost:11434/v1/" wire_api = "responses"

wire_api = "responses"是必填项,不是可选项。Codex 使用 OpenAI 的 Responses API(/v1/responses),而大多数兼容服务默认只暴露 Chat Completions(/v1/chat/completions)。漏配这一行会收到 404 错误。

第二步:创建 Ollama Profile 文件~/.codex/ollama-launch.config.toml

model = "glm-5.2" model_provider = "ollama-launch" model_catalog_json = "/Users/your-name/.codex/ollama-launch-models.json"

第三步:创建 GPT Profile 文件~/.codex/gpt.config.toml(可选)

model = "gpt-5.5" model_reasoning_effort = "high" approval_policy = "on-request"

切换使用:

codex--profileollama-launch# 本地 Ollama 模型codex--profilegpt# OpenAI GPTcodexexec--profileollama-launch"修复 src/auth 里的测试"

Profile v2 格式说明(Codex 0.134+):Profile 是独立的.config.toml文件(~/.codex/<profile-name>.config.toml),顶层 key,不再嵌套在[profiles.name]下。如果看到--profile xxx cannot be used while config.toml contains legacy [profiles.xxx]的报错,说明配置是旧格式,运行ollama launch codex --restore后重新配置。


路径 D:LM Studio

Codex 内置了lmstudioProvider ID。在 LM Studio 里启动本地服务器后:

oss_provider = "lmstudio"
codex--oss

上下文要求和wire_api = "responses"限制与 Ollama 路径完全一致。如果 LM Studio 只暴露 Chat Completions 端点,同样需要代理转换(见下方路径 E)。


路径 E:自定义 Provider(vLLM / 任意 OpenAI 兼容端点)

适合自建 vLLM、Unsloth 推理服务,或通过七牛云 AI 等聚合平台统一接入多个开源模型:

model = "your-model-id" model_provider = "local_vllm" [model_providers.local_vllm] name = "Local vLLM" base_url = "http://localhost:8000/v1" wire_api = "responses" requires_openai_auth = false env_key = "LOCAL_API_KEY" # 无鉴权时填 dummy 字符串即可
# 启动codex--oss--profilelocal_vllm# 或单次覆盖codex--configmodel_provider='"local_vllm"'--configmodel='"your-model-id"'

查看端点支持的模型 ID:

curlhttp://localhost:8000/v1/models

注意:openaiollamalmstudio是 Codex 保留 ID,自定义 Provider 不能用这三个名字,选local_vllmmy_api等唯一名称。


推荐模型与硬件参考

模型Ollama 标签优势上下文显存参考
GLM-5.2glm-5.2推理强,Fable 5 替代场景128k24GB+
Kimi K2.7-Codekimi-k2.7-codeAgentic 编程专项,SWE-bench 高分128k大 MoE,需核查
gpt-oss:20bgpt-oss:20b官方 OSS 栈,轻量入门32k16GB
gpt-oss:120bgpt-oss:120b官方 OSS 旗舰32k+48GB+
DeepSeek V4 Flash按标签高性价比,推理快1M量化版可 24GB
Qwen3-Coder按标签编程切片快,24GB 友好128k24GB

硬件原则:Agent 任务的上下文窗口比模型参数量更影响实际体验。显存够放模型但不够跑长上下文时,任务中途截断比跑慢更致命——换更小量化版,保留足够 KV Cache 空间。


已知问题与修正方案

问题一:Desktop 模型选择器不显示外部 Provider

Codex Desktop App 的 UI 模型选择器目前不展示自定义 Provider 里的模型,即使 config.toml 配置完全正确。临时解法:通过ollama launch codex-app或命令行--profile参数绕过 UI 选择器启动。OpenAI 官方 GitHub issue 已记录,修复尚未发布。

问题二:404 /v1/responses 错误

最常见的报错。原因是目标端点只有 Chat Completions API,没有 Responses API。解法有两种:

  • 检查 Ollama 版本是否 0.30+(旧版 Ollama 不支持 Responses 转换层)
  • 使用社区工具 CC Switch 做协议转换代理(在 Responses 和 Chat Completions 之间转换)

问题三:Profile 格式旧版报错

--profile ollama-launch cannot be used while config.toml contains legacy [profiles.ollama-launch]

运行ollama launch codex --restore清除旧格式,更新 Ollama 到 0.30+,再重新ollama launch codex

问题四:Computer Use / 浏览器自动化不可用

这些功能是 GPT 独占特性,OSS 模式下不可用,与模型能力无关。


OSS 模式实际能跑什么

接入 Ollama 后,以下 Codex 功能在 OSS 模式下完整保留:

  • Agent 循环 + 工具执行(读取/修改代码、运行命令、提交 PR)
  • 斜线命令:/init(自动生成 AGENTS.md)、/plan/goal/review/diff/context
  • 项目记忆(AGENTS.md 和 .codex/ 目录)
  • Skills 支持(模型工具调用稳定性决定效果上限)
  • 并行任务和多 Profile 切换

降级的部分主要是工具调用可靠性(与模型质量强相关)和需要 GPT 独占能力的功能。实际建议:OSS 模型适合做垂直切片任务(“修这个文件里的 bug”),复杂跨库重构优先用 GPT Profile。


工具调用与多模型统一接入

对于需要把 Ollama 和多个云端模型(DeepSeek、Kimi、GLM 等)统一管理的团队,在路径 E 里配置聚合推理平台的接入端点是一种省事的方案——单一 API Key 覆盖多个模型,免维护多账号,配合 Codex 的 Profile 机制可以做到按任务性质自动切换推理来源。七牛云 AI 模型广场支持 OpenAI 兼容格式,配置方式与自定义 Provider 路径完全一致,对已有 Codex 配置的团队迁移成本极低。


延伸阅读

  • Ollama 官方 Codex 集成指南:https://docs.ollama.com/integrations/codex
  • Codex 高级配置文档(含 config.toml 全字段):https://developers.openai.com/codex/cli/config
  • Codex GitHub issue #29156(Desktop 自定义 Provider UI 问题):https://github.com/openai/codex/issues/29156
  • 七牛云 AI 模型广场(OpenAI 兼容接入):https://www.qiniu.com/ai/models

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询