功能建议:改进 Chat Provider 配置模型并支持用户自定义 Provider
Author: JackSmith111977Created Sep 2, 2026Updated Sep 2, 2026
Labelsscope/providersscope/uifeature
Clear and concise description of the problem
我实际使用 AIRI 一段时间后发现, 当前 Chat Provider 配置存在两类问题:
一些内置或 OpenAI-compatible Provider 无法按照实际服务商要求完成配置;
用户无法通过自定义 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
- Follow our Code of Conduct
- Read the Contributing Guide.
- Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
Source: moeru-ai/airi