#2437·airi

功能建议:改进 Chat Provider 配置模型并支持用户自定义 Provider

Author: JackSmith111977Created Sep 2, 2026Updated Sep 2, 2026
Labelsscope/providersscope/uifeature

Clear and concise description of the problem

我实际使用 AIRI 一段时间后发现, 当前 Chat Provider 配置存在两类问题:

  1. 一些内置或 OpenAI-compatible Provider 无法按照实际服务商要求完成配置;

  2. 用户无法通过自定义 Provider 描述这些差异, 只能等待 AIRI 针对每个服务商增加或修复专用配置。

常见差异包括:

  • API Key / Authentication 并不统一
  • 并非所有兼容服务都提供 /v1/models
  • 同一协议下支持的参数不同
  • reasoning / streaming / tools 等 capability 不同
  • 模型参数存在 Provider / Model-specific 差异
  • 用户无法保存多个独立的 Provider 配置

Suggested solution / Ideas

我希望 AIRI 能支持用户创建并保存自己的 Custom Chat Provider(自定义 Chat 提供方),而不是只能依赖项目预置的 Provider 配置

我认为可以借鉴一下 cc-switch 的模型配置思路

核心思路是把 Provider、Protocol 和 Capability 分开:

  • Provider:名称、Base URL、Authentication / API Key、Model
  • Protocol:复用 AIRI 已支持的协议,例如 OpenAI-compatible Chat
  • Capability:描述该 Provider / Model 实际支持的能力,例如 Streaming、Reasoning / Thinking、Tool Calling 等

这样可以避免默认所有 OpenAI-compatible 服务都具有相同的鉴权方式、/v1/models 接口和请求参数。用户也可以保存多个不同的 Provider 配置并直接切换,而不需要反复覆盖同一份配置。

第一阶段建议保持较小范围:

  • 支持创建、保存和切换多个 Custom Chat Provider
  • 支持自定义 Base URL
  • API Key 可选
  • 支持手动填写 Model ID
  • 复用现有 OpenAI-compatible Chat 路径

如果这个方向被认可,后续再逐步扩展更多 Protocol 和 Capability:

  • 自动获取模型列表
  • 思考强度
  • 更多协议支持的拓展配置

Alternative

No response

Additional context

  • 我之前尝试过 #2411,但范围过大,被建议重新缩小实现。
  • 类似 Provider 配置问题也出现在 #566、#1058、#2249 等 Issue 中。
  • CC Switch 可以作为“用户保存和切换自定义 Provider 配置”的产品参考,但本提案不要求照搬其实现。

Validations