From 86fe6c3f3958cdb0d08d439f3aa027a08e6a12b0 Mon Sep 17 00:00:00 2001 From: coso Date: Sat, 20 Dec 2025 12:59:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=90=8C=E6=97=B6=E8=AE=BE=E7=BD=AE=20O?= =?UTF-8?q?PENAI=5FAPI=5FKEY=20=E5=92=8C=20ANTHROPIC=5FAPI=5FKEY=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=8F=8C=E5=8D=8F=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 generateJsonFromFields 中同时设置两个 API Key - 同时设置 OPENAI_BASE_URL 和 ANTHROPIC_BASE_URL - 解决 Claude Code 无法使用 OpenAI 协议的问题 --- src/components/clients/ProviderForm.tsx | 7 ++++++- src/components/switch/ProviderForm.tsx | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/components/clients/ProviderForm.tsx b/src/components/clients/ProviderForm.tsx index 0cda51dae..1243df53a 100644 --- a/src/components/clients/ProviderForm.tsx +++ b/src/components/clients/ProviderForm.tsx @@ -373,9 +373,14 @@ export function ProviderForm({ const generateJsonFromFields = useCallback(() => { const env: Record = {}; if (apiKey) { + // 同时设置两个 API Key,支持 OpenAI 和 Anthropic 两种协议 env.ANTHROPIC_API_KEY = apiKey; + env.OPENAI_API_KEY = apiKey; + } + if (baseUrl) { + env.ANTHROPIC_BASE_URL = baseUrl; + env.OPENAI_BASE_URL = baseUrl; } - if (baseUrl) env.ANTHROPIC_BASE_URL = baseUrl; if (primaryModel) env.ANTHROPIC_MODEL = primaryModel; if (haikuModel) env.ANTHROPIC_DEFAULT_HAIKU_MODEL = haikuModel; if (sonnetModel) env.ANTHROPIC_DEFAULT_SONNET_MODEL = sonnetModel; diff --git a/src/components/switch/ProviderForm.tsx b/src/components/switch/ProviderForm.tsx index 542e50e16..b21e66629 100644 --- a/src/components/switch/ProviderForm.tsx +++ b/src/components/switch/ProviderForm.tsx @@ -345,9 +345,14 @@ export function ProviderForm({ const generateJsonFromFields = useCallback(() => { const env: Record = {}; if (apiKey) { + // 同时设置两个 API Key,支持 OpenAI 和 Anthropic 两种协议 env.ANTHROPIC_API_KEY = apiKey; + env.OPENAI_API_KEY = apiKey; + } + if (baseUrl) { + env.ANTHROPIC_BASE_URL = baseUrl; + env.OPENAI_BASE_URL = baseUrl; } - if (baseUrl) env.ANTHROPIC_BASE_URL = baseUrl; if (primaryModel) env.ANTHROPIC_MODEL = primaryModel; if (haikuModel) env.ANTHROPIC_DEFAULT_HAIKU_MODEL = haikuModel; if (sonnetModel) env.ANTHROPIC_DEFAULT_SONNET_MODEL = sonnetModel;