OSS 模式是什么

OSS(Open Source Software)模式是 Codex 2026 年最重要的功能更新之一。它允许用户绕过 OpenAI 模型锁定,接入任何兼容 OpenAI API 格式的模型端点。

核心原理很简单:Codex 的模型调用层使用了 OpenAI SDK 的标准接口,任何实现了 /v1/chat/completions 端点的服务都可以作为模型提供方。

┌─────────────┐     OpenAI Compatible API     ┌──────────────┐
│   Codex     │ ─────────────────────────────→│  任意模型     │
│  Agent Loop │ ←─────────────────────────────│  推理引擎     │
└─────────────┘     JSON Response             └──────────────┘

这意味着:

  • ✅ 本地模型(Ollama / LM Studio / vLLM)
  • ✅ 国产模型 API(DeepSeek / Qwen / GLM)
  • ✅ 自托管模型(vLLM / TGI / SGLang)
  • ✅ 多模型混合(不同任务用不同模型)

Ollama 接入

安装 Ollama

# Linux
curl -fsSL https://ollama.com/install.sh | sh

# macOS
brew install ollama

# Windows
winget install Ollama.Ollama

拉取推荐模型

# 编程专精模型
ollama pull qwen2.5-coder:32b

# 通用大模型
ollama pull llama3.3:70b

# 轻量快速模型
ollama pull phi4:14b

# 中文优化
ollama pull qwen2.5:32b

Codex 配置

// ~/.codex/config.json
{
  "provider": "openai-compatible",
  "model": "qwen2.5-coder:32b",
  "apiBase": "http://localhost:11434/v1",
  "apiKey": "ollama",
  "temperature": 0.7,
  "maxTokens": 8192,
  "streaming": true
}

验证连通性

# 测试 API 是否可用
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen2.5-coder:32b",
    "messages": [{"role": "user", "content": "Hello"}],
    "max_tokens": 50
  }'

# 通过 Codex 测试
codex "写一个 Python 函数计算斐波那契数列"

LM Studio 接入

LM Studio 提供图形界面管理本地模型,适合不熟悉命令行的用户。

步骤

  1. 下载安装 LM Studio
  2. 在 Discover 页面搜索并下载模型(推荐 GGUF 格式)
  3. 进入 Local Server 标签页
  4. 加载模型并点击 “Start Server”
  5. 默认端口 1234

Codex 配置

{
  "provider": "openai-compatible",
  "model": "qwen2.5-coder-32b-instruct",
  "apiBase": "http://localhost:1234/v1",
  "apiKey": "lm-studio",
  "temperature": 0.7
}

LM Studio 优势

特性 Ollama LM Studio
界面 CLI 图形界面
模型管理 命令行 拖拽下载
量化选项 预设 灵活选择
GPU 配置 自动 手动调优
多模型加载 单模型 可同时加载
适合人群 开发者 所有用户

vLLM 自托管部署

对于企业级私有部署,vLLM 是最优选择:

# 安装 vLLM
pip install vllm

# 启动 API 服务器
python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen2.5-Coder-32B-Instruct \
  --port 8000 \
  --tensor-parallel-size 2 \
  --gpu-memory-utilization 0.9 \
  --max-model-len 32768

Codex 配置

{
  "provider": "openai-compatible",
  "model": "Qwen/Qwen2.5-Coder-32B-Instruct",
  "apiBase": "http://your-server:8000/v1",
  "apiKey": "vllm-token",
  "temperature": 0.7,
  "maxTokens": 32768
}

vLLM vs Ollama 性能对比

在 A100 80GB GPU 上测试 Qwen2.5-Coder-32B:

指标 Ollama (q4) vLLM (fp16) vLLM (awq)
首 token 延迟 320ms 85ms 72ms
生成速度 28 tok/s 95 tok/s 110 tok/s
并发支持 1 100+ 100+
显存占用 18GB 65GB 24GB
质量损失 中等 轻微

性能对比:本地 vs 云端

编程任务测试

任务:实现一个带有分页、排序、过滤的 REST API(Python FastAPI)

模型 首次成功率 代码质量 耗时 成本
GPT-4o (云端) 100% 9.5/10 45s $0.12
Claude 4 Sonnet 100% 9.3/10 38s $0.10
Qwen2.5-Coder-32B (本地) 95% 9.0/10 65s $0
DeepSeek-V3 (API) 95% 8.8/10 55s $0.02
Llama 3.3 70B (本地) 90% 8.5/10 80s $0
Phi-4 14B (本地) 80% 7.5/10 25s $0

推理任务测试

任务:分析一段代码的潜在安全漏洞

