什么是 Codex?

Codex 是 OpenAI 推出的 AI 编程代理(coding agent),它不同于简单的代码补全工具。Codex 能够在终端中直接理解项目上下文、执行命令、修改文件、创建 PR,像一个真正的开发伙伴一样工作。

目前 Codex 有三个形态:

  • Codex CLI:基于命令行的 AI 编程代理,开源且本地运行
  • Codex IDE:集成到 VS Code、Cursor、Windsurf 等编辑器的插件
  • Codex Web:基于云的 Codex 智能体,通过 ChatGPT 界面访问

其中 CLI 版本是开源的核心,也是这次「任意模型接入」能力的主阵地。

OSS 模式是什么?

OSS 模式,全称 Open-Source Mode,是 Codex CLI 内置的一个运行模式。开启后,Codex 不再依赖 OpenAI 的专有模型,而是允许用户指定任何兼容 OpenAI API 的后端服务作为模型引擎。

这意味着:

  • 你可以在完全离线的环境下使用 Codex,无需连接 OpenAI
  • 你可以自由选择模型:Qwen、Llama、DeepSeek、Mistral 等
  • 你可以在自己的硬件上运行,数据不出本地
  • 你可以通过 OpenRouter 等网关使用多种商业或开源模型

快速上手 OSS 模式

安装 Codex CLI

如果已安装 Codex CLI,请跳过此步骤。

使用一行命令即可完成安装:

curl -fsSL https://chatgpt.com/codex/install.sh | sh

也支持 npm 和 Homebrew 安装:

npm install -g @openai/codex

# 或者
brew install --cask codex

启动 OSS 模式

Codex CLI 提供了两种方式进入 OSS 模式:

方式一:命令行参数

直接在启动时加上 --oss 标志:

codex --oss

此时 Codex 会使用默认 OSS 配置连接本地 Ollama 服务(localhost:11434),并使用 gpt-oss:20b 模型。

方式二:通过配置文件

编辑 ~/.codex/config.toml,配置自定义模型提供商:

model = "gpt-oss:120b"
model_provider = "ollama"

然后直接运行 codex 即可。

内置模型名称

Codex 为 OSS 模式内置了几个模型别名:

模型名 说明
gpt-oss:20b 20B 参数的轻量级 OSS 模型
gpt-oss:120b 120B 参数的高性能 OSS 模型
gpt-oss:120b-cloud 云端托管的 120B 模型

这些名称会映射到你实际选择的后端模型上,Codex 会根据名称选择合适的元数据配置。

自定义模型提供商:核心配置

Codex 的真正威力在于 config.toml 中的 [model_providers] 配置段。你可以定义任意数量的自定义提供者。

配置语法

以下是一个完整的配置示例:

# 选择使用的模型和提供者
model = "qwen2.5-coder:32b"
model_provider = "ollama"
model_reasoning_effort = "high"

# 定义模型提供者
[model_providers.ollama]
name = "Ollama"
base_url = "http://localhost:11434/v1"
wire_api = "responses"

[model_providers.lmstudio]
name = "LM Studio"
base_url = "http://localhost:1234/v1"
wire_api = "responses"

[model_providers.openrouter]
name = "OpenRouter"
base_url = "https://openrouter.ai/api/v1"
wire_api = "responses"
experimental_bearer_token = "your-openrouter-api-key"

关键配置项说明

  • model:模型名称,可以是任意字符串,Codex 会传递给后端
  • model_provider:指向下方定义的提供者 ID
  • model_reasoning_effort:推理强度,可选 lowmediumhigh
  • base_url:API 服务的完整地址,支持远程地址
  • wire_api:API 协议类型,responses(OpenAI Responses API)或 chat(Chat Completions API)
  • experimental_bearer_token:认证令牌,用于需要 API Key 的服务

实战:接入各种模型服务

使用 Ollama(本地)

Ollama 是目前最流行的本地模型运行工具。配置如下:

model = "qwen2.5-coder:32b"
model_provider = "ollama"

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

Codex 会自动检测本地安装的 Ollama。确保 Ollama 正在运行,Codex 就能直接使用。

使用 DeepSeek

DeepSeek 提供了与 OpenAI 兼容的 API 接口,国内可直接访问,无需魔法:

model = "deepseek-coder"
model_provider = "deepseek"

[model_providers.deepseek]
name = "DeepSeek"
base_url = "https://api.deepseek.com/v1"
wire_api = "responses"
experimental_bearer_token = "sk-你的DeepSeek-API-Key"

DeepSeek 的编码模型在编程任务上表现出色,且国内访问延迟低,非常适合作为 Codex 的日常推理引擎。

使用 OpenRouter(云端网关)

OpenRouter 提供了访问上百种模型的统一入口,包括 Claude、Gemini、DeepSeek、Mistral 等:

model = "anthropic/claude-sonnet-4-20250514"
model_provider = "openrouter"

[model_providers.openrouter]
name = "OpenRouter"
base_url = "https://openrouter.ai/api/v1"
wire_api = "responses"
experimental_bearer_token = "sk-or-v1-你的Key"

使用自定义 OpenAI 兼容服务

如果你有自己的模型推理服务(如 vLLM、TGI、SGLang 等部署的):

model = "my-custom-model"
model_provider = "self-hosted"

[model_providers.self-hosted]
name = "Self-Hosted"
base_url = "http://192.168.1.100:8080/v1"
wire_api = "responses"
experimental_bearer_token = "local-dev-key"

Profiles 配置 多模型自由切换

Codex 支持 Profiles 机制,可以同时定义多组模型配置,随时切换:

# 默认配置
model = "gpt-oss:120b"
model_provider = "ollama"

# 定义提供者
[model_providers.ollama]
name = "Ollama"
base_url = "http://localhost:11434/v1"
wire_api = "responses"

[model_providers.openrouter]
name = "OpenRouter"
base_url = "https://openrouter.ai/api/v1"
wire_api = "responses"
experimental_bearer_token = "sk-or-v1-xxx"

# 定义 Profiles
[profiles.fast-coder]
model = "qwen2.5-coder:7b"
model_provider = "ollama"
model_reasoning_effort = "low"

[profiles.reasoning]
model = "deepseek/deepseek-r1"
model_provider = "openrouter"
model_reasoning_effort = "high"

使用 Profile 启动:

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