Add SubRouter provider presets (#4522)

Co-authored-by: abingyyds <abingyyds@gmail.com>
This commit is contained in:
abing|web3.club
2026-06-26 23:30:52 +08:00
committed by GitHub
parent 8a91428b71
commit 430ddf92bd
15 changed files with 334 additions and 0 deletions
+2
View File
@@ -18,6 +18,7 @@ import _pipellm from "./pipellm.png";
import _relaxcode from "./relaxcode.png";
import _runapi from "./runapi.jpg";
import _shengsuanyun from "./shengsuanyun.svg?url";
import _subrouter from "./subrouter.svg?url";
import _sudocode from "./sudocode.png";
import _unity2 from "./unity2.png";
@@ -111,6 +112,7 @@ export const iconUrls: Record<string, string> = {
relaxcode: _relaxcode,
runapi: _runapi,
shengsuanyun: _shengsuanyun,
subrouter: _subrouter,
sudocode: _sudocode,
unity2: _unity2,
};
+16
View File
@@ -140,6 +140,22 @@ export const iconMetadata: Record<string, IconMetadata> = {
keywords: ["ccsub", "aggregator", "relay", "claude", "codex", "gateway"],
defaultColor: "#1E88E5",
},
subrouter: {
name: "subrouter",
displayName: "SubRouter",
category: "ai-provider",
keywords: [
"subrouter",
"subrouter.ai",
"aggregator",
"relay",
"claude",
"codex",
"gemini",
"gateway",
],
defaultColor: "#0D9488",
},
chatglm: {
name: "chatglm",
displayName: "chatglm",
+30
View File
@@ -0,0 +1,30 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" fill="none">
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#0d9488;stop-opacity:1" />
<stop offset="50%" style="stop-color:#14b8a6;stop-opacity:1" />
<stop offset="100%" style="stop-color:#f59e0b;stop-opacity:1" />
</linearGradient>
</defs>
<rect width="200" height="200" rx="40" fill="url(#grad1)"/>
<g transform="translate(100,100)">
<!-- Primary routing path: top-left to bottom-right -->
<path d="M-50,-50 C-50,-10 -10,-10 0,0 C10,10 50,10 50,50"
stroke="white" stroke-width="6" stroke-linecap="round" fill="none" opacity="0.95"/>
<!-- Secondary routing path: top-right to bottom-left -->
<path d="M50,-50 C50,-10 10,-10 0,0 C-10,10 -50,10 -50,50"
stroke="white" stroke-width="6" stroke-linecap="round" fill="none" opacity="0.95"/>
<!-- Central intersection node -->
<circle cx="0" cy="0" r="10" fill="white" opacity="0.95"/>
<!-- Endpoint dots -->
<circle cx="-50" cy="-50" r="6" fill="white" opacity="0.7"/>
<circle cx="50" cy="-50" r="6" fill="white" opacity="0.7"/>
<circle cx="-50" cy="50" r="6" fill="white" opacity="0.7"/>
<circle cx="50" cy="50" r="6" fill="white" opacity="0.7"/>
<!-- Flow indicators -->
<circle cx="-28" cy="-28" r="3.5" fill="white" opacity="0.5"/>
<circle cx="28" cy="-28" r="3.5" fill="white" opacity="0.5"/>
<circle cx="-28" cy="28" r="3.5" fill="white" opacity="0.5"/>
<circle cx="28" cy="28" r="3.5" fill="white" opacity="0.5"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB