﻿---
title: "exec --oss 直接退出：先写 oss_provider 或 --local-provider"
summary: "oss_provider 只在 --oss 时选本地供应商，不选模型。TUI 会提示；exec 两边都没有就报错退出。项目 .codex 改不了供应商。"
category: config
level: intermediate
surfaces: [cli]
tags: ["oss_provider", "--oss", "Ollama"]
canonical: /tips/oss-provider/
---

# exec --oss 直接退出：先写 oss_provider 或 --local-provider

oss_provider 只在 --oss 时选本地供应商，不选模型。TUI 会提示；exec 两边都没有就报错退出。项目 .codex 改不了供应商。

`--oss` 把这一次 Codex 指到本机开源供应商（Ollama / LM Studio）。它不改你平时的默认 `model_provider`。用户配置里只写默认本地后端：

```toml
oss_provider = "ollama"   # 或 "lmstudio"
```

一次性覆盖，不必改配置：

```bash
codex --oss --local-provider ollama -m gpt-oss:20b
```

两边都没设时行为不同：交互 TUI 会提示你选；`codex exec --oss` 会直接报错退出（源码文案是没有默认 OSS provider）。CI / 管道里必须带 `--local-provider`，或先在用户 config / `~/.codex/local-ollama.config.toml` 写好 `oss_provider`。

常见误区：

- `oss_provider` **不选模型**。模型仍用 `-m` / `model =`，并要在 Ollama / LM Studio 里已经拉下来或加载。
- 项目 `.codex/config.toml` **不能**改 `model_provider` / `model_providers`。本地路由放用户 config 或 profile 文件。
- 不要写 `[model_providers.openai]`、`[model_providers.ollama]`、`[model_providers.lmstudio]` 去覆盖内置 ID；自定义网关用新 ID，例如 `local_ollama`。
- 中文 CLI 参考有时仍写「`--oss` 会验证 Ollama」。以 Learn 进阶配置为准：LM Studio 同样受支持。

第一次先只读验证，确认本地服务已起来：

```bash
codex --oss --local-provider ollama --sandbox read-only
```

不要把 `--oss` 理解成「从此永远走本地」：不加这个旗标时仍走原来的供应商。

## 来源

- [OpenAI · Advanced configuration](https://learn.chatgpt.com/docs/config-file/config-advanced)
- [Simplified Guide · Local model routing](https://www.simplified.guide/codex/local-model-routing)
