Codex默认调用本地Ollama模型配置指南

要让 Codex Desktop App 默认使用本地 Ollama 模型,核心在于正确修改其全局主配置文件 ~/.codex/config.toml。以下是详细的配置步骤、关键配置项说明以及验证方法。

1. 核心配置步骤与代码示例

首先,强烈建议在修改前备份原始配置文件。

bash 复制代码
# 备份原配置文件
cp ~/.codex/config.toml ~/.codex/config.toml.bak.$(date +%Y%m%d-%H%M%S)

然后,使用文本编辑器(如 nano、vim 或 code)编辑主配置文件。

bash 复制代码
# 使用 nano 编辑配置文件
nano ~/.codex/config.toml

在配置文件中,需要写入或修改以下关键配置段。请确保你的配置文件包含这些内容。

toml 复制代码
# 1. 指定默认使用的模型及其提供者 
model = "gpt-oss-codex:20b"
model_provider = "ollama-local"

# 2. 配置模型上下文和输出长度,以适应 Codex Agent 的需求 
model_context_window = 8192
model_max_output_tokens = 2048

# 3. 其他相关策略配置 
approval_policy = "on-request"
sandbox_mode = "workspace-write"
oss_provider = "ollama"

# 4. 定义名为 "ollama-local" 的模型提供者 
[model_providers.ollama-local]
name = "Ollama Local"
# 指向本地运行的 Ollama 服务 API 端点
base_url = "http://localhost:11434/v1"
# 指定使用的 API 协议版本
wire_api = "responses"
# 本地服务无需 OpenAI 认证
requires_openai_auth = false

# 5. (可选) 配置对新模型可用性的引导提示 
[tui.model_availability_nux]
"gpt-5.5" = 1

# 6. (可选) 将特定项目目录标记为可信,以放宽安全限制 
[projects."/Users/your_username/Documents/daily"]
trust_level = "trusted"

重要提示 :请将上述配置中的 /Users/your_username/Documents/daily 替换为你实际的项目工作目录路径 。

2. 关键配置项解析

下表详细说明了上述配置中各个关键项的作用和注意事项:

配置项 作用说明 注意事项与参考来源
model 指定 Codex 默认使用的模型名称。 必须与通过 ollama create 创建的本地模型名完全一致 。
model_provider 指定模型提供者(Provider)。 必须与下方定义的 [model_providers] 节名称匹配,此处为 ollama-local 。
model_context_window 定义模型的最大上下文长度(Token数)。 Codex Agent 的提示词较长,必须设置为 8192 或更高,否则会因截断导致任务失败 。
base_url 指向本地 Ollama 服务的 API 地址。 确保端口(默认为11434)与本地 Ollama 服务一致 。
wire_api 指定与 Ollama 通信的 API 协议。 必须设置为 "responses" 。旧版的 "chat" 已被新版本 Codex 弃用 。
requires_openai_auth 标识该提供者是否需要 OpenAI 格式的 API 密钥认证。 对于本地 Ollama 服务,必须设置为 false 。
[profiles.ollama-launch] (需避免) 旧式的 Profile 配置节。 在新版 Codex 中,在主配置中使用此格式会导致 legacy profile 错误,请勿添加。

3. 前置条件与模型准备

在应用上述配置前,请确保满足以下条件:

  1. Ollama 服务已运行 :确保本地 Ollama 服务正在运行,并且 API 可访问。

    bash 复制代码
    # 检查服务状态
    curl http://localhost:11434/v1/models
  2. 拥有合适上下文的本地模型 :Codex 需要较大的上下文窗口。如果基础模型(如 gpt-oss:20b)的上下文不足,需要创建一个派生模型。

    bash 复制代码
    # 创建一个上下文为 8192 的派生模型 
    cat > /tmp/Modelfile.gpt-oss-codex <<'EOF'
    FROM gpt-oss:20b
    PARAMETER num_ctx 8192
    EOF
    ollama create gpt-oss-codex:20b -f /tmp/Modelfile.gpt-oss-codex