模型 检出率 误报率 耗时
o3 (云端) 98% 5% 30s
GPT-4o (云端) 92% 8% 20s
Qwen2.5-Coder-32B (本地) 85% 12% 55s
Llama 3.3 70B (本地) 82% 10% 70s
Phi-4 14B (本地) 70% 18% 20s

成本分析

个人开发者

方案 月成本 适用场景
Ollama + Qwen2.5-Coder 7B $0(电费) 日常编程
Ollama + Qwen2.5-Coder 32B $0(需 24GB VRAM) 专业开发
DeepSeek API $2-10 中度使用
OpenAI API $20-100 重度使用
Codex Plus 订阅 $20 均衡选择

企业部署

以 50 人团队、每人每天 50 次调用为例:

方案 月成本 数据隐私 性能
OpenAI API $3,000-8,000 数据外传 最强
Claude API $2,500-7,000 数据外传
DeepSeek API $500-1,500 数据外传
自托管 vLLM (2×A100) $4,000 (服务器) 完全私有 中上
自托管 vLLM (4×A100) $8,000 (服务器) 完全私有

注:自托管方案虽然月成本不低,但长期来看硬件可复用,且数据不出域。

多模型路由策略

Codex 支持基于任务类型自动选择模型:

{
  "modelRouting": {
    "default": "qwen2.5-coder:32b",
    "coding": "qwen2.5-coder:32b",
    "reasoning": "deepseek-chat",
    "simple": "phi4:14b",
    "writing": "qwen2.5:32b"
  },
  "providers": {
    "local": {
      "apiBase": "http://localhost:11434/v1",
      "apiKey": "ollama"
    },
    "deepseek": {
      "apiBase": "https://api.deepseek.com/v1",
      "apiKey": "sk-xxx"
    }
  }
}

路由策略效果:

用户: "写一个二叉树遍历" → 路由到 qwen2.5-coder:32b (本地, 免费)
用户: "分析这段架构设计的问题" → 路由到 deepseek-chat (API, $0.001)
用户: "修正拼写错误" → 路由到 phi4:14b (本地, 快速)

私有部署最佳实践

硬件选型

团队规模 GPU 配置 可运行模型 预算
1-5人 1× RTX 4090 24GB 7B-14B 模型 $2,000
5-20人 1× A100 80GB 32B-70B 模型 $15,000
20-50人 2× A100 80GB 70B 模型并发 $30,000
50+人 4× A100 80GB 多模型并行 $60,000

安全配置

# 生产环境安全清单
security:
  - 模型服务不暴露公网,仅内网访问
  - API 端点添加认证 token
  - 日志记录所有 prompt 和输出
  - 定期审计模型输出内容
  - 网络隔离:模型服务器在独立 VLAN
  
network:
  api_server:
    bind: "0.0.0.0"
    port: 8000
    tls:
      enabled: true
      cert: /etc/ssl/codex.crt
      key: /etc/ssl/codex.key
    auth:
      type: bearer
      tokens:
        - "internal-token-xxx"

监控与运维

# vLLM 监控
python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen2.5-Coder-32B-Instruct \
  --port 8000 \
  --disable-log-requests \  # 生产环境关闭请求日志
  --uvicorn-log-level info

# Prometheus 指标
# vLLM 暴露 /metrics 端点
curl http://your-server:8000/metrics | grep vllm

关键监控指标:

指标 告警阈值 说明
GPU 利用率 >95% 持续 5min 需要扩容
请求队列长度 >20 并发不足
首 token 延迟 >500ms 模型加载或 GPU 压力
错误率 >1% 模型或网络异常

已知限制

OSS 模式目前的一些限制:

  1. 函数调用支持:部分本地模型不支持原生 function calling,Codex 会退回到 prompt 模式
  2. 长上下文:本地模型上下文窗口通常较小(4K-32K),处理大型项目时可能截断
  3. 流式输出:部分模型 API 不支持 streaming,用户体验会有延迟
  4. 多模态:本地模型对图片输入支持有限
// 降级配置示例
{
  "provider": "openai-compatible",
  "model": "qwen2.5-coder:32b",
  "apiBase": "http://localhost:11434/v1",
  "apiKey": "ollama",
  "fallback": {
    "enabled": true,
    "provider": "openai",
    "model": "gpt-4o-mini",
    "trigger": "function_call_unsupported"
  }
}

总结

OSS 模式让 Codex 从"OpenAI 专属工具"变成了"模型无关的 Agent 平台"。对于注重成本和数据隐私的国内用户来说,Ollama + Qwen2.5-Coder + DeepSeek API 降级的组合是当前最优解:日常编程用本地模型(免费),复杂推理降级到 API(低成本),两者无缝切换。

加入讨论

这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。

碳基与硅基的智慧碰撞,认知差异创造无限可能。