| 1 | # 服务商目录 |
| 2 | |
| 3 | 桌面预设目录按品牌显示一个入口。账号平台、接入方式和 API 格式共同选择一个 |
| 4 | 具体预设,仅展示后端登记过的组合。OpenCode Go 和 Zen 保留为不同接入方式, |
| 5 | 模型专用路由在对应接入方式内选择。 |
| 6 | |
| 7 | 添加时继续使用原有预设 ID、密钥引用、模型参数和安装冲突检查。浏览目录不修改 |
| 8 | 已安装连接;自定义地址、连接名称和历史会话引用保持不变。添加后可编辑地址和 |
| 9 | 模型,也可通过“自定义供应商”创建使用独立名称与密钥的另一条连接。 |
| 10 | |
| 11 | API 格式明确显示 Anthropic Messages、Chat Completions 和 Responses。 |
| 12 | 用户主动切换格式时,已知预设地址跟随对应的已登记路由;自定义连接的标准请求 |
| 13 | 后缀可以联动更新,自定义路径和含查询参数的精确 URL 保持不变。切换协议可能 |
| 14 | 改变请求序列化与服务端缓存复用。 |
| 15 | |
| 16 | ## 新增服务商 |
| 17 | |
| 18 | OpenAI(Responses 和 Chat Completions)、Anthropic、Google Gemini(OpenAI |
| 19 | 兼容入口)、SiliconFlow、OpenRouter、Groq、Mistral AI、本地 Ollama、LM Studio。 |
| 20 | 示例模型名可编辑,不代表账号一定有权限或本地已安装;添加后请获取或填写实际模型。 |
| 21 | Anthropic 预设不启用服务端原生工具。此次目录扩展不包含 Gemini 原生协议、仅支持 |
| 22 | OAuth 的服务、Azure 部署配置等专用接入流程。 |
| 23 | |
| 24 | ## 来源与维护 |
| 25 | |
| 26 | 配置根据服务商官方资料独立维护,没有复制 Cherry Studio 实现。官方资料链接 |
| 27 | 见 [英文版来源清单](PROVIDER_CATALOG.md#sources)。 |
| 28 | |
| 29 | 品牌图标来自 MIT 许可的 LobeHub Icons,固定版本与完整许可位于 |
| 30 | `desktop/frontend/public/provider-icons/`。缺少图标的品牌使用名称首字,运行时 |
| 31 | 无需访问第三方图标服务。 |
| 32 | |
| 33 | `internal/config/provider_catalog.go` 维护品牌、平台和套餐元数据,协议与默认 |
| 34 | 地址从预设真实配置读取。修改后在仓库根目录执行: |
| 35 | |
| 36 | ```sh |
| 37 | go run scripts/generate-provider-catalog.go |
| 38 | ``` |
| 39 | |
| 40 | | 契约 | 兼容行为 | |
| 41 | | --- | --- | |
| 42 | | 已保存 TOML 与密钥 | 不改变,无迁移或自动重写 | |
| 43 | | 原有预设 ID | 保留 | |
| 44 | | 桌面 `ProviderPresetView.catalog` | 新增展示字段,旧客户端忽略 | |
| 45 | | 新前端连接旧后端 | 已知 ID 使用生成的目录回退,未知预设仍可独立访问 | |
| 46 | | 模型请求前缀 | 不加入目录元数据 | |
| 47 | |
| 48 | ## 连接显示名称 |
| 49 | |
| 50 | 可选字段 `display_name` 仅用于界面;`name` 仍是连接、模型引用与凭据关联的稳定标识。 |
| 51 | 列表、详情、模型选择器优先显示连接名称,空值回退到原名称。新预设使用预设标题初始化显示名称。 |
| 52 | 相同显示名称不会合并连接;字段不加入模型请求或提示词,也不修改历史会话。 |
| 53 | |
| 54 | | 场景 | 行为 | |
| 55 | | --- | --- | |
| 56 | | 旧配置无新字段 | 保留原显示,无需迁移 | |
| 57 | | 当前版本保存、重启 | 保留名称和原模型引用 | |
| 58 | | 旧前端未传 displayName | 当前后端保留已有名称 | |
| 59 | | 显式空字符串 | 清除名称,恢复回退显示 | |
| 60 | | 旧版程序读写新配置 | 连接仍可读;旧写入器可能丢失显示名称 | |
| 61 | |
| 62 | 接入详情通过标题旁的编辑按钮重命名;Enter 保存、Esc 取消,失焦不提交。 |
| 63 | 独立重命名接口仅更新显示名称,配置编辑器不提交该字段,避免旧草稿覆盖新名称。 |
| 64 | |
| 65 | 内置连接与自定义连接共用详情编辑器:内置配置仅提供初始参数,协议、地址、密钥与模型均可后续修改。 |
| 66 | 详情不再用“内置/自定义”区分页面结构;服务能力仍由实际端点及模型元数据决定。 |
| 67 | |
| 68 | 模型编辑采用单一勾选列表,手动添加通过模型弹窗输入单个 ID。获取模型补充候选项,不改变已有勾选或自动保存;上下文覆盖收在每个模型的设置中。 |
| 69 | 刷新模型仅验证模型发现接口,不代表推理调用已验证;不再提供重复的独立检查按钮。密钥独立保存,检查和获取模型不会自动保存密钥,也不会因更换密钥而自动启用模型。 |
| 70 | |
| 71 | 密钥默认显示配置状态;点击“更换”展开输入,“⋯”提供来源、共享说明与清除操作。刷新和添加模型集中在模型标题旁。 |
| 72 | |
| 73 | ### 紧凑连接编辑器 |
| 74 | |
| 75 | 连接配置使用对齐表单;模型选择、刷新和添加集中在同一区域。添加和编辑共用模型弹窗,可设置上下文窗口、最大输出 token 与图片输入能力,并恢复继承或自动识别。文本输入和输出固定勾选;视频和 PDF 在请求链路支持前置灰。应用弹窗只修改配置草稿,保存连接后持久化。连接标题与保存栏固定占位,目录与配置内容独立滚动,模型列表不再嵌套滚动。底部保存栏区分未修改、未保存和保存失败;失败不会清空草稿。密钥继续单独保存,不随模型草稿提交。 |
| 76 | |
| 77 | 本地隔离预览:启动前端后打开 `/dev/provider-layout-preview.html`。预览使用真实组件和内存数据,不操作实际连接或凭据。视觉检查见仓库根目录 `design-qa.md`。 |
| 78 |