mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 05:50:43 +00:00
refactor: expose bundled static provider catalogs
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"id": "arcee",
|
||||
"enabledByDefault": true,
|
||||
"providerDiscoveryEntry": "./provider-discovery.ts",
|
||||
"providers": ["arcee"],
|
||||
"providerAuthEnvVars": {
|
||||
"arcee": ["ARCEEAI_API_KEY"]
|
||||
|
||||
31
extensions/arcee/provider-discovery.ts
Normal file
31
extensions/arcee/provider-discovery.ts
Normal 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;
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"id": "byteplus",
|
||||
"enabledByDefault": true,
|
||||
"providerDiscoveryEntry": "./provider-discovery.ts",
|
||||
"providers": ["byteplus", "byteplus-plan"],
|
||||
"providerAuthEnvVars": {
|
||||
"byteplus": ["BYTEPLUS_API_KEY"]
|
||||
|
||||
31
extensions/byteplus/provider-discovery.ts
Normal file
31
extensions/byteplus/provider-discovery.ts
Normal 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;
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"id": "chutes",
|
||||
"enabledByDefault": true,
|
||||
"providerDiscoveryEntry": "./provider-discovery.ts",
|
||||
"providers": ["chutes"],
|
||||
"providerAuthEnvVars": {
|
||||
"chutes": ["CHUTES_API_KEY", "CHUTES_OAUTH_TOKEN"]
|
||||
|
||||
17
extensions/chutes/provider-discovery.ts
Normal file
17
extensions/chutes/provider-discovery.ts
Normal 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;
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"id": "deepseek",
|
||||
"enabledByDefault": true,
|
||||
"providerDiscoveryEntry": "./provider-discovery.ts",
|
||||
"providers": ["deepseek"],
|
||||
"providerAuthEnvVars": {
|
||||
"deepseek": ["DEEPSEEK_API_KEY"]
|
||||
|
||||
17
extensions/deepseek/provider-discovery.ts
Normal file
17
extensions/deepseek/provider-discovery.ts
Normal 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;
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"id": "kilocode",
|
||||
"enabledByDefault": true,
|
||||
"providerDiscoveryEntry": "./provider-discovery.ts",
|
||||
"providers": ["kilocode"],
|
||||
"providerAuthEnvVars": {
|
||||
"kilocode": ["KILOCODE_API_KEY"]
|
||||
|
||||
17
extensions/kilocode/provider-discovery.ts
Normal file
17
extensions/kilocode/provider-discovery.ts
Normal 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;
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"id": "moonshot",
|
||||
"enabledByDefault": true,
|
||||
"providerDiscoveryEntry": "./provider-discovery.ts",
|
||||
"providers": ["moonshot"],
|
||||
"providerAuthEnvVars": {
|
||||
"moonshot": ["MOONSHOT_API_KEY", "KIMI_API_KEY"]
|
||||
|
||||
17
extensions/moonshot/provider-discovery.ts
Normal file
17
extensions/moonshot/provider-discovery.ts
Normal 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;
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"id": "tencent",
|
||||
"enabledByDefault": true,
|
||||
"providerDiscoveryEntry": "./provider-discovery.ts",
|
||||
"providers": ["tencent-tokenhub"],
|
||||
"providerAuthEnvVars": {
|
||||
"tencent-tokenhub": ["TOKENHUB_API_KEY"]
|
||||
|
||||
17
extensions/tencent/provider-discovery.ts
Normal file
17
extensions/tencent/provider-discovery.ts
Normal 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;
|
||||
@@ -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"]
|
||||
|
||||
17
extensions/vercel-ai-gateway/provider-discovery.ts
Normal file
17
extensions/vercel-ai-gateway/provider-discovery.ts
Normal 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;
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"id": "volcengine",
|
||||
"enabledByDefault": true,
|
||||
"providerDiscoveryEntry": "./provider-discovery.ts",
|
||||
"providers": ["volcengine", "volcengine-plan"],
|
||||
"providerAuthEnvVars": {
|
||||
"volcengine": ["VOLCANO_ENGINE_API_KEY"]
|
||||
|
||||
31
extensions/volcengine/provider-discovery.ts
Normal file
31
extensions/volcengine/provider-discovery.ts
Normal 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;
|
||||
Reference in New Issue
Block a user