4. 验证配置生效

配置完成后,通过以下步骤验证 Desktop App 是否成功切换至本地模型:

  1. 从项目目录启动 App :最佳实践是从一个具体的项目目录启动,而非配置目录 。

    bash 复制代码
    cd ~/Documents/your_project
    codex app
  2. 执行测试命令 :在启动的 Desktop App 中,输入一个简单的 shell 命令进行测试。

    复制代码
    执行 pwd,然后执行 ls -la。不要修改文件。
  3. 检查运行结果 :

    • 成功标志 :App 输出类似 Ran pwd && ls -la 的结果,并且没有出现 You've hit your usage limit. Upgrade to Pro... 的云端额度提示 。
    • 失败排查 :如果仍然提示额度限制,说明 App 仍在走云端。请检查 ~/.codex/config.toml 中 model 和 model_provider 的配置是否正确,并确保重启了 App。
  4. 监控 Ollama 日志(高级) :最直接的证据是查看 Ollama 服务是否收到了请求。

    bash 复制代码
    # 实时查看 Ollama 日志(macOS Homebrew 安装路径示例)
    tail -f /opt/homebrew/var/log/ollama.log

    在 App 中发送测试命令后,如果日志中出现 POST "/v1/responses" 的记录,则证明请求已成功发送至本地 Ollama 服务 。

5. 常见问题与解决方案

问题现象 可能原因 解决方案
启动 App 仍报 usage limit 主配置未生效,或仍在使用旧 Profile。 1. 确认 ~/.codex/config.toml 中 model 和 model_provider 已正确设置 。 2. 运行 grep -R "profiles.ollama-launch" ~/.codex 检查并删除相关旧配置 。 3. 彻底关闭 App (pkill -f Codex) 后重启。
出现 `
502 Bad Gateway` 模型上下文不足,导致请求被 Ollama 拒绝。 检查 Ollama 日志是否有 truncating input prompt 提示。如果是,需要创建上下文更大的模型(如 16384)并更新 model_context_window 配置 。
出现 API key login is required 配置中可能包含了 forced_login_method = "api"。 在主配置中删除此行,并确保 requires_openai_auth = false 。
出现 Model metadata not found 自定义的派生模型缺少 Codex 内置的元数据。 此警告可暂时忽略,不影响核心功能使用 。

通过以上步骤,你可以将 Codex Desktop App 的默认行为从使用云端模型切换到本地 Ollama 模型,从而完全在本地环境中运行,避免云端额度的限制。整个过程的核心是正确编辑全局 config.toml 文件,并确保本地拥有一个上下文足够大的 Ollama 模型。


参考来源

相关推荐
红海云4 小时前
AI抬高了职场的第一道门槛
人工智能
我是小白呀4 小时前
21-Workflow与AI-Agent怎么分工:确定流程里容纳不确定判断
人工智能·workflow
数字新视界4 小时前
动环监控系统优化数据中心管理,提升环境监测与安全效率
大数据·人工智能·数据中心·微模块机房·模块化机房
zhenaibo5214 小时前
如何向导师请教问题,才能得到有效建议?
大数据·人工智能·深度学习
xsd202411184 小时前
智驾多传感器时间同步:从硬件触发到软触发PPS+GPRMC
人工智能
飞哥数智坊4 小时前
Personal Agent 火了,新酿还是旧酒?
人工智能·agent
秦先生在广东4 小时前
HyperFrames 深度解析:面向 AI 代理的确定性视频渲染框架
人工智能
秦先生在广东4 小时前
Impeccable:为 AI 编码代理重塑前端设计确定性的开源技能框架深度解析
人工智能
水如烟4 小时前
孤能子视角:AI如何找物理规律——观察符分辨率切换的扫描机制
人工智能
生活愉甜4 小时前
森马SEMIR LAB全球首家概念店落地武康路,“WUKANG368”新地标就位
大数据·人工智能