54 lines
1.6 KiB
TypeScript
Raw Permalink Normal View History

import {
2026-03-18 23:58:49 +00:00
applyProviderConfigWithDefaultModelPreset,
type OpenClawConfig,
} from "openclaw/plugin-sdk/provider-onboard";
import {
buildMoonshotProvider,
MOONSHOT_BASE_URL,
MOONSHOT_DEFAULT_MODEL_ID,
} from "./provider-catalog.js";
export const MOONSHOT_CN_BASE_URL = "https://api.moonshot.cn/v1";
export const MOONSHOT_DEFAULT_MODEL_REF = `moonshot/${MOONSHOT_DEFAULT_MODEL_ID}`;
export function applyMoonshotProviderConfig(cfg: OpenClawConfig): OpenClawConfig {
return applyMoonshotProviderConfigWithBaseUrl(cfg, MOONSHOT_BASE_URL);
}
export function applyMoonshotProviderConfigCn(cfg: OpenClawConfig): OpenClawConfig {
return applyMoonshotProviderConfigWithBaseUrl(cfg, MOONSHOT_CN_BASE_URL);
}
function applyMoonshotProviderConfigWithBaseUrl(
cfg: OpenClawConfig,
baseUrl: string,
2026-03-18 23:58:49 +00:00
primaryModelRef?: string,
): OpenClawConfig {
const defaultModel = buildMoonshotProvider().models[0];
if (!defaultModel) {
return cfg;
}
2026-03-18 23:58:49 +00:00
return applyProviderConfigWithDefaultModelPreset(cfg, {
providerId: "moonshot",
api: "openai-completions",
baseUrl,
defaultModel,
defaultModelId: MOONSHOT_DEFAULT_MODEL_ID,
2026-03-18 23:58:49 +00:00
aliases: [{ modelRef: MOONSHOT_DEFAULT_MODEL_REF, alias: "Kimi" }],
primaryModelRef,
});
}
export function applyMoonshotConfig(cfg: OpenClawConfig): OpenClawConfig {
2026-03-18 23:58:49 +00:00
return applyMoonshotProviderConfigWithBaseUrl(cfg, MOONSHOT_BASE_URL, MOONSHOT_DEFAULT_MODEL_REF);
}
export function applyMoonshotConfigCn(cfg: OpenClawConfig): OpenClawConfig {
2026-03-18 23:58:49 +00:00
return applyMoonshotProviderConfigWithBaseUrl(
cfg,
MOONSHOT_CN_BASE_URL,
MOONSHOT_DEFAULT_MODEL_REF,
);
}