54 lines
1.6 KiB
TypeScript
54 lines
1.6 KiB
TypeScript
import {
|
|
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,
|
|
primaryModelRef?: string,
|
|
): OpenClawConfig {
|
|
const defaultModel = buildMoonshotProvider().models[0];
|
|
if (!defaultModel) {
|
|
return cfg;
|
|
}
|
|
|
|
return applyProviderConfigWithDefaultModelPreset(cfg, {
|
|
providerId: "moonshot",
|
|
api: "openai-completions",
|
|
baseUrl,
|
|
defaultModel,
|
|
defaultModelId: MOONSHOT_DEFAULT_MODEL_ID,
|
|
aliases: [{ modelRef: MOONSHOT_DEFAULT_MODEL_REF, alias: "Kimi" }],
|
|
primaryModelRef,
|
|
});
|
|
}
|
|
|
|
export function applyMoonshotConfig(cfg: OpenClawConfig): OpenClawConfig {
|
|
return applyMoonshotProviderConfigWithBaseUrl(cfg, MOONSHOT_BASE_URL, MOONSHOT_DEFAULT_MODEL_REF);
|
|
}
|
|
|
|
export function applyMoonshotConfigCn(cfg: OpenClawConfig): OpenClawConfig {
|
|
return applyMoonshotProviderConfigWithBaseUrl(
|
|
cfg,
|
|
MOONSHOT_CN_BASE_URL,
|
|
MOONSHOT_DEFAULT_MODEL_REF,
|
|
);
|
|
}
|