feat(claude-desktop): add 44 provider presets translated from Claude Code

- New src/config/claudeDesktopProviderPresets.ts with the Claude Code
  preset list re-shaped into Desktop's three-segment route format
  (routeId / upstreamModel / displayName); excludes OAuth providers,
  AWS Bedrock (no SigV4 support) and KAT-Coder (placeholder URL).
- Non-Claude upstream presets show upstream model id as displayName
  (e.g. deepseek-v4-pro) so the Desktop model list reflects what is
  actually being requested. OpenRouter/TheRouter/PIPELLM keep
  Sonnet/Opus/Haiku since their upstream really is Anthropic Claude.
- Wire ProviderPresetSelector into ClaudeDesktopProviderForm so
  selecting a preset back-fills baseUrl, mode, routes and apiFormat.
- Drop the hard-coded ANTHROPIC_AUTH_TOKEN write in handleSubmit so
  ANTHROPIC_API_KEY presets (LemonData / AiHubMix / Gemini Native)
  save under the correct env key, and clear the opposite key on switch.
- Hide the universal-providers tab for claude-desktop because its
  meta-driven routing has no analogue in the universal flat-env shape.
- Add apps."claude-desktop" i18n key (zh/en/ja) so the dialog tab
  label resolves instead of showing the literal key.
This commit is contained in:
Jason
2026-05-09 17:19:09 +08:00
parent 292c117509
commit 5bbd83f7ca
7 changed files with 996 additions and 14 deletions
+1
View File
@@ -698,6 +698,7 @@
"apps": {
"claude": "Claude",
"claudeDesktop": "Claude Desktop",
"claude-desktop": "Claude Desktop",
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode",
+1
View File
@@ -698,6 +698,7 @@
"apps": {
"claude": "Claude",
"claudeDesktop": "Claude Desktop",
"claude-desktop": "Claude Desktop",
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode",
+1
View File
@@ -698,6 +698,7 @@
"apps": {
"claude": "Claude",
"claudeDesktop": "Claude Desktop",
"claude-desktop": "Claude Desktop",
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode",