| 1 | package config |
| 2 | |
| 3 | // These presets are independently maintained from providers' public API docs. |
| 4 | // See docs/PROVIDER_CATALOG.md for sources. Catalogs are editable starting points, |
| 5 | // not a claim that every account has access to every listed model. |
| 6 | var extendedProviderPresets = []ProviderPreset{ |
| 7 | newCatalogPreset("doubao-chat", "火山引擎 / 豆包", "DOUBAO_API_KEY", "openai", "https://ark.cn-beijing.volces.com/api/v3", "doubao-seed-2-1-pro-260628"), |
| 8 | newCatalogPreset("doubao-responses", "火山引擎 / 豆包", "DOUBAO_API_KEY", "responses", "https://ark.cn-beijing.volces.com/api/v3", "doubao-seed-2-1-pro-260628"), |
| 9 | newCatalogPreset("baidu-cloud", "百度智能云 / 千帆", "BAIDU_API_KEY", "openai", "https://qianfan.baidubce.com/v2", "ernie-4.5-turbo-128k"), |
| 10 | newCatalogPreset("ppio", "PPIO / 派欧云", "PPIO_API_KEY", "openai", "https://api.ppio.com/openai", "deepseek/deepseek-v3.2"), |
| 11 | newCatalogPreset("qiniu", "七牛云", "QINIU_API_KEY", "openai", "https://api.qnaigc.com/v1", "deepseek-v3"), |
| 12 | newCatalogPreset("xai-chat", "xAI / Grok", "XAI_API_KEY", "openai", "https://api.x.ai/v1", "grok-4.3"), |
| 13 | newCatalogPreset("xai-responses", "xAI / Grok", "XAI_API_KEY", "responses", "https://api.x.ai/v1", "grok-4.3"), |
| 14 | newCatalogPreset("cerebras", "Cerebras", "CEREBRAS_API_KEY", "openai", "https://api.cerebras.ai/v1", "gpt-oss-120b"), |
| 15 | newCatalogPreset("together", "Together AI", "TOGETHER_API_KEY", "openai", "https://api.together.ai/v1", "moonshotai/Kimi-K2.6"), |
| 16 | newCatalogPreset("fireworks-chat", "Fireworks AI", "FIREWORKS_API_KEY", "openai", "https://api.fireworks.ai/inference/v1", "accounts/fireworks/models/deepseek-v3p1"), |
| 17 | newCatalogPreset("fireworks-anthropic", "Fireworks AI", "FIREWORKS_API_KEY", "anthropic", "https://api.fireworks.ai/inference", "accounts/fireworks/models/deepseek-v3p1"), |
| 18 | newCatalogPreset("fireworks-responses", "Fireworks AI", "FIREWORKS_API_KEY", "responses", "https://api.fireworks.ai/inference/v1", "accounts/fireworks/models/qwen3-235b-a22b"), |
| 19 | |
| 20 | newCatalogPreset("amd-gpu-cloud", "AMD GPU Cloud", "AMD_GPU_CLOUD_API_KEY", "openai", "https://developer.amd.com.cn/radeon/api/v1", "DeepSeek-V4-Flash", "DeepSeek-V4-Pro", "Qwen3.6-35B-A3B", "GLM-5.1", "GLM-5.2", "gpt-oss-120b", "Kimi-K2.6"), |
| 21 | {ID: "deepseek-chat", Label: "DeepSeek Chat Completions", KeyEnv: "DEEPSEEK_API_KEY", |
| 22 | Description: "Official DeepSeek Chat Completions API.", |
| 23 | Entries: []ProviderEntry{{Name: "deepseek-chat", Kind: "openai", BaseURL: "https://api.deepseek.com/v1", APIKeyEnv: "DEEPSEEK_API_KEY", Models: deepSeekOfficialModels, Default: "deepseek-v4-flash", ContextWindow: 1_000_000, Prices: deepSeekV4PricesUSD(), ModelOverrides: deepSeekV4EffortOverrides(), WebSearch: boolPointer(false)}}, |
| 24 | }, |
| 25 | newCatalogPreset("openai-responses", "OpenAI", "OPENAI_API_KEY", "responses", "https://api.openai.com/v1", "gpt-4.1"), |
| 26 | newCatalogPreset("openai-chat", "OpenAI", "OPENAI_API_KEY", "openai", "https://api.openai.com/v1", "gpt-4.1"), |
| 27 | newCatalogPreset("anthropic", "Anthropic", "ANTHROPIC_API_KEY", "anthropic", "https://api.anthropic.com", "claude-sonnet-4-5"), |
| 28 | newCatalogPreset("gemini", "Google Gemini", "GEMINI_API_KEY", "openai", "https://generativelanguage.googleapis.com/v1beta/openai", "gemini-2.5-flash"), |
| 29 | newCatalogPreset("siliconflow", "SiliconFlow", "SILICONFLOW_API_KEY", "openai", "https://api.siliconflow.cn/v1", "deepseek-ai/DeepSeek-V3.2"), |
| 30 | newCatalogPreset("openrouter", "OpenRouter", "OPENROUTER_API_KEY", "openai", "https://openrouter.ai/api/v1", "openai/gpt-4.1"), |
| 31 | newCatalogPreset("groq", "Groq", "GROQ_API_KEY", "openai", "https://api.groq.com/openai/v1", "llama-3.3-70b-versatile"), |
| 32 | newCatalogPreset("mistral", "Mistral AI", "MISTRAL_API_KEY", "openai", "https://api.mistral.ai/v1", "mistral-small-latest"), |
| 33 | newCatalogPreset("ollama-local", "Ollama", "OLLAMA_LOCAL_API_KEY", "openai", "http://localhost:11434/v1", "qwen3:8b"), |
| 34 | newCatalogPreset("lmstudio", "LM Studio", "LM_STUDIO_API_KEY", "openai", "http://localhost:1234/v1", "qwen3-8b"), |
| 35 | } |
| 36 | |
| 37 | func newCatalogPreset(id, label, keyEnv, kind, baseURL string, models ...string) ProviderPreset { |
| 38 | return ProviderPreset{ID: id, Label: label, KeyEnv: keyEnv, |
| 39 | Description: label + " API. Fetch or edit models for your account after connecting.", |
| 40 | Entries: []ProviderEntry{{Name: id, Kind: kind, BaseURL: baseURL, APIKeyEnv: keyEnv, |
| 41 | Models: models, Default: models[0], WebSearch: boolPointer(false)}}, |
| 42 | } |
| 43 | } |
| 44 | |
| 45 | func init() { |
| 46 | curatedProviderPresets = append(curatedProviderPresets, extendedProviderPresets...) |
| 47 | } |
| 48 |