mirror of
https://github.com/Nezumi-2711/9router.git
synced 2026-09-22 13:38:31 +00:00
refactor(registry): B2 migrate to LiteLLM-style schema — unified models[] with kind field
- 71 registry files: flat `media.*Config.models` → `models[]` with `kind` field - `media` wrapper removed → serviceKinds, *Config fields promoted top-level - `type` field renamed to `kind` (llm/image/tts/stt/embedding/embedding/video/music) - providers/index.js: PROVIDER_MEDIA now built from flat top-level media fields - shared/constants/providers.js: buildProviderEntry reads flat top-level media fields - route /v1/models: modelKind() uses kind||type; removed subConfig merge block - models/info route: removed sub-config fallback lookup (all models in PROVIDER_MODELS) - ttsProviders/index.js: synthesizeViaConfig reads tts models from PROVIDER_MODELS - test-models route, helpers.js, validate route: kind||type compat - Baselines: PROVIDERS 62/62 ✅, Alias 90/90 ✅ Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,86 +1,53 @@
|
||||
|
||||
export default {
|
||||
"id": "qoder",
|
||||
"alias": "qd",
|
||||
id: "qoder",
|
||||
alias: "qd",
|
||||
uiAlias: "qd",
|
||||
display: {
|
||||
"name": "Qoder",
|
||||
"icon": "water_drop",
|
||||
"color": "#EC4899",
|
||||
"website": "https://qoder.com",
|
||||
"notice": {
|
||||
"signupUrl": "https://qoder.com"
|
||||
},
|
||||
"deprecated": true,
|
||||
"deprecationNotice": "RISK_NOTICE"
|
||||
name: "Qoder",
|
||||
icon: "water_drop",
|
||||
color: "#EC4899",
|
||||
website: "https://qoder.com",
|
||||
notice: {
|
||||
signupUrl: "https://qoder.com",
|
||||
},
|
||||
deprecated: true,
|
||||
deprecationNotice: "RISK_NOTICE",
|
||||
},
|
||||
category: "free",
|
||||
uiAlias: "qd",
|
||||
"transport": {
|
||||
"baseUrl": "https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",
|
||||
"headers": {},
|
||||
"timeoutMs": 120000,
|
||||
"stallTimeoutMs": 120000,
|
||||
usage: { url: "https://openapi.qoder.sh/api/v2/quota/usage" }
|
||||
transport: {
|
||||
baseUrl: "https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",
|
||||
headers: {},
|
||||
timeoutMs: 120000,
|
||||
stallTimeoutMs: 120000,
|
||||
usage: {
|
||||
url: "https://openapi.qoder.sh/api/v2/quota/usage",
|
||||
},
|
||||
},
|
||||
"oauth": {
|
||||
"openApiBaseUrl": "https://openapi.qoder.sh",
|
||||
"centerBaseUrl": "https://center.qoder.sh",
|
||||
"chatBaseUrl": "https://api3.qoder.sh",
|
||||
"deviceTokenUrl": "https://openapi.qoder.sh/api/v1/deviceToken/poll",
|
||||
"refreshUrl": "https://center.qoder.sh/algo/api/v3/user/refresh_token",
|
||||
"userInfoUrl": "https://openapi.qoder.sh/api/v1/userinfo",
|
||||
"quotaUsageUrl": "https://openapi.qoder.sh/api/v2/quota/usage",
|
||||
"loginUrl": "https://qoder.com/device/selectAccounts"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "auto",
|
||||
"name": "Qoder Auto"
|
||||
},
|
||||
{
|
||||
"id": "ultimate",
|
||||
"name": "Qoder Ultimate"
|
||||
},
|
||||
{
|
||||
"id": "performance",
|
||||
"name": "Qoder Performance"
|
||||
},
|
||||
{
|
||||
"id": "efficient",
|
||||
"name": "Qoder Efficient"
|
||||
},
|
||||
{
|
||||
"id": "lite",
|
||||
"name": "Qoder Lite"
|
||||
},
|
||||
{
|
||||
"id": "qmodel",
|
||||
"name": "Qwen 3.6 Plus (Qoder)"
|
||||
},
|
||||
{
|
||||
"id": "qmodel_latest",
|
||||
"name": "Qoder Qwen 3.7 Max"
|
||||
},
|
||||
{
|
||||
"id": "dmodel",
|
||||
"name": "DeepSeek V4 Pro (Qoder)"
|
||||
},
|
||||
{
|
||||
"id": "dfmodel",
|
||||
"name": "DeepSeek V4 Flash (Qoder)"
|
||||
},
|
||||
{
|
||||
"id": "gm51model",
|
||||
"name": "GLM 5.1 (Qoder)"
|
||||
},
|
||||
{
|
||||
"id": "kmodel",
|
||||
"name": "Kimi K2.6 (Qoder)"
|
||||
},
|
||||
{
|
||||
"id": "mmodel",
|
||||
"name": "MiniMax M2.7 (Qoder)"
|
||||
}
|
||||
models: [
|
||||
{ id: "auto", name: "Qoder Auto" },
|
||||
{ id: "ultimate", name: "Qoder Ultimate" },
|
||||
{ id: "performance", name: "Qoder Performance" },
|
||||
{ id: "efficient", name: "Qoder Efficient" },
|
||||
{ id: "lite", name: "Qoder Lite" },
|
||||
{ id: "qmodel", name: "Qwen 3.6 Plus (Qoder)" },
|
||||
{ id: "qmodel_latest", name: "Qoder Qwen 3.7 Max" },
|
||||
{ id: "dmodel", name: "DeepSeek V4 Pro (Qoder)" },
|
||||
{ id: "dfmodel", name: "DeepSeek V4 Flash (Qoder)" },
|
||||
{ id: "gm51model", name: "GLM 5.1 (Qoder)" },
|
||||
{ id: "kmodel", name: "Kimi K2.6 (Qoder)" },
|
||||
{ id: "mmodel", name: "MiniMax M2.7 (Qoder)" },
|
||||
],
|
||||
features: {"usage":true},
|
||||
oauth: {
|
||||
openApiBaseUrl: "https://openapi.qoder.sh",
|
||||
centerBaseUrl: "https://center.qoder.sh",
|
||||
chatBaseUrl: "https://api3.qoder.sh",
|
||||
deviceTokenUrl: "https://openapi.qoder.sh/api/v1/deviceToken/poll",
|
||||
refreshUrl: "https://center.qoder.sh/algo/api/v3/user/refresh_token",
|
||||
userInfoUrl: "https://openapi.qoder.sh/api/v1/userinfo",
|
||||
quotaUsageUrl: "https://openapi.qoder.sh/api/v2/quota/usage",
|
||||
loginUrl: "https://qoder.com/device/selectAccounts",
|
||||
},
|
||||
features: {
|
||||
usage: true,
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user