Files
openclaw/extensions/kimi-coding/onboard.ts

45 lines
1.4 KiB
TypeScript

import {
applyAgentDefaultModelPrimary,
applyProviderConfigWithModelCatalog,
} from "../../src/commands/onboard-auth.config-shared.js";
import type { OpenClawConfig } from "../../src/config/config.js";
import {
buildKimiCodingProvider,
KIMI_BASE_URL,
KIMI_DEFAULT_MODEL_ID,
KIMI_LEGACY_MODEL_ID,
} from "./provider-catalog.js";
export const KIMI_DEFAULT_MODEL_REF = `kimi/${KIMI_DEFAULT_MODEL_ID}`;
export const KIMI_LEGACY_MODEL_REF = `kimi/${KIMI_LEGACY_MODEL_ID}`;
export const KIMI_CODING_MODEL_REF = KIMI_DEFAULT_MODEL_REF;
export function applyKimiCodeProviderConfig(cfg: OpenClawConfig): OpenClawConfig {
const models = { ...cfg.agents?.defaults?.models };
models[KIMI_DEFAULT_MODEL_REF] = {
...models[KIMI_DEFAULT_MODEL_REF],
alias: models[KIMI_DEFAULT_MODEL_REF]?.alias ?? "Kimi Code",
};
models[KIMI_LEGACY_MODEL_REF] = {
...models[KIMI_LEGACY_MODEL_REF],
alias: models[KIMI_LEGACY_MODEL_REF]?.alias ?? "Kimi Code",
};
const catalog = buildKimiCodingProvider().models ?? [];
if (catalog.length === 0) {
return cfg;
}
return applyProviderConfigWithModelCatalog(cfg, {
agentModels: models,
providerId: "kimi",
api: "anthropic-messages",
baseUrl: KIMI_BASE_URL,
catalogModels: catalog,
});
}
export function applyKimiCodeConfig(cfg: OpenClawConfig): OpenClawConfig {
return applyAgentDefaultModelPrimary(applyKimiCodeProviderConfig(cfg), KIMI_DEFAULT_MODEL_REF);
}