31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import {
|
|
applyAgentDefaultModelPrimary,
|
|
applyProviderConfigWithDefaultModels,
|
|
type OpenClawConfig,
|
|
} from "openclaw/plugin-sdk/provider-onboard";
|
|
import { buildXiaomiProvider, XIAOMI_DEFAULT_MODEL_ID } from "./provider-catalog.js";
|
|
|
|
export const XIAOMI_DEFAULT_MODEL_REF = `xiaomi/${XIAOMI_DEFAULT_MODEL_ID}`;
|
|
|
|
export function applyXiaomiProviderConfig(cfg: OpenClawConfig): OpenClawConfig {
|
|
const models = { ...cfg.agents?.defaults?.models };
|
|
models[XIAOMI_DEFAULT_MODEL_REF] = {
|
|
...models[XIAOMI_DEFAULT_MODEL_REF],
|
|
alias: models[XIAOMI_DEFAULT_MODEL_REF]?.alias ?? "Xiaomi",
|
|
};
|
|
const defaultProvider = buildXiaomiProvider();
|
|
const resolvedApi = defaultProvider.api ?? "openai-completions";
|
|
return applyProviderConfigWithDefaultModels(cfg, {
|
|
agentModels: models,
|
|
providerId: "xiaomi",
|
|
api: resolvedApi,
|
|
baseUrl: defaultProvider.baseUrl,
|
|
defaultModels: defaultProvider.models ?? [],
|
|
defaultModelId: XIAOMI_DEFAULT_MODEL_ID,
|
|
});
|
|
}
|
|
|
|
export function applyXiaomiConfig(cfg: OpenClawConfig): OpenClawConfig {
|
|
return applyAgentDefaultModelPrimary(applyXiaomiProviderConfig(cfg), XIAOMI_DEFAULT_MODEL_REF);
|
|
}
|