Просмотр исходного кода

feat: 暂时禁用非 Claude 供应商类型选项

- 在前端供应商表单中禁用 Codex、Gemini CLI、OpenAI Compatible 选项
- 添加 ENABLE_MULTI_PROVIDER_TYPES 环境变量用于后续功能开关
- 更新提示文案,说明其他类型功能正在开发中
- 为未来启用多提供商类型支持预留配置接口

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
ding113 3 месяцев назад
Родитель
Сommit
a06bb02961

+ 7 - 0
.env.example

@@ -35,3 +35,10 @@ REDIS_URL=redis://localhost:6379        # Redis 连接地址(Docker 部署使
 SESSION_TTL=300                         # Session 过期时间(秒,默认 300 = 5 分钟)
 STORE_SESSION_MESSAGES=false            # 是否存储请求 messages 到 Redis(用于实时监控页面查看详情,默认:false)
                                         # 警告:启用后会增加 Redis 内存使用,且可能包含敏感信息
+
+# 多提供商类型支持(实验性功能)
+# 功能说明:启用除 Claude 以外的其他供应商类型支持
+# - false (默认):仅支持 Claude 类型供应商
+# - true:支持 Codex、Gemini CLI、OpenAI Compatible 等其他类型
+# 警告:其他类型功能仍在开发中,暂不建议启用
+ENABLE_MULTI_PROVIDER_TYPES=false

+ 1 - 1
.github/workflows/pr-check.yml

@@ -5,7 +5,7 @@ on:
   pull_request:
     branches:
       - main # 稳定版本分支
-      - dev  # 开发版本分支
+      - dev # 开发版本分支
     types: [opened, synchronize, reopened]
 
 env:

+ 13 - 4
src/app/settings/providers/_components/forms/provider-form.tsx

@@ -268,13 +268,22 @@ export function ProviderForm({ mode, onSuccess, provider }: ProviderFormProps) {
               </SelectTrigger>
               <SelectContent>
                 <SelectItem value="claude">Claude (Anthropic Messages API)</SelectItem>
-                <SelectItem value="codex">Codex (Response API)</SelectItem>
-                <SelectItem value="gemini-cli">Gemini CLI</SelectItem>
-                <SelectItem value="openai-compatible">OpenAI Compatible</SelectItem>
+                <SelectItem value="codex" disabled>
+                  Codex (Response API) - 功能开发中
+                </SelectItem>
+                <SelectItem value="gemini-cli" disabled>
+                  Gemini CLI - 功能开发中
+                </SelectItem>
+                <SelectItem value="openai-compatible" disabled>
+                  OpenAI Compatible - 功能开发中
+                </SelectItem>
               </SelectContent>
             </Select>
             <p className="text-xs text-muted-foreground">
-              选择供应商的 API 格式类型。系统将自动进行格式转换,支持不同格式之间的互相调用。
+              选择供应商的 API 格式类型。
+              <span className="text-amber-600 ml-1">
+                注:除 Claude 外的其他类型功能正在开发中,暂不可用
+              </span>
             </p>
           </div>
 

+ 1 - 0
src/lib/config/env.schema.ts

@@ -26,6 +26,7 @@ export const EnvSchema = z.object({
   DEBUG_MODE: z.coerce.boolean().default(false),
   LOG_LEVEL: z.enum(["fatal", "error", "warn", "info", "debug", "trace"]).default("info"),
   TZ: z.string().default("Asia/Shanghai"),
+  ENABLE_MULTI_PROVIDER_TYPES: z.coerce.boolean().default(false),
 });
 
 /**