openclaw/extensions/kimi-coding/onboard.ts

43 lines
1.2 KiB
TypeScript

import {
createDefaultModelPresetAppliers,
type OpenClawConfig,
} from "openclaw/plugin-sdk/provider-onboard";
import {
buildKimiCodingProvider,
KIMI_CODING_BASE_URL,
KIMI_CODING_DEFAULT_MODEL_ID,
} from "./provider-catalog.js";
export const KIMI_MODEL_REF = `kimi/${KIMI_CODING_DEFAULT_MODEL_ID}`;
export const KIMI_CODING_MODEL_REF = KIMI_MODEL_REF;
function resolveKimiCodingDefaultModel() {
return buildKimiCodingProvider().models[0];
}
const kimiCodingPresetAppliers = createDefaultModelPresetAppliers({
primaryModelRef: KIMI_MODEL_REF,
resolveParams: (_cfg: OpenClawConfig) => {
const defaultModel = resolveKimiCodingDefaultModel();
if (!defaultModel) {
return null;
}
return {
providerId: "kimi",
api: "anthropic-messages",
baseUrl: KIMI_CODING_BASE_URL,
defaultModel,
defaultModelId: KIMI_CODING_DEFAULT_MODEL_ID,
aliases: [{ modelRef: KIMI_MODEL_REF, alias: "Kimi" }],
};
},
});
export function applyKimiCodeProviderConfig(cfg: OpenClawConfig): OpenClawConfig {
return kimiCodingPresetAppliers.applyProviderConfig(cfg);
}
export function applyKimiCodeConfig(cfg: OpenClawConfig): OpenClawConfig {
return kimiCodingPresetAppliers.applyConfig(cfg);
}