diff --git a/extensions/qianfan/provider-catalog.ts b/extensions/qianfan/provider-catalog.ts index da676381500..f5016ff74ce 100644 --- a/extensions/qianfan/provider-catalog.ts +++ b/extensions/qianfan/provider-catalog.ts @@ -1,39 +1,13 @@ +import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared"; import type { ModelProviderConfig } from "openclaw/plugin-sdk/provider-model-shared"; +import manifest from "./openclaw.plugin.json" with { type: "json" }; export const QIANFAN_BASE_URL = "https://qianfan.baidubce.com/v2"; export const QIANFAN_DEFAULT_MODEL_ID = "deepseek-v3.2"; -const QIANFAN_DEFAULT_CONTEXT_WINDOW = 98304; -const QIANFAN_DEFAULT_MAX_TOKENS = 32768; -const QIANFAN_DEFAULT_COST = { - input: 0, - output: 0, - cacheRead: 0, - cacheWrite: 0, -}; export function buildQianfanProvider(): ModelProviderConfig { - return { - baseUrl: QIANFAN_BASE_URL, - api: "openai-completions", - models: [ - { - id: QIANFAN_DEFAULT_MODEL_ID, - name: "DEEPSEEK V3.2", - reasoning: true, - input: ["text"], - cost: QIANFAN_DEFAULT_COST, - contextWindow: QIANFAN_DEFAULT_CONTEXT_WINDOW, - maxTokens: QIANFAN_DEFAULT_MAX_TOKENS, - }, - { - id: "ernie-5.0-thinking-preview", - name: "ERNIE-5.0-Thinking-Preview", - reasoning: true, - input: ["text", "image"], - cost: QIANFAN_DEFAULT_COST, - contextWindow: 119000, - maxTokens: 64000, - }, - ], - }; + return buildManifestModelProviderConfig({ + providerId: "qianfan", + catalog: manifest.modelCatalog.providers.qianfan, + }); } diff --git a/extensions/xiaomi/provider-catalog.ts b/extensions/xiaomi/provider-catalog.ts index bc1167f5d30..3cf0605a1ed 100644 --- a/extensions/xiaomi/provider-catalog.ts +++ b/extensions/xiaomi/provider-catalog.ts @@ -1,48 +1,12 @@ +import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared"; import type { ModelProviderConfig } from "openclaw/plugin-sdk/provider-model-shared"; +import manifest from "./openclaw.plugin.json" with { type: "json" }; -const XIAOMI_BASE_URL = "https://api.xiaomimimo.com/v1"; export const XIAOMI_DEFAULT_MODEL_ID = "mimo-v2-flash"; -const XIAOMI_DEFAULT_CONTEXT_WINDOW = 262144; -const XIAOMI_DEFAULT_MAX_TOKENS = 8192; -const XIAOMI_DEFAULT_COST = { - input: 0, - output: 0, - cacheRead: 0, - cacheWrite: 0, -}; export function buildXiaomiProvider(): ModelProviderConfig { - return { - baseUrl: XIAOMI_BASE_URL, - api: "openai-completions", - models: [ - { - id: XIAOMI_DEFAULT_MODEL_ID, - name: "Xiaomi MiMo V2 Flash", - reasoning: false, - input: ["text"], - cost: XIAOMI_DEFAULT_COST, - contextWindow: XIAOMI_DEFAULT_CONTEXT_WINDOW, - maxTokens: XIAOMI_DEFAULT_MAX_TOKENS, - }, - { - id: "mimo-v2-pro", - name: "Xiaomi MiMo V2 Pro", - reasoning: true, - input: ["text"], - cost: XIAOMI_DEFAULT_COST, - contextWindow: 1048576, - maxTokens: 32000, - }, - { - id: "mimo-v2-omni", - name: "Xiaomi MiMo V2 Omni", - reasoning: true, - input: ["text", "image"], - cost: XIAOMI_DEFAULT_COST, - contextWindow: XIAOMI_DEFAULT_CONTEXT_WINDOW, - maxTokens: 32000, - }, - ], - }; + return buildManifestModelProviderConfig({ + providerId: "xiaomi", + catalog: manifest.modelCatalog.providers.xiaomi, + }); }