|
| 1 | +import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared"; |
1 | 2 | import type { ModelProviderConfig } from "openclaw/plugin-sdk/provider-model-shared"; |
| 3 | +import manifest from "./openclaw.plugin.json" with { type: "json" }; |
2 | 4 | |
3 | | -const XIAOMI_BASE_URL = "https://api.xiaomimimo.com/v1"; |
4 | 5 | export const XIAOMI_DEFAULT_MODEL_ID = "mimo-v2-flash"; |
5 | | -const XIAOMI_DEFAULT_CONTEXT_WINDOW = 262144; |
6 | | -const XIAOMI_DEFAULT_MAX_TOKENS = 8192; |
7 | | -const XIAOMI_DEFAULT_COST = { |
8 | | -input: 0, |
9 | | -output: 0, |
10 | | -cacheRead: 0, |
11 | | -cacheWrite: 0, |
12 | | -}; |
13 | 6 | |
14 | 7 | export function buildXiaomiProvider(): ModelProviderConfig { |
15 | | -return { |
16 | | -baseUrl: XIAOMI_BASE_URL, |
17 | | -api: "openai-completions", |
18 | | -models: [ |
19 | | -{ |
20 | | -id: XIAOMI_DEFAULT_MODEL_ID, |
21 | | -name: "Xiaomi MiMo V2 Flash", |
22 | | -reasoning: false, |
23 | | -input: ["text"], |
24 | | -cost: XIAOMI_DEFAULT_COST, |
25 | | -contextWindow: XIAOMI_DEFAULT_CONTEXT_WINDOW, |
26 | | -maxTokens: XIAOMI_DEFAULT_MAX_TOKENS, |
27 | | -}, |
28 | | -{ |
29 | | -id: "mimo-v2-pro", |
30 | | -name: "Xiaomi MiMo V2 Pro", |
31 | | -reasoning: true, |
32 | | -input: ["text"], |
33 | | -cost: XIAOMI_DEFAULT_COST, |
34 | | -contextWindow: 1048576, |
35 | | -maxTokens: 32000, |
36 | | -}, |
37 | | -{ |
38 | | -id: "mimo-v2-omni", |
39 | | -name: "Xiaomi MiMo V2 Omni", |
40 | | -reasoning: true, |
41 | | -input: ["text", "image"], |
42 | | -cost: XIAOMI_DEFAULT_COST, |
43 | | -contextWindow: XIAOMI_DEFAULT_CONTEXT_WINDOW, |
44 | | -maxTokens: 32000, |
45 | | -}, |
46 | | -], |
47 | | -}; |
| 8 | +return buildManifestModelProviderConfig({ |
| 9 | +providerId: "xiaomi", |
| 10 | +catalog: manifest.modelCatalog.providers.xiaomi, |
| 11 | +}); |
48 | 12 | } |