From f1c7ad25be3ad5be4a09424bd5d010f2a9ca9393 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Mon, 23 Mar 2026 00:13:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(web-custom-model):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E6=A0=A1=E9=AA=8C=E9=80=BB=E8=BE=91=E4=BB=A5?= =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E9=BB=98=E8=AE=A4=E6=A8=A1=E5=9E=8B=E5=9C=A8?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=88=97=E8=A1=A8=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/intro/model-config.md | 8 ++++---- web/src/components/ModelProvidersComponent.vue | 11 +++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/intro/model-config.md b/docs/intro/model-config.md index 600a9e6f..bea4d886 100644 --- a/docs/intro/model-config.md +++ b/docs/intro/model-config.md @@ -133,12 +133,12 @@ models = [ [model_names.api-proxy] name = "API 中转服务" base_url = "https://api-proxy.example.com/v1" -default = "gpt-3.5-turbo" +default = "gpt-5" env = "API_PROXY_KEY" models = [ - "gpt-3.5-turbo", - "gpt-4", - "claude-3-sonnet" + "gpt-5", + "deepseek-chat", + "claude-4.6-sonnet" ] ``` diff --git a/web/src/components/ModelProvidersComponent.vue b/web/src/components/ModelProvidersComponent.vue index 9d112d98..d03fb29c 100644 --- a/web/src/components/ModelProvidersComponent.vue +++ b/web/src/components/ModelProvidersComponent.vue @@ -357,7 +357,7 @@ v-model:value="customProviderModal.data.env" placeholder="请输入API密钥或环境变量名(如:MY_API_KEY)" /> -
支持直接输入API密钥,或使用环境变量名(如:MY_API_KEY)
+
支持直接输入API密钥,或使用环境变量名(如:MY_API_KEY),如无密钥填写"无"。
@@ -366,7 +366,7 @@ placeholder="请输入支持的模型列表,每行一个模型" :rows="4" /> -
每行输入一个模型名称,例如:gpt-3.5-turbo
+
每行输入一个模型名称,例如:gpt-5
@@ -720,6 +720,13 @@ const saveCustomProvider = async () => { .map((model) => model.trim()) .filter((model) => model.length > 0) + // 校验默认模型必须在支持的模型列表中 + if (models.length > 0 && !models.includes(customProviderModal.data.default)) { + message.error(`默认模型 "${customProviderModal.data.default}" 不在支持的模型列表中`) + customProviderModal.loading = false + return + } + const providerData = { name: customProviderModal.data.name, base_url: customProviderModal.data.base_url,