返回 DeepSeek-Reasonix
PROVIDER_CATALOG.md
根目录 / docs / PROVIDER_CATALOG.md
1 # Provider catalog
2
3 The desktop preset picker has one entry per provider brand. Access plan,
4 account platform and API format select a concrete existing preset, in that order. Only combinations
5 registered by the host are offered. OpenCode Go and Zen remain separate plans;
6 model-scoped routes remain selectable inside their plan.
7
8 Adding a preset keeps its existing ID, credentials, model overrides and install
9 conflict checks. Browsing the catalog does not modify installed connections.
10 Existing custom endpoints, connection names and session references are retained.
11 You can edit the address and model list after adding, or use Custom provider to
12 create another connection with its own name and credentials.
13
14 The API format selector names Anthropic Messages, Chat Completions and Responses
15 explicitly. During an explicit format change, known preset addresses follow the
16 matching registered route. Standard request suffixes can be updated for custom
17 connections; custom paths and query-bearing exact URL overrides are preserved.
18 Protocol changes may change request serialization and provider cache reuse.
19
20 ## Added providers
21
22 OpenAI (Responses and Chat Completions), Anthropic, Google Gemini (OpenAI
23 compatibility), SiliconFlow, OpenRouter, Groq, Mistral AI, local Ollama and
24 LM Studio. Example model names are editable starting points, not guarantees of
25 account access or local installation. Fetch or enter the actual models after
26 adding. Native Anthropic server tools are not enabled by the preset. Gemini's
27 native API, OAuth-only services, Azure deployment setup and other special
28 protocols are not implied by this catalog expansion.
29
30 ## Sources
31
32 These definitions are maintained independently from Cherry Studio source code.
33 Endpoint sources:
34
35 - [OpenAI API](https://platform.openai.com/docs/api-reference/introduction)
36 - [Anthropic Messages](https://platform.claude.com/docs/en/api/http/messages/create)
37 - [Gemini OpenAI compatibility](https://ai.google.dev/gemini-api/docs/openai)
38 - [SiliconFlow quickstart](https://docs.siliconflow.cn/docs/userguide/quickstart)
39 - [OpenRouter quickstart](https://openrouter.ai/docs/quickstart)
40 - [Groq OpenAI compatibility](https://console.groq.com/docs/openai)
41 - [Mistral API](https://docs.mistral.ai/api)
42 - [Ollama OpenAI compatibility](https://docs.ollama.com/api/openai-compatibility)
43 - [LM Studio OpenAI compatibility](https://lmstudio.ai/docs/developer/openai-compat)
44
45 Bundled brand icons come from LobeHub Icons under MIT. The pinned source revision
46 and full license are in `desktop/frontend/public/provider-icons/`. Brands without
47 a bundled icon use an initial. No third-party scripts or remote icon requests are
48 needed at runtime.
49
50 ## Maintenance and compatibility
51
52 `internal/config/provider_catalog.go` owns brand/platform/plan metadata. Protocol
53 and default URL come from the preset's actual entries. After a catalog or added
54 preset change, regenerate browser fixtures from the repository root:
55
56 ```sh
57 go run scripts/generate-provider-catalog.go
58 ```
59
60 | Contract | Behavior |
61 | --- | --- |
62 | Saved provider TOML and credentials | Browsing makes no writes; the one-time MiMo model upgrade below preserves credentials and selections |
63 | Existing preset IDs | Preserved |
64 | Desktop `ProviderPresetView.catalog` | Additive display metadata; old clients ignore it |
65 | New frontend with older host | Generated known-ID fallback; unknown presets remain individually accessible |
66 | Provider request prefix | No catalog metadata is added to model requests |
67
68 ## MiMo API and Token Plan
69
70 Choose **Pay-as-you-go API** or **Token Plan** first. The API uses
71 `MIMO_API_KEY` and does not show a region selector. Token Plan uses
72 `MIMO_TOKEN_PLAN_API_KEY` and then offers China, Singapore and Europe service
73 clusters. Changing clusters preserves a selected protocol when that preset is
74 available. Token Plan is restricted to supported AI coding tools; its key and
75 quota are independent of the ordinary API.
76
77 New connections default to `mimo-v2.6-pro`, with `mimo-v2.6-flash` also included.
78 V2.5 IDs remain available for existing selections. Schema version 12 appends
79 the V2.6 models once to eligible saved official V2.5 connections. It preserves
80 the current default, model order, custom rates, credential references and unknown
81 fields. Explicit custom request URLs and third-party endpoints are excluded.
82 The model additions and version marker are written atomically under the config
83 edit lock; subsequent starts do not restore models the user removes.
84
85 | Field or format | Old-data behavior | New reader | Previous schema-v11 reader | Conclusion |
86 | --- | --- | --- | --- | --- |
87 | `models`, `default`, model references | Existing V2.5 selections remain first/default | Appends V2.6 once; keeps selections | Reads and saves model IDs without switching defaults | Compatible |
88 | `config_version = 12` | Earlier versions are eligible for startup migration | Prevents repeated additions after deletion | Retains the marker when saving | Compatible |
89 | `prices`, `vision_models`, unknown fields | Preserves user rates and explicit vision choices | Extends known curated vision lists and missing V2.6 prices; preserves unknown data during migration | Reads the existing fields and canonical nested price tables | No new persisted field types |
90
91 Official references: [Token Plan](https://mimo.mi.com/docs/zh-CN/tokenplan/Token%20Plan/subscription),
92 [API pricing](https://mimo.mi.com/docs/zh-CN/price/pay-as-you-go),
93 [API rate limits](https://mimo.mi.com/docs/zh-CN/api/guidance/rate-limit).
94
95 ## Connection display names
96
97 Optional `display_name` is UI metadata; `name` remains the stable connection,
98 model-reference and credential identity. Lists, details and model pickers prefer
99 the label, falling back to the existing name when empty. New presets initialize
100 it from their title. Duplicate labels never merge connections. The field is not
101 added to requests or prompts, and renaming does not rewrite historical sessions.
102
103 | Scenario | Behavior |
104 | --- | --- |
105 | Old configuration without the field | Existing display; no migration |
106 | Current writer and restart | Label and stable references preserved |
107 | Older frontend omits displayName | Current backend preserves the label |
108 | Explicit empty string | Clears the label and restores fallback |
109 | Older application reads and rewrites config | Connection remains readable; its writer may lose the label |
110
111 Connection details offer inline title editing: Enter saves, Escape cancels, and
112 blur does not submit. The dedicated rename operation changes only the label;
113 the detail configuration editor omits that field so stale drafts cannot overwrite it.
114
115 Built-in and custom connections share the same detail editor. Built-in entries
116 provide initial defaults; protocol, endpoint, credentials and models remain
117 editable. The detail layout does not depend on creation source. Actual endpoint
118 and model metadata continue to determine service capabilities.
119
120 Model editing uses one selection list, with comma-separated IDs supported in
121 manual addition. Discovery merges candidates without changing selection or
122 saving configuration. Context overrides live in per-model settings.
123 Refreshing verifies model discovery only, not inference; no redundant check button is shown. Keys are saved
124 separately; checks and discovery do not save keys or enable models automatically.
125
126 Keys normally show status with Change and a more-actions menu for source, sharing and removal. Refresh and Add sit beside the model heading.
127
128 ### Compact connection editor
129
130 Connection fields share one aligned form. Model selection, refresh and manual additions share one toolbar. Adding and editing models share a modal with context-window and output-token overrides. Text input/output are fixed; image input can be overridden or restored to automatic detection. Video and PDF remain unavailable until the request pipeline supports them. Applying the modal updates the configuration draft; saving the connection persists it. Connection identity and the footer occupy fixed layout slots; navigation and configuration content scroll independently without an additional model-list scroller. The save footer distinguishes clean and unsaved states, and failed saves retain the draft. Credentials remain independently saved.
131
132 With the frontend running, `/dev/provider-layout-preview.html` provides an isolated preview using the production components and in-memory data; it never writes real connections or credentials. See root `design-qa.md` for visual verification.
133
134 ### AMD GPU Cloud
135
136 Added independently maintained preset `amd-gpu-cloud`, OpenAI Chat Completions,
137 base URL `https://developer.amd.com.cn/radeon/v1`, and case-sensitive model IDs
138 from Cherry Studio's registry:
139 https://github.com/CherryHQ/cherry-studio/blob/main/packages/provider-registry/src/providers/radeon-cloud.ts
140
141 API key/account portal: https://developer.amd.com.cn/radeon/tokenfactory
142 Model availability and promotional quotas are account-dependent; refresh models
143 after connecting. No live authenticated AMD request was performed.
144 AMD icon is from Simple Icons (CC0), https://github.com/simple-icons/simple-icons/blob/develop/icons/amd.svg;
145 the AMD trademark remains its owner's property.
146
147 ### Additional inference platforms
148
149 Added eight brands: Doubao (Chat/Responses), Baidu Qianfan, PPIO,
150 Qiniu, xAI (Chat/Responses), Cerebras, Together, Fireworks
151 (Chat/Anthropic/Responses). These twelve editable route templates share brand
152 identity across protocols. Adding a template still creates an independent connection.
153
154 Sources checked against Cherry Studio's provider registry:
155 https://github.com/CherryHQ/cherry-studio/tree/main/packages/provider-registry/src/providers
156 Also: https://docs.fireworks.ai/tools-sdks/openai-compatibility
157 https://docs.fireworks.ai/getting-started/quickstart
158 https://docs.fireworks.ai/guides/response-api
159 https://docs.together.ai/docs/inference/openai-compatibility
160 https://cloud.baidu.com/doc/qianfan/s/rmh4stp0j
161 https://models.dev/api.json (Cerebras, xAI, Qiniu model identifiers).
162
163 Defaults are starting points; account access can vary. Web search is off and
164 no unverified reasoning overrides are added. These are protocol presets, not
165 certification of every model's agent/tool/reasoning capabilities. Model discovery,
166 tool calls and thinking require authenticated platform verification; none was
167 performed in this batch. Icons use the existing pinned LobeHub MIT source.
168
168 lines MARKDOWN