mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-24 12:44:18 +08:00
26be9324dd
Replace the inline Kimi placeholder mark with the vendor's refreshed logo. The K glyph uses `currentColor` so it follows the theme text color (dark in light mode, white in dark mode), while the brand accent dot is pinned to the new #1783FF. Align the metadata fallback color accordingly.
597 lines
13 KiB
TypeScript
597 lines
13 KiB
TypeScript
// Icon metadata for search and categorization
|
|
import { IconMetadata } from "@/types/icon";
|
|
|
|
export const iconMetadata: Record<string, IconMetadata> = {
|
|
aigocode: {
|
|
name: "aigocode",
|
|
displayName: "AIGoCode",
|
|
category: "ai-provider",
|
|
keywords: ["aigocode", "aigo", "code", "third-party"],
|
|
defaultColor: "#5B7FFF",
|
|
},
|
|
apikeyfun: {
|
|
name: "apikeyfun",
|
|
displayName: "APIKEY.FUN",
|
|
category: "ai-provider",
|
|
keywords: [
|
|
"apikeyfun",
|
|
"api key",
|
|
"gateway",
|
|
"relay",
|
|
"claude",
|
|
"codex",
|
|
"gemini",
|
|
],
|
|
defaultColor: "#9C3F00",
|
|
},
|
|
apinebula: {
|
|
name: "apinebula",
|
|
displayName: "APINebula",
|
|
category: "ai-provider",
|
|
keywords: [
|
|
"apinebula",
|
|
"api nebula",
|
|
"gateway",
|
|
"relay",
|
|
"claude",
|
|
"codex",
|
|
"gemini",
|
|
],
|
|
defaultColor: "#C86F49",
|
|
},
|
|
atlascloud: {
|
|
name: "atlascloud",
|
|
displayName: "AtlasCloud",
|
|
category: "ai-provider",
|
|
keywords: [
|
|
"atlascloud",
|
|
"atlas cloud",
|
|
"coding plan",
|
|
"openai",
|
|
"anthropic",
|
|
"codex",
|
|
"claude",
|
|
],
|
|
defaultColor: "#111111",
|
|
},
|
|
sudocode: {
|
|
name: "sudocode",
|
|
displayName: "SudoCode",
|
|
category: "ai-provider",
|
|
keywords: [
|
|
"sudocode",
|
|
"sudo code",
|
|
"gateway",
|
|
"relay",
|
|
"claude",
|
|
"codex",
|
|
"gemini",
|
|
"openclaw",
|
|
],
|
|
defaultColor: "#111111",
|
|
},
|
|
alibaba: {
|
|
name: "alibaba",
|
|
displayName: "Alibaba",
|
|
category: "ai-provider",
|
|
keywords: ["qwen", "tongyi"],
|
|
defaultColor: "#FF6A00",
|
|
},
|
|
anthropic: {
|
|
name: "anthropic",
|
|
displayName: "Anthropic",
|
|
category: "ai-provider",
|
|
keywords: ["claude"],
|
|
defaultColor: "#D4915D",
|
|
},
|
|
aws: {
|
|
name: "aws",
|
|
displayName: "AWS",
|
|
category: "cloud",
|
|
keywords: ["amazon", "cloud"],
|
|
defaultColor: "#FF9900",
|
|
},
|
|
azure: {
|
|
name: "azure",
|
|
displayName: "Azure",
|
|
category: "cloud",
|
|
keywords: ["microsoft", "cloud"],
|
|
defaultColor: "#0078D4",
|
|
},
|
|
baidu: {
|
|
name: "baidu",
|
|
displayName: "Baidu",
|
|
category: "ai-provider",
|
|
keywords: ["ernie", "wenxin"],
|
|
defaultColor: "#2932E1",
|
|
},
|
|
bailian: {
|
|
name: "bailian",
|
|
displayName: "Bailian",
|
|
category: "ai-provider",
|
|
keywords: ["bailian", "dashscope", "aliyun", "alibaba"],
|
|
defaultColor: "#624AFF",
|
|
},
|
|
bytedance: {
|
|
name: "bytedance",
|
|
displayName: "bytedance",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
huoshan: {
|
|
name: "huoshan",
|
|
displayName: "火山方舟",
|
|
category: "ai-provider",
|
|
keywords: ["huoshan", "volcengine", "ark", "agentplan", "byteplus"],
|
|
defaultColor: "#3370FF",
|
|
},
|
|
byteplus: {
|
|
name: "byteplus",
|
|
displayName: "BytePlus",
|
|
category: "ai-provider",
|
|
keywords: ["byteplus", "volcengine", "ark", "modelark"],
|
|
defaultColor: "#3370FF",
|
|
},
|
|
ccsub: {
|
|
name: "ccsub",
|
|
displayName: "CCSub",
|
|
category: "ai-provider",
|
|
keywords: ["ccsub", "aggregator", "relay", "claude", "codex", "gateway"],
|
|
defaultColor: "#1E88E5",
|
|
},
|
|
chatglm: {
|
|
name: "chatglm",
|
|
displayName: "chatglm",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
claude: {
|
|
name: "claude",
|
|
displayName: "Claude",
|
|
category: "ai-provider",
|
|
keywords: ["anthropic"],
|
|
defaultColor: "#D4915D",
|
|
},
|
|
cherryin: {
|
|
name: "cherryin",
|
|
displayName: "CherryIN",
|
|
category: "ai-provider",
|
|
keywords: [
|
|
"cherryin",
|
|
"cherry",
|
|
"gateway",
|
|
"relay",
|
|
"newapi",
|
|
"claude",
|
|
"codex",
|
|
],
|
|
defaultColor: "#FB6354",
|
|
},
|
|
claudeapi: {
|
|
name: "claudeapi",
|
|
displayName: "ClaudeAPI",
|
|
category: "ai-provider",
|
|
keywords: ["claudeapi", "claude", "anthropic", "bedrock"],
|
|
},
|
|
claudecn: {
|
|
name: "claudecn",
|
|
displayName: "ClaudeCN",
|
|
category: "ai-provider",
|
|
keywords: ["claudecn", "claude", "enterprise"],
|
|
},
|
|
cloudflare: {
|
|
name: "cloudflare",
|
|
displayName: "Cloudflare",
|
|
category: "cloud",
|
|
keywords: ["cloudflare", "cdn"],
|
|
defaultColor: "#F38020",
|
|
},
|
|
cohere: {
|
|
name: "cohere",
|
|
displayName: "Cohere",
|
|
category: "ai-provider",
|
|
keywords: ["cohere"],
|
|
defaultColor: "#39594D",
|
|
},
|
|
copilot: {
|
|
name: "copilot",
|
|
displayName: "copilot",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
etok: {
|
|
name: "etok",
|
|
displayName: "ETok",
|
|
category: "ai-provider",
|
|
keywords: ["etok", "ai", "programming"],
|
|
defaultColor: "#F97316",
|
|
},
|
|
cubence: {
|
|
name: "cubence",
|
|
displayName: "Cubence",
|
|
category: "ai-provider",
|
|
keywords: ["cubence", "api", "relay"],
|
|
defaultColor: "#4B5563",
|
|
},
|
|
deepseek: {
|
|
name: "deepseek",
|
|
displayName: "DeepSeek",
|
|
category: "ai-provider",
|
|
keywords: ["deep", "seek"],
|
|
defaultColor: "#1E88E5",
|
|
},
|
|
doubao: {
|
|
name: "doubao",
|
|
displayName: "doubao",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
gemini: {
|
|
name: "gemini",
|
|
displayName: "Gemini",
|
|
category: "ai-provider",
|
|
keywords: ["google"],
|
|
defaultColor: "#4285F4",
|
|
},
|
|
gemma: {
|
|
name: "gemma",
|
|
displayName: "gemma",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
github: {
|
|
name: "github",
|
|
displayName: "GitHub",
|
|
category: "tool",
|
|
keywords: ["git", "version control"],
|
|
defaultColor: "#181717",
|
|
},
|
|
githubcopilot: {
|
|
name: "githubcopilot",
|
|
displayName: "githubcopilot",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
google: {
|
|
name: "google",
|
|
displayName: "Google",
|
|
category: "ai-provider",
|
|
keywords: ["gemini", "bard"],
|
|
defaultColor: "#4285F4",
|
|
},
|
|
googlecloud: {
|
|
name: "googlecloud",
|
|
displayName: "googlecloud",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
grok: {
|
|
name: "grok",
|
|
displayName: "grok",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
huawei: {
|
|
name: "huawei",
|
|
displayName: "Huawei",
|
|
category: "cloud",
|
|
keywords: ["huawei", "cloud"],
|
|
defaultColor: "#FF0000",
|
|
},
|
|
huggingface: {
|
|
name: "huggingface",
|
|
displayName: "Hugging Face",
|
|
category: "ai-provider",
|
|
keywords: ["huggingface", "hf"],
|
|
defaultColor: "#FFD21E",
|
|
},
|
|
hunyuan: {
|
|
name: "hunyuan",
|
|
displayName: "hunyuan",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
kimi: {
|
|
name: "kimi",
|
|
displayName: "Kimi",
|
|
category: "ai-provider",
|
|
keywords: ["moonshot"],
|
|
defaultColor: "#1783FF",
|
|
},
|
|
meta: {
|
|
name: "meta",
|
|
displayName: "Meta",
|
|
category: "ai-provider",
|
|
keywords: ["facebook", "llama"],
|
|
defaultColor: "#0081FB",
|
|
},
|
|
midjourney: {
|
|
name: "midjourney",
|
|
displayName: "midjourney",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
minimax: {
|
|
name: "minimax",
|
|
displayName: "MiniMax",
|
|
category: "ai-provider",
|
|
keywords: ["minimax"],
|
|
defaultColor: "#FF6B6B",
|
|
},
|
|
zenmux: {
|
|
name: "zenmux",
|
|
displayName: "ZenMux",
|
|
category: "ai-provider",
|
|
keywords: ["zenmux", "zen", "mux"],
|
|
defaultColor: "#6366F1",
|
|
},
|
|
mistral: {
|
|
name: "mistral",
|
|
displayName: "Mistral",
|
|
category: "ai-provider",
|
|
keywords: ["mistral"],
|
|
defaultColor: "#FF7000",
|
|
},
|
|
newapi: {
|
|
name: "newapi",
|
|
displayName: "newapi",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
notion: {
|
|
name: "notion",
|
|
displayName: "notion",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
ollama: {
|
|
name: "ollama",
|
|
displayName: "ollama",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
openai: {
|
|
name: "openai",
|
|
displayName: "OpenAI",
|
|
category: "ai-provider",
|
|
keywords: ["gpt", "chatgpt"],
|
|
defaultColor: "currentColor",
|
|
},
|
|
openclaw: {
|
|
name: "openclaw",
|
|
displayName: "OpenClaw",
|
|
category: "ai-provider",
|
|
keywords: ["openclaw", "lobster", "claw"],
|
|
defaultColor: "#ff4f40",
|
|
},
|
|
hermes: {
|
|
name: "hermes",
|
|
displayName: "Hermes",
|
|
category: "ai-provider",
|
|
keywords: ["hermes", "agent", "nous", "nousresearch"],
|
|
defaultColor: "#000000",
|
|
},
|
|
packycode: {
|
|
name: "packycode",
|
|
displayName: "PackyCode",
|
|
category: "ai-provider",
|
|
keywords: ["packycode", "packy", "packyapi"],
|
|
defaultColor: "currentColor",
|
|
},
|
|
pateway: {
|
|
name: "pateway",
|
|
displayName: "PatewayAI",
|
|
category: "ai-provider",
|
|
keywords: ["pateway", "patewayai", "claude", "codex"],
|
|
},
|
|
palm: {
|
|
name: "palm",
|
|
displayName: "palm",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
perplexity: {
|
|
name: "perplexity",
|
|
displayName: "Perplexity",
|
|
category: "ai-provider",
|
|
keywords: ["perplexity"],
|
|
defaultColor: "#20808D",
|
|
},
|
|
qwen: {
|
|
name: "qwen",
|
|
displayName: "qwen",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
stability: {
|
|
name: "stability",
|
|
displayName: "stability",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
tencent: {
|
|
name: "tencent",
|
|
displayName: "Tencent",
|
|
category: "ai-provider",
|
|
keywords: ["hunyuan"],
|
|
defaultColor: "#00A4FF",
|
|
},
|
|
unity2: {
|
|
name: "unity2",
|
|
displayName: "Unity2.ai",
|
|
category: "ai-provider",
|
|
keywords: ["unity2", "aggregator", "relay", "claude", "codex", "gateway"],
|
|
defaultColor: "#000000",
|
|
},
|
|
vercel: {
|
|
name: "vercel",
|
|
displayName: "vercel",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
wenxin: {
|
|
name: "wenxin",
|
|
displayName: "wenxin",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
xai: {
|
|
name: "xai",
|
|
displayName: "xai",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
yi: {
|
|
name: "yi",
|
|
displayName: "yi",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
zeroone: {
|
|
name: "zeroone",
|
|
displayName: "zeroone",
|
|
category: "other",
|
|
keywords: [],
|
|
defaultColor: "currentColor",
|
|
},
|
|
zhipu: {
|
|
name: "zhipu",
|
|
displayName: "Zhipu AI",
|
|
category: "ai-provider",
|
|
keywords: ["chatglm", "glm"],
|
|
defaultColor: "#0F62FE",
|
|
},
|
|
openrouter: {
|
|
name: "openrouter",
|
|
displayName: "OpenRouter",
|
|
category: "ai-provider",
|
|
keywords: ["openrouter", "router", "aggregator"],
|
|
defaultColor: "#6566F1",
|
|
},
|
|
pipellm: {
|
|
name: "pipellm",
|
|
displayName: "PIPELLM",
|
|
category: "ai-provider",
|
|
keywords: ["pipellm", "pipe"],
|
|
defaultColor: "currentColor",
|
|
},
|
|
runapi: {
|
|
name: "runapi",
|
|
displayName: "RunAPI",
|
|
category: "ai-provider",
|
|
keywords: ["runapi", "run", "aggregator", "gateway"],
|
|
},
|
|
relaxcode: {
|
|
name: "relaxcode",
|
|
displayName: "RelaxyCode",
|
|
category: "ai-provider",
|
|
keywords: ["relaxycode", "relaxcode", "relax"],
|
|
},
|
|
eflowcode: {
|
|
name: "eflowcode",
|
|
displayName: "E-FlowCode",
|
|
category: "ai-provider",
|
|
keywords: ["eflowcode", "e-flowcode", "flow"],
|
|
defaultColor: "currentColor",
|
|
},
|
|
shengsuanyun: {
|
|
name: "shengsuanyun",
|
|
displayName: "Shengsuanyun",
|
|
category: "ai-provider",
|
|
keywords: ["shengsuanyun", "shengsuanyun"],
|
|
defaultColor: "currentColor",
|
|
},
|
|
lioncc: {
|
|
name: "lioncc",
|
|
displayName: "LionCC",
|
|
category: "ai-provider",
|
|
keywords: ["lioncc", "lion"],
|
|
defaultColor: "#F9DA3C",
|
|
},
|
|
longcat: {
|
|
name: "longcat",
|
|
displayName: "LongCat",
|
|
category: "ai-provider",
|
|
keywords: ["longcat", "long", "cat"],
|
|
defaultColor: "#29E154",
|
|
},
|
|
modelscope: {
|
|
name: "modelscope",
|
|
displayName: "ModelScope",
|
|
category: "ai-provider",
|
|
keywords: ["modelscope", "alibaba", "scope"],
|
|
defaultColor: "#624AFF",
|
|
},
|
|
aihubmix: {
|
|
name: "aihubmix",
|
|
displayName: "AiHubMix",
|
|
category: "ai-provider",
|
|
keywords: ["aihubmix", "hub", "mix", "aggregator"],
|
|
defaultColor: "#006FFB",
|
|
},
|
|
xiaomimimo: {
|
|
name: "xiaomimimo",
|
|
displayName: "Xiaomi MiMo",
|
|
category: "ai-provider",
|
|
keywords: ["xiaomimimo", "xiaomi", "mimo"],
|
|
defaultColor: "#000000",
|
|
},
|
|
novita: {
|
|
name: "novita",
|
|
displayName: "Novita AI",
|
|
category: "ai-provider",
|
|
keywords: ["novita", "novita ai"],
|
|
defaultColor: "#000000",
|
|
},
|
|
nvidia: {
|
|
name: "nvidia",
|
|
displayName: "NVIDIA",
|
|
category: "ai-provider",
|
|
keywords: ["nvidia", "nim", "gpu"],
|
|
defaultColor: "#74B71B",
|
|
},
|
|
stepfun: {
|
|
name: "stepfun",
|
|
displayName: "StepFun",
|
|
category: "ai-provider",
|
|
keywords: ["stepfun", "step", "jieyue", "阶跃星辰"],
|
|
defaultColor: "#005AFF",
|
|
},
|
|
};
|
|
|
|
export function getIconMetadata(name: string): IconMetadata | undefined {
|
|
return iconMetadata[name.toLowerCase()];
|
|
}
|
|
|
|
export function searchIcons(query: string): string[] {
|
|
const lowerQuery = query.toLowerCase();
|
|
return Object.values(iconMetadata)
|
|
.filter(
|
|
(meta) =>
|
|
meta.name.includes(lowerQuery) ||
|
|
meta.displayName.toLowerCase().includes(lowerQuery) ||
|
|
meta.keywords.some((k) => k.includes(lowerQuery)),
|
|
)
|
|
.map((meta) => meta.name);
|
|
}
|