AI Provider配置

内置 Provider(14 种)

这些定义来自 src/utils/values.ts

Provider 类型默认 Base URLSDK
openaihttps://api.openai.com/v1@ai-sdk/openai
openai-compatible由用户填写@ai-sdk/openai-compatible
openai-responses由用户填写@ai-sdk/openai,但走 /responses 端点
anthropichttps://api.anthropic.com/v1@ai-sdk/anthropic
googlehttps://generativelanguage.googleapis.com/v1beta@ai-sdk/google
cerebras由用户填写@ai-sdk/openai-compatible
minimax(M2.7)由用户填写@ai-sdk/openai-compatible
openrouterhttps://openrouter.ai/api/v1@openrouter/ai-sdk-provider
xai由用户填写@ai-sdk/xai
deepseek由用户填写@ai-sdk/deepseek
ollamahttp://<your-ollama-host>:<port>/api(默认端口 11434ai-sdk-ollama
burncloudhttps://ai.burncloud.com/v1@ai-sdk/openai-compatible
togetherai由用户填写@ai-sdk/togetherai
groq由用户填写@ai-sdk/groq
cohere由用户填写@ai-sdk/cohere
mistral由用户填写@ai-sdk/mistral

如何添加你的第一个 Provider

  1. 打开应用,进入左侧抽屉中的 Settings(齿轮图标)
  2. Default Provider 区域点击 Add,然后选择一种 provider 类型(例如 OpenAI Compatible
  3. 填写 Display NameBase URL(只对非固定端点 provider 需要)和 API Key
  4. 保存后,这个 provider 会在设置页顶部得到一个 Share Link。你可以直接复制给别人,对方打开后会自动填入对应配置

自定义 Provider(混合多个子 Provider)

除了这 14 种内置 provider 之外,你还可以在 /settings/providers/:id 中定义一个 Custom Provider,用来把多个子 provider 的模型名映射到一个统一入口下:

  • Subproviders:每个子 provider 本身也是一个 provider(内置的或另一个自定义 provider),并带有一张 modelMap,把你定义的模型 id 映射到上游真实模型 id
  • Fallback provider:如果某个模型 id 没有出现在任何子 provider 的映射表里,请求就会回退到这里
  • 这种结构适合把便宜模型路由到一个上游,把贵模型路由到另一个上游,但在助手层面仍然只暴露成一个统一别名

它在 src/utils/types.ts 中的数据结构如下:

interface CustomProvider {
  id: string
  name: string
  avatar: Avatar
  subproviders: { provider: Provider, modelMap: Record<string, string> }[]
  fallbackProvider?: Provider
}

模型选择级联顺序

当一个对话实际发起请求时,模型的选择顺序如下:

  1. dialog.modelOverride —— 通过对话页顶部模型选择器设置的“当前对话覆盖”
  2. assistant.model —— 这个对话所使用助手上保存的模型
  3. userPerfs.model —— 设置页中的全局默认模型

每个模型还带有一组 inputTypes 三元组 {user, assistant, tool},用于声明它分别接受哪些输入类型(文本、图片、音频、PDF)。

常用模型快捷列表

Settings → Common Models 是一组你频繁切换的模型 id。对话页顶部的模型选择器会从这个列表里生成一个快速下拉菜单,方便你在常用模型之间切换。

System Assistant

Settings → System Assistant 是一组独立的 (provider, model) 配置,专门给两个后台任务使用:

  • 在对话第一轮结束后自动生成会话标题
  • 从助手回复中抽取 Artifact 文档

如果你把这里留空,就会自动回退到全局默认 provider/model。