Skip to content

feat: 多模型自由切换 — ProviderRegistry + 动态路由 + 前端选择器 #102

@lailoo

Description

@lailoo

背景

当前 LLMService 支持 OpenAI 兼容 + Gemini,但切换模型需改 .env 重启,不支持多 Provider 同时配置,前端无模型选择 UI。

目标

支持 GPT、Gemini、Qwen、DeepSeek、智谱、Kimi、MiniMax 等主流模型运行时动态切换,含健康检测和自动 fallback。

方案概要(详见 114.00.多模型自由切换方案.md)

核心架构

  • ProviderConfig / ModelInfo:Provider 配置模型,含 api_key、api_base、模型列表、费用信息
  • ProviderRegistry:多 Provider 注册管理,懒初始化 LLMService 客户端
  • ModelRouter:智能路由,健康检测 + 按优先级自动降级
  • 预置 8 个 Provider 模板:OpenAI / Gemini / Qwen / DeepSeek / 智谱 / Kimi / MiniMax / 本地 Ollama

前端

Generate.vue 新增模型选择器(Provider 下拉 + Model 下拉 + 快速切换标签)

API

GET    /api/models                    # 可用模型列表
GET/POST/PUT/DELETE  /api/models/providers  # Provider CRUD
POST   /api/models/test              # 连通性测试
GET    /api/models/health             # 健康状态

实现路径

阶段 内容 工作量
P1 ProviderConfig + Registry + SQLite 持久化 2d
P2 改造 LLMService 支持动态 Provider 注入 2d
P3 ModelRouter 健康检测 + fallback 2d
P4 API + 前端模型选择 UI 3d
P5 预置模板 + 连通性测试 1d

可行性

。大部分国产模型都提供 OpenAI 兼容端点,现有 LLMService 改造成本低。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions