feat(presets): add Qiniu (七牛云) provider preset for all apps

Add the Qiniu Cloud AI gateway (api.qnaigc.com primary, api.modelink.ai
overseas mirror) as a partner aggregator preset across Claude Code, Claude
Desktop, Codex, Gemini, OpenCode, OpenClaw, and Hermes.

Qiniu relays native Claude/GPT/Gemini, so Claude Code/Codex pass through
native models (no domestic-model pinning); the OpenAI-compatible apps
default to gpt-5.5.

- Claude / Claude Desktop: Anthropic-compatible bare host, native passthrough
- Codex: native Responses at /bypass/openai/v1, gpt-5.5
- Gemini: gemini-3.1-pro-preview via /bypass/vertex
- OpenCode / OpenClaw / Hermes: gpt-5.5 over OpenAI-compatible /v1
- Localized display name via nameKey + partner promotion blurb in zh/en/ja/zh-TW
- Register qiniu.png icon (URL import + iconUrls + metadata)
This commit is contained in:
Jason
2026-06-29 15:51:21 +08:00
parent 64a94ba3f7
commit 3476707321
14 changed files with 189 additions and 0 deletions
@@ -184,6 +184,21 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
partnerPromotionKey: "patewayai",
icon: "pateway",
},
{
name: "Qiniu",
nameKey: "providerForm.presets.qiniu",
websiteUrl: "https://s.qiniu.com/nMvAvy",
apiKeyUrl: "https://s.qiniu.com/nMvAvy",
category: "aggregator",
baseUrl: "https://api.qnaigc.com",
mode: "direct",
apiFormat: "anthropic",
modelRoutes: passthroughRoutes(),
endpointCandidates: ["https://api.qnaigc.com", "https://api.modelink.ai"],
isPartner: true,
partnerPromotionKey: "qiniu",
icon: "qiniu",
},
{
name: "火山Agentplan",
websiteUrl: "https://www.volcengine.com/product/ark",
+17
View File
@@ -236,6 +236,23 @@ export const providerPresets: ProviderPreset[] = [
partnerPromotionKey: "unity2",
icon: "unity2",
},
{
name: "Qiniu",
nameKey: "providerForm.presets.qiniu",
websiteUrl: "https://s.qiniu.com/nMvAvy",
apiKeyUrl: "https://s.qiniu.com/nMvAvy",
settingsConfig: {
env: {
ANTHROPIC_BASE_URL: "https://api.qnaigc.com",
ANTHROPIC_AUTH_TOKEN: "",
},
},
endpointCandidates: ["https://api.qnaigc.com", "https://api.modelink.ai"],
category: "aggregator",
isPartner: true,
partnerPromotionKey: "qiniu",
icon: "qiniu",
},
{
name: "Gemini Native",
websiteUrl: "https://ai.google.dev/gemini-api",
+20
View File
@@ -280,6 +280,26 @@ export const codexProviderPresets: CodexProviderPreset[] = [
partnerPromotionKey: "unity2",
icon: "unity2",
},
{
name: "Qiniu",
nameKey: "providerForm.presets.qiniu",
websiteUrl: "https://s.qiniu.com/nMvAvy",
apiKeyUrl: "https://s.qiniu.com/nMvAvy",
category: "aggregator",
auth: generateThirdPartyAuth(""),
config: generateThirdPartyConfig(
"qiniu",
"https://api.qnaigc.com/bypass/openai/v1",
"gpt-5.5",
),
endpointCandidates: [
"https://api.qnaigc.com/bypass/openai/v1",
"https://api.modelink.ai/bypass/openai/v1",
],
isPartner: true,
partnerPromotionKey: "qiniu",
icon: "qiniu",
},
{
name: "Azure OpenAI",
websiteUrl:
+23
View File
@@ -107,6 +107,29 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
endpointCandidates: ["https://subrouter.ai/v1beta"],
icon: "subrouter",
},
{
name: "Qiniu",
nameKey: "providerForm.presets.qiniu",
websiteUrl: "https://s.qiniu.com/nMvAvy",
apiKeyUrl: "https://s.qiniu.com/nMvAvy",
settingsConfig: {
env: {
GOOGLE_GEMINI_BASE_URL: "https://api.qnaigc.com/bypass/vertex",
GEMINI_MODEL: "gemini-3.1-pro-preview",
},
},
baseURL: "https://api.qnaigc.com/bypass/vertex",
model: "gemini-3.1-pro-preview",
description: "Qiniu",
category: "aggregator",
isPartner: true,
partnerPromotionKey: "qiniu",
endpointCandidates: [
"https://api.qnaigc.com/bypass/vertex",
"https://api.modelink.ai/bypass/vertex",
],
icon: "qiniu",
},
{
name: "PackyCode",
websiteUrl: "https://www.packyapi.com",
+20
View File
@@ -149,6 +149,26 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
model: { default: "openai/gpt-5.5", provider: "shengsuanyun" },
},
},
{
name: "Qiniu",
nameKey: "providerForm.presets.qiniu",
websiteUrl: "https://s.qiniu.com/nMvAvy",
apiKeyUrl: "https://s.qiniu.com/nMvAvy",
settingsConfig: {
name: "qiniu",
base_url: "https://api.qnaigc.com/v1",
api_key: "",
api_mode: "chat_completions",
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
},
category: "aggregator",
isPartner: true,
partnerPromotionKey: "qiniu",
icon: "qiniu",
suggestedDefaults: {
model: { default: "gpt-5.5", provider: "qiniu" },
},
},
{
name: "火山Agentplan",
websiteUrl: "https://www.volcengine.com/product/ark",
+37
View File
@@ -327,6 +327,43 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
},
},
},
{
name: "Qiniu",
nameKey: "providerForm.presets.qiniu",
websiteUrl: "https://s.qiniu.com/nMvAvy",
apiKeyUrl: "https://s.qiniu.com/nMvAvy",
settingsConfig: {
baseUrl: "https://api.qnaigc.com/v1",
apiKey: "",
api: "openai-completions",
models: [
{
id: "gpt-5.5",
name: "GPT-5.5",
contextWindow: 400000,
},
],
},
category: "aggregator",
isPartner: true,
partnerPromotionKey: "qiniu",
icon: "qiniu",
templateValues: {
apiKey: {
label: "API Key",
placeholder: "",
editorValue: "",
},
},
suggestedDefaults: {
model: {
primary: "qiniu/gpt-5.5",
},
modelCatalog: {
"qiniu/gpt-5.5": { alias: "GPT-5.5" },
},
},
},
{
name: "Unity2.ai",
websiteUrl: "https://unity2.ai",
+29
View File
@@ -309,6 +309,35 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
},
},
},
{
name: "Qiniu",
nameKey: "providerForm.presets.qiniu",
websiteUrl: "https://s.qiniu.com/nMvAvy",
apiKeyUrl: "https://s.qiniu.com/nMvAvy",
settingsConfig: {
npm: "@ai-sdk/openai-compatible",
name: "Qiniu",
options: {
baseURL: "https://api.qnaigc.com/v1",
apiKey: "",
setCacheKey: true,
},
models: {
"gpt-5.5": { name: "GPT-5.5" },
},
},
category: "aggregator",
isPartner: true,
partnerPromotionKey: "qiniu",
icon: "qiniu",
templateValues: {
apiKey: {
label: "API Key",
placeholder: "",
editorValue: "",
},
},
},
{
name: "火山Agentplan",
websiteUrl: "https://www.volcengine.com/product/ark",