refactor: expose bundled static provider catalogs

This commit is contained in:
Shakker
2026-04-24 04:19:21 +01:00
committed by Shakker
parent 29d0e930bb
commit 3254e961e9
18 changed files with 204 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
{
"id": "arcee",
"enabledByDefault": true,
"providerDiscoveryEntry": "./provider-discovery.ts",
"providers": ["arcee"],
"providerAuthEnvVars": {
"arcee": ["ARCEEAI_API_KEY"]

View File

@@ -0,0 +1,31 @@
import type { ProviderPlugin } from "openclaw/plugin-sdk/provider-model-shared";
import { buildArceeOpenRouterProvider, buildArceeProvider } from "./provider-catalog.js";
export const arceeProviderDiscovery: ProviderPlugin[] = [
{
id: "arcee",
label: "Arcee AI",
docsPath: "/providers/models",
auth: [],
staticCatalog: {
order: "simple",
run: async () => ({
provider: buildArceeProvider(),
}),
},
},
{
id: "arcee-openrouter",
label: "Arcee AI via OpenRouter",
docsPath: "/providers/models",
auth: [],
staticCatalog: {
order: "simple",
run: async () => ({
provider: buildArceeOpenRouterProvider(),
}),
},
},
];
export default arceeProviderDiscovery;

View File

@@ -1,6 +1,7 @@
{
"id": "byteplus",
"enabledByDefault": true,
"providerDiscoveryEntry": "./provider-discovery.ts",
"providers": ["byteplus", "byteplus-plan"],
"providerAuthEnvVars": {
"byteplus": ["BYTEPLUS_API_KEY"]

View File

@@ -0,0 +1,31 @@
import type { ProviderPlugin } from "openclaw/plugin-sdk/provider-model-shared";
import { buildBytePlusCodingProvider, buildBytePlusProvider } from "./provider-catalog.js";
export const bytePlusProviderDiscovery: ProviderPlugin[] = [
{
id: "byteplus",
label: "BytePlus",
docsPath: "/providers/models",
auth: [],
staticCatalog: {
order: "simple",
run: async () => ({
provider: buildBytePlusProvider(),
}),
},
},
{
id: "byteplus-plan",
label: "BytePlus Plan",
docsPath: "/providers/models",
auth: [],
staticCatalog: {
order: "simple",
run: async () => ({
provider: buildBytePlusCodingProvider(),
}),
},
},
];
export default bytePlusProviderDiscovery;

View File

@@ -1,6 +1,7 @@
{
"id": "chutes",
"enabledByDefault": true,
"providerDiscoveryEntry": "./provider-discovery.ts",
"providers": ["chutes"],
"providerAuthEnvVars": {
"chutes": ["CHUTES_API_KEY", "CHUTES_OAUTH_TOKEN"]

View File

@@ -0,0 +1,17 @@
import type { ProviderPlugin } from "openclaw/plugin-sdk/provider-model-shared";
import { buildStaticChutesProvider } from "./provider-catalog.js";
export const chutesProviderDiscovery: ProviderPlugin = {
id: "chutes",
label: "Chutes",
docsPath: "/providers/models",
auth: [],
staticCatalog: {
order: "profile",
run: async () => ({
provider: buildStaticChutesProvider(),
}),
},
};
export default chutesProviderDiscovery;

View File

@@ -1,6 +1,7 @@
{
"id": "deepseek",
"enabledByDefault": true,
"providerDiscoveryEntry": "./provider-discovery.ts",
"providers": ["deepseek"],
"providerAuthEnvVars": {
"deepseek": ["DEEPSEEK_API_KEY"]

View File

@@ -0,0 +1,17 @@
import type { ProviderPlugin } from "openclaw/plugin-sdk/provider-model-shared";
import { buildDeepSeekProvider } from "./provider-catalog.js";
export const deepSeekProviderDiscovery: ProviderPlugin = {
id: "deepseek",
label: "DeepSeek",
docsPath: "/providers/deepseek",
auth: [],
staticCatalog: {
order: "simple",
run: async () => ({
provider: buildDeepSeekProvider(),
}),
},
};
export default deepSeekProviderDiscovery;

View File

@@ -1,6 +1,7 @@
{
"id": "kilocode",
"enabledByDefault": true,
"providerDiscoveryEntry": "./provider-discovery.ts",
"providers": ["kilocode"],
"providerAuthEnvVars": {
"kilocode": ["KILOCODE_API_KEY"]

View File

@@ -0,0 +1,17 @@
import type { ProviderPlugin } from "openclaw/plugin-sdk/provider-model-shared";
import { buildKilocodeProvider } from "./provider-catalog.js";
export const kilocodeProviderDiscovery: ProviderPlugin = {
id: "kilocode",
label: "Kilo Code",
docsPath: "/providers/models",
auth: [],
staticCatalog: {
order: "simple",
run: async () => ({
provider: buildKilocodeProvider(),
}),
},
};
export default kilocodeProviderDiscovery;

View File

@@ -1,6 +1,7 @@
{
"id": "moonshot",
"enabledByDefault": true,
"providerDiscoveryEntry": "./provider-discovery.ts",
"providers": ["moonshot"],
"providerAuthEnvVars": {
"moonshot": ["MOONSHOT_API_KEY", "KIMI_API_KEY"]

View File

@@ -0,0 +1,17 @@
import type { ProviderPlugin } from "openclaw/plugin-sdk/provider-model-shared";
import { buildMoonshotProvider } from "./provider-catalog.js";
export const moonshotProviderDiscovery: ProviderPlugin = {
id: "moonshot",
label: "Moonshot",
docsPath: "/providers/moonshot",
auth: [],
staticCatalog: {
order: "simple",
run: async () => ({
provider: buildMoonshotProvider(),
}),
},
};
export default moonshotProviderDiscovery;

View File

@@ -1,6 +1,7 @@
{
"id": "tencent",
"enabledByDefault": true,
"providerDiscoveryEntry": "./provider-discovery.ts",
"providers": ["tencent-tokenhub"],
"providerAuthEnvVars": {
"tencent-tokenhub": ["TOKENHUB_API_KEY"]

View File

@@ -0,0 +1,17 @@
import type { ProviderPlugin } from "openclaw/plugin-sdk/provider-model-shared";
import { buildTokenHubProvider } from "./provider-catalog.js";
export const tencentProviderDiscovery: ProviderPlugin = {
id: "tencent-tokenhub",
label: "Tencent TokenHub",
docsPath: "/providers/models",
auth: [],
staticCatalog: {
order: "simple",
run: async () => ({
provider: buildTokenHubProvider(),
}),
},
};
export default tencentProviderDiscovery;

View File

@@ -1,6 +1,7 @@
{
"id": "vercel-ai-gateway",
"enabledByDefault": true,
"providerDiscoveryEntry": "./provider-discovery.ts",
"providers": ["vercel-ai-gateway"],
"providerAuthEnvVars": {
"vercel-ai-gateway": ["AI_GATEWAY_API_KEY"]

View File

@@ -0,0 +1,17 @@
import type { ProviderPlugin } from "openclaw/plugin-sdk/provider-model-shared";
import { buildStaticVercelAiGatewayProvider } from "./provider-catalog.js";
export const vercelAiGatewayProviderDiscovery: ProviderPlugin = {
id: "vercel-ai-gateway",
label: "Vercel AI Gateway",
docsPath: "/providers/models",
auth: [],
staticCatalog: {
order: "simple",
run: async () => ({
provider: buildStaticVercelAiGatewayProvider(),
}),
},
};
export default vercelAiGatewayProviderDiscovery;

View File

@@ -1,6 +1,7 @@
{
"id": "volcengine",
"enabledByDefault": true,
"providerDiscoveryEntry": "./provider-discovery.ts",
"providers": ["volcengine", "volcengine-plan"],
"providerAuthEnvVars": {
"volcengine": ["VOLCANO_ENGINE_API_KEY"]

View File

@@ -0,0 +1,31 @@
import type { ProviderPlugin } from "openclaw/plugin-sdk/provider-model-shared";
import { buildDoubaoCodingProvider, buildDoubaoProvider } from "./provider-catalog.js";
export const volcengineProviderDiscovery: ProviderPlugin[] = [
{
id: "volcengine",
label: "Volcengine",
docsPath: "/providers/models",
auth: [],
staticCatalog: {
order: "simple",
run: async () => ({
provider: buildDoubaoProvider(),
}),
},
},
{
id: "volcengine-plan",
label: "Volcengine Plan",
docsPath: "/providers/models",
auth: [],
staticCatalog: {
order: "simple",
run: async () => ({
provider: buildDoubaoCodingProvider(),
}),
},
},
];
export default volcengineProviderDiscovery;