Skip to content

Commit eb6fbe5

Browse files
author
HitMargin
committed
分离OpenAI和Anthropic模型的环境变量
1 parent ec5dfed commit eb6fbe5

9 files changed

Lines changed: 680 additions & 657 deletions

File tree

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ Feature flag `VOICE_MODE`,dev/build 默认启用。Push-to-Talk 语音输入
180180
- **`src/services/api/openai/`** — client、消息/工具转换、流适配、模型映射
181181
- **`src/utils/model/providers.ts`** — 添加 `'openai'` provider 类型(最高优先级)
182182

183-
关键环境变量:`CLAUDE_CODE_USE_OPENAI``OPENAI_API_KEY``OPENAI_BASE_URL``OPENAI_MODEL``OPENAI_MODEL_MAP`。详见 `docs/plans/openai-compatibility.md`
183+
关键环境变量:`CLAUDE_CODE_USE_OPENAI``OPENAI_API_KEY``OPENAI_BASE_URL``OPENAI_MODEL``OPENAI_DEFAULT_OPUS_MODEL``OPENAI_DEFAULT_SONNET_MODEL``OPENAI_DEFAULT_HAIKU_MODEL`。详见 `docs/plans/openai-compatibility.md`
184184

185185
### Key Type Files
186186

docs/plans/openai-compatibility.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ claude-code 支持通过 OpenAI Chat Completions API(`/v1/chat/completions`)
1414
| `OPENAI_API_KEY` || API key(Ollama 等可设为任意值) |
1515
| `OPENAI_BASE_URL` | 推荐 | 端点 URL(如 `http://localhost:11434/v1`|
1616
| `OPENAI_MODEL` | 可选 | 覆盖所有请求的模型名(跳过映射) |
17-
| `OPENAI_MODEL_MAP` | 可选 | JSON 映射,如 `{"claude-sonnet-4-6":"gpt-4o"}` |
17+
| `OPENAI_DEFAULT_OPUS_MODEL` | 可选 | 覆盖 opus 家族对应的模型(如 `o3`, `o3-mini`, `o1-pro`|
18+
| `OPENAI_DEFAULT_SONNET_MODEL` | 可选 | 覆盖 sonnet 家族对应的模型(如 `gpt-4o`, `gpt-4.1`|
19+
| `OPENAI_DEFAULT_HAIKU_MODEL` | 可选 | 覆盖 haiku 家族对应的模型(如 `gpt-4o-mini`, `gpt-4.0-mini`|
1820
| `OPENAI_ORG_ID` | 可选 | Organization ID |
1921
| `OPENAI_PROJECT_ID` | 可选 | Project ID |
2022

@@ -49,11 +51,12 @@ OPENAI_BASE_URL=https://your-one-api.example.com/v1 \
4951
OPENAI_MODEL=gpt-4o \
5052
bun run dev
5153

52-
# 自定义模型映射
54+
# 自定义模型映射(使用家族变量)
5355
CLAUDE_CODE_USE_OPENAI=1 \
5456
OPENAI_API_KEY=sk-xxx \
5557
OPENAI_BASE_URL=https://my-gateway.example.com/v1 \
56-
OPENAI_MODEL_MAP='{"claude-sonnet-4-6":"gpt-4o-2024-11-20","claude-haiku-4-5":"gpt-4o-mini"}' \
58+
OPENAI_DEFAULT_SONNET_MODEL="gpt-4o-2024-11-20" \
59+
OPENAI_DEFAULT_HAIKU_MODEL="gpt-4o-mini" \
5760
bun run dev
5861
```
5962

@@ -85,9 +88,10 @@ queryModel() [claude.ts]
8588
`resolveOpenAIModel()` 的解析顺序:
8689

8790
1. `OPENAI_MODEL` 环境变量 → 直接使用,覆盖所有
88-
2. `OPENAI_MODEL_MAP` JSON 查表 → 自定义映射
89-
3. 内置默认映射(见下表)
90-
4. 以上都不匹配 → 原名透传
91+
2. `OPENAI_DEFAULT_{FAMILY}_MODEL` 变量(如 `OPENAI_DEFAULT_SONNET_MODEL`)→ 按模型家族覆盖
92+
3. `ANTHROPIC_DEFAULT_{FAMILY}_MODEL` 变量(向后兼容)
93+
4. 内置默认映射(见下表)
94+
5. 以上都不匹配 → 原名透传
9195

9296
### 内置模型映射
9397

0 commit comments

Comments
 (0)