Skip to content

供应商配置与模型路由重构:预设注册表、四类接口、多 Key / 多源地址、模型元数据目录 #826

Description

@yovinchen

现状问题

供应商配置目前围绕五个写死的类型(claude_code / codex / gemini / xai / deepseek)展开,带来几个结构性限制:

  • 接口与供应商绑死:一个实例只能走一种请求格式。同一家中转同时提供 Anthropic Messages、OpenAI Chat Completions / Responses、Gemini 四类接口时,只能建多个实例重复配置。
  • 新增渠道要改代码:每接一家厂商都要动类型枚举与分支逻辑,而不是加一条数据。
  • 单 Key、单地址:一个供应商只能配一把 Key、一个地址。多账号、多入口主机(同一服务的 a.comb.com)无法表达。
  • 模型元数据分散:上下文窗口、最大输出、模态、能力、思考档位散落在多处手写表与启发式里,容易过期且没有统一的查看入口。
  • 失败无兜底:请求失败只能整体报错,没有换 Key、换接口、换主机的自动重试。
  • 配置门槛高:用户要自己判断填哪个地址、用哪种格式,没有探测与自动配置。

期望

  1. 聊天接口收敛为四类(Anthropic Messages、OpenAI Chat Completions、OpenAI Responses、Gemini generateContent),厂商差异作为同一接口下的实现变体处理。
  2. 供应商预设做成随应用发布的数据(注册表),新增渠道只加数据不加代码分支。
  3. 一个供应商可同时挂多个接口端点,各自独立配置地址与请求细节。
  4. 支持多把 Key(各带模型范围)与多个源地址。
  5. 模型元数据有唯一来源与分层覆盖规则,并提供可查看的目录。
  6. 请求失败可按凭据、源、端点、供应商逐层自动切换,带熔断。
  7. 填 Key 与地址后能探测并自动完成大部分配置,人工只调剩余部分。

验收

  • 一个中转实例可同时配置四类接口并分别路由不同模型。
  • 新增一家厂商渠道无需改动路由或运行时代码。
  • 多 Key 可按模型范围分别生效;多源地址可在失败时自动切换。
  • 模型的能力与限额能看到来源(用户覆盖 / 目录 / 供应商 / 启发式)并可还原。
  • 旧配置加载后行为不变,不需要用户重新配置。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions