mirror of
https://github.com/Nezumi-2711/9router.git
synced 2026-09-22 20:00:47 +00:00
- streamingHandler: when upstream returns non-SSE/JSON (e.g. Cloudflare 5xx HTML), read body, sanitize <title>, notify streamController and return a clean JSON error instead of crashing the pipe. - connectionsRepo: dedup OAuth connections on (email + username) so cross-IdP accounts sharing an email no longer overwrite each other; workspace providers keep workspace-id matching. - kimchi: bump User-Agent to 0.1.50, add svg asset + browser-login service, and 21 unit tests. Co-authored-by: Cursor <cursoragent@cursor.com>
50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
export default {
|
|
id: "kimchi",
|
|
priority: 95,
|
|
alias: "kimchi",
|
|
uiAlias: "kimchi",
|
|
display: {
|
|
name: "Kimchi",
|
|
icon: "restaurant",
|
|
color: "#FF521D",
|
|
textIcon: "KC",
|
|
website: "https://kimchi.dev",
|
|
notice: {
|
|
signupUrl: "https://app.kimchi.dev",
|
|
},
|
|
},
|
|
category: "oauth",
|
|
authModes: ["oauth"],
|
|
hasOAuth: true,
|
|
transport: {
|
|
baseUrl: "https://llm.kimchi.dev/openai/v1/chat/completions",
|
|
format: "openai",
|
|
headers: {
|
|
"User-Agent": "kimchi/0.1.50",
|
|
},
|
|
auth: {
|
|
combined: true,
|
|
header: "Authorization",
|
|
scheme: "bearer",
|
|
},
|
|
},
|
|
models: [
|
|
{ id: "minimax-m3", name: "MiniMax-M3" },
|
|
{ id: "kimi-k2.7", name: "Kimi-K2.7" },
|
|
{ id: "kimi-k2.6", name: "Kimi-K2.6" },
|
|
{ id: "kimi-k2.5", name: "Kimi-K2.5" },
|
|
{ id: "nemotron-3-ultra-fp4", name: "Nemotron 3 Ultra FP4" },
|
|
{ id: "minimax-m2.7", name: "MiniMax-M2.7" },
|
|
{ id: "claude-opus-4-6", name: "Claude Opus 4.6" },
|
|
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
|
],
|
|
serviceKinds: ["llm", "imageToText"],
|
|
oauth: {
|
|
webAppUrl: "https://app.kimchi.dev",
|
|
validationUrl: "https://api.cast.ai/v1/llm/openai/supported-providers",
|
|
userInfoUrl: "https://app.kimchi.dev/api/v1/me",
|
|
modelsUrl: "https://llm.kimchi.dev/v1/models/metadata?include_in_cli=true",
|
|
},
|
|
passthroughModels: true,
|
|
};
|