如何使用 OpenAI Codex 运行本地 LLM
在你的设备上本地使用 OpenAI Codex 和开源模型。
本分步指南将向你展示如何将开放 LLM 和 API 连接到 OpenAI Codex 完全在本地,并附有截图。Codex 只需要一个支持 OpenAI Responses API 的本地端点。可使用 Qwen、DeepSeek、Gemma 等任意开放模型运行。
在本教程中,我们将使用开放模型: Gemma 4 和 Qwen3.5 它们是强大的智能体和编程模型(可在具有 24GB RAM/统一内存的设备上运行)。对于推理,我们将使用 Unsloth Studio 和 llama.cpp 使你能够在 macOS、Linux 和 Windows 上运行/托管 LLM。你可以替换为任何其他模型,只需更新脚本和 Codex 配置中的模型名称。
对于模型量化版本,我们将使用 Unsloth 动态 GGUF ,以便你在尽可能保留准确性的同时运行量化 GGUF 模型。
设置 Codex
Codex 是 OpenAI 官方的本地运行编程智能体。虽然是为 ChatGPT 设计的,但它支持 自定义 API 端点,这使它能够用于本地 LLM。稍后在 Unsloth 启动后,我们会将它指向 Unsloth Studio 的 /v1/responses 端点。
在终端中运行:
apt update
sudo apt install nodejs npm -y
npm install -g @openai/codex在 Windows PowerShell 中运行:
winget install --id OpenAI.Codex在终端中运行:
bash brew install --cask codex安装到此结束—— 不要 codex 现在就运行。直接运行它会进入 OpenAI 的“使用 ChatGPT 登录”选择界面(这是模态窗口——没有退出方式)。配置好本地配置文件后,
codex --oss --profile unsloth_api 或 codex --oss --profile llama_cpp 会完全跳过该界面,因为自定义提供商默认设置为 requires_openai_auth = false。先启动本地模型服务器,然后针对它启动 Codex。
📖 快速入门教程
开始前,首先需要完成你要使用的特定模型的设置。我们使用 Unsloth (一个 Web UI)和 llama.cpp,它们是在 Mac、Linux、Windows 设备上运行和托管 LLM 的开源框架。

🦥 Unsloth 教程
在本教程中,我们将通过使用 Unsloth,经由 UI 将本地模型托管/连接到 Claude Code。Unsloth 可在 Windows、WSL、Linux 和 macOS 上运行。

下载 Unsloth
最简单的入门方式是安装 Unsloth Desktop 应用。它支持 macOS、Linux、 Windows, NVIDIA, AMD、Intel 和 CPU 配置。
或者,如果你更喜欢手动安装:
MacOS、Linux、WSL:
Windows PowerShell:
Unsloth 现已就绪
要开始聊天,请输入消息并按 Enter。
连接工具: Claude Code, Codex、网页搜索、 MCP 以及更多
训练模型: 微调文本、扩散模型、嵌入模型等
生成媒体: 在本地创建和训练图像、视频、TTS

模型加载 + API 指南
可选:调整运行时设置
使用以下命令启动模型时,可以传入额外的运行时选项: unsloth run.
具备推理能力的模型可通过以下方式启动: --reasoning on 或 --reasoning off。 -c 标志控制可用的上下文窗口。
使用 -p ,如果你需要让 API 在其他端口运行。
有关更高级的运行时配置,请参阅主要的 API 调优 部分。
⚙️ 连接 Codex
现在我们已经为 Codex 设置好了本地 LLM,接下来配置 Codex 以配合你的工具使用。你可以通过 unsloth start 轻松连接,或 手动.
⚡ 使用以下方式运行 OpenAI Codex unsloth start
要直接使用模型启动 Codex,请运行:
如果没有设置采样参数/标志,Unsloth 会自动为该模型选择最佳/推荐设置,包括上下文长度、温度等。
在 Unsloth Studio 中加载 GGUF 模型后,打开项目文件夹并运行:
Unsloth 会为此次启动创建隔离的 Codex 主目录和一个由 Unsloth 支持的 Responses 提供商。你的常规 ~/.codex 配置将保持不变。
默认情况下,Codex 状态是临时的。需要保留由 Unsloth 管理的配置和会话时,使用 --persist :

Codex 目前需要一个通过
llama-server后端提供的 GGUF 模型。
查看完整 unsloth start 参考资料,了解模型加载、持久化和全部包装器选项。
本指南的其余部分将介绍完全手动的 Codex 提供商设置。
🔌 手动连接
本节介绍手动设置;无论你使用 Unsloth Studio、llama.cpp 还是其他兼容 OpenAI 的本地服务器,方法都相同。Codex 需要三个值: API 密钥、 基础 URL以及 模型名称。以下示例使用 Unsloth Studio;对于 llama.cpp,请采用相同结构并使用 llama_cpp 配置文件,详见 llama.cpp 部分。
配置 Unsloth 提供商
Codex 会查找 ~/.codex/config.toml 在 macOS/Linux/WSL 上,或 %USERPROFILE%\.codex\config.toml 在 Windows 上。创建或编辑它:
接下来,为 Unsloth 创建一个 Codex 配置文件:
base_url
你的本地服务器端点 + /v1
env_key
名称 ,即 Codex 从中读取 API 密钥的环境变量名称。这不是密钥本身。
wire_api
responses。Codex 现在专门使用 OpenAI 的 Responses API。
requires_openai_auth
false 使 Codex 针对此提供商跳过“使用 ChatGPT 登录”界面。默认值已是 false,但请明确设置。
模型
服务器公开的模型 ID。访问 GET <base_url>/models 以确认准确的字符串。
oss_provider
设置 unsloth_api 为使用以下命令启动 Codex 时的默认本地提供商:
--oss.
requires_openai_auth
false 使 Codex 针对此提供商跳过“使用 ChatGPT 登录”界面。
OpenAI 已移除对 wire_api = "chat" 的支持。始终使用 wire_api = "responses"。如果你设置了 wire_api = "chat",Codex 将拒绝启动并显示 不再支持 `wire_api = "chat"`。修复方法:在提供商配置中设置 `wire_api = "responses"`。
设置 API 密钥环境变量
使用你在以下位置写入的相同环境变量名称: env_key。在上面的 Unsloth Studio 示例中, env_key = "UNSLOTH_STUDIO_AUTH_TOKEN",因此请在将要运行 Codex 的同一终端中设置 UNSLOTH_STUDIO_AUTH_TOKEN :
如果你重命名了 env_key,也请在命令中重命名该变量。例如,一个使用以下配置的 llama.cpp 配置文件: env_key = "LLAMA_CPP_API_KEY" 需要 LLAMA_CPP_API_KEY,而不是 UNSLOTH_STUDIO_AUTH_TOKEN.
会话与持久化: 上面的命令仅适用于当前终端。要持久化:
macOS / Linux / WSL: 将
export行添加到~/.bashrc(bash)或~/.zshrc(zsh)。Windows: 运行
setx UNSLOTH_STUDIO_AUTH_TOKEN "YOUR_TOKEN"一次,或将$env:行添加到你的 PowerShell$PROFILE.
在 WSL 内运行 Codex,而 Unsloth 在 Windows 上运行? WSL 是独立的网络命名空间,因此 localhost 在 WSL 内无法访问 Unsloth。编辑你的 config.toml ,改用 Windows 主机 IP:
然后设置 base_url = "http://<that-ip>:8888/v1"。如果你启用了 WSL2 镜像网络(.wslconfig → networkingMode=mirrored), localhost ,则其工作方式与原生 Windows 相同。
尝试一个真实任务
试试这个提示,安装并运行一个简单的 Unsloth 微调:
如果我们再等一会儿,你就会看到一个使用 Unsloth 成功微调的模型!

断开或还原
启动 Codex 时不使用 -p unsloth_api ,它就会使用默认提供方。或者删除 [profiles.unsloth_api] 和 [model_providers.unsloth_api] 中的块 ~/.codex/config.toml.
你可以让 Unsloth Studio 继续运行,也可以将其关闭。停止后它不会拦截任何内容。
故障排除
未找到 ... 的模型元数据
非 OpenAI slug,没有内置元数据
无害警告。要消除副作用,请在 model_context_window = 131072 中设置 ~/.codex/config.toml,或指向
Codex 说它是 GPT
Codex 注入了一个引用 OpenAI 的系统提示;本地模型会照搬它
这不是路由 bug。请通过 Unsloth 的活动面板验证。覆盖系统提示可更改自报信息。
连接被拒绝
Unsloth 没有运行,或端口错误
确认 Unsloth 正在 http://localhost:8888上运行;检查 base_url 中设置 config.toml
wire_api = "chat" 已不再受支持
旧版 wire_api = "chat" 在配置中
切换到 wire_api = "responses"
未找到模型
模型 ID 拼写错误
GET http://localhost:8888/v1/models 并复制准确的 ID
生成中途 OOM
上下文对 VRAM 来说太大
在 Unsloth 中减少上下文 设置 → 推理,或者使用更小的量化
Codex 显示“使用 ChatGPT 登录”选择器
以裸方式启动 codex (无
--oss)
退出(Ctrl+C),然后重新启动,使用 codex --oss --profile unsloth_api。自定义提供方会跳过这一点
WSL: 连接被拒绝 更改为 localhost
WSL 网络命名空间
在 base_url中使用 Windows 主机 IP,或启用 WSL2 镜像网络
🦙 Llama.cpp 教程
我们也可以直接使用 llama.cpp 。我们需要部署 llama-server ,这是一个开源框架,可在 Mac、Linux 和 Windows 设备上高效运行和提供 LLM 服务。模型将托管在 8001 端口 ,所有 agent 工具调用都将通过这一个兼容 OpenAI 的端点路由。
下载并在本地使用模型
通过 hf CLI(pip install huggingface_hub hf_transfer)。我们使用 UD-Q4_K_XL 量化,以获得最佳尺寸/准确度平衡。你可以在我们的 此处的合集中找到所有 Unsloth GGUF 上传。如果下载卡住,请参见 https://hugging-face-hub-xet-debugging.md.
我们使用了 unsloth/gemma-4-26B-A4B-it-GGUF,但你可以使用任何类似的内容,例如 unsloth/Qwen3.6-35B-A3B-GGUF - 参见 Qwen3.6-35B-A3B.
启动 Llama-server
要为 agentic 工作负载部署 Gemma-4-26B-A4B,我们使用 llama-server。我们采用 Google 推荐的采样参数(temp 1.0, top_p 0.95, top_k 64)并启用 --jinja 以正确支持工具调用。
在新终端中运行此命令(使用 tmux 或打开一个新终端)。下面的内容应该 可轻松装入 24GB GPU(RTX 4090) ,大约 18GB。 --fit on 也会自动卸载,但如果你看到性能不佳,请降低 --ctx-size.
禁用思考 可以提升 agentic 编码任务的性能。Gemma 4 默认通过聊天模板启用思考——要禁用它,请在 llama-server 命令中添加以下标志:
macOS / Linux / WSL:
--chat-template-kwargs '{"enable_thinking":false}'
Windows PowerShell:
--chat-template-kwargs "{\"enable_thinking\":false}"
最后更新于
这有帮助吗?







