mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 05:10:44 +00:00
41 lines
1.7 KiB
TypeScript
41 lines
1.7 KiB
TypeScript
import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared";
|
|
import type { ModelProviderConfig } from "openclaw/plugin-sdk/provider-model-shared";
|
|
import manifest from "./openclaw.plugin.json" with { type: "json" };
|
|
|
|
export const STEPFUN_PROVIDER_ID = "stepfun";
|
|
export const STEPFUN_PLAN_PROVIDER_ID = "stepfun-plan";
|
|
|
|
export const STEPFUN_STANDARD_CN_BASE_URL = "https://api.stepfun.com/v1";
|
|
export const STEPFUN_STANDARD_INTL_BASE_URL = "https://api.stepfun.ai/v1";
|
|
export const STEPFUN_PLAN_CN_BASE_URL = "https://api.stepfun.com/step_plan/v1";
|
|
export const STEPFUN_PLAN_INTL_BASE_URL = "https://api.stepfun.ai/step_plan/v1";
|
|
|
|
const STEPFUN_DEFAULT_MODEL_ID = "step-3.5-flash";
|
|
export const STEPFUN_DEFAULT_MODEL_REF = `${STEPFUN_PROVIDER_ID}/${STEPFUN_DEFAULT_MODEL_ID}`;
|
|
export const STEPFUN_PLAN_DEFAULT_MODEL_REF = `${STEPFUN_PLAN_PROVIDER_ID}/${STEPFUN_DEFAULT_MODEL_ID}`;
|
|
|
|
type StepFunManifestProviderId = keyof typeof manifest.modelCatalog.providers;
|
|
|
|
function buildStepFunManifestProvider(
|
|
providerId: StepFunManifestProviderId,
|
|
baseUrl: string,
|
|
): ModelProviderConfig {
|
|
const provider = buildManifestModelProviderConfig({
|
|
providerId,
|
|
catalog: manifest.modelCatalog.providers[providerId],
|
|
});
|
|
return provider.baseUrl === baseUrl ? provider : { ...provider, baseUrl };
|
|
}
|
|
|
|
export function buildStepFunProvider(
|
|
baseUrl: string = STEPFUN_STANDARD_INTL_BASE_URL,
|
|
): ModelProviderConfig {
|
|
return buildStepFunManifestProvider(STEPFUN_PROVIDER_ID, baseUrl);
|
|
}
|
|
|
|
export function buildStepFunPlanProvider(
|
|
baseUrl: string = STEPFUN_PLAN_INTL_BASE_URL,
|
|
): ModelProviderConfig {
|
|
return buildStepFunManifestProvider(STEPFUN_PLAN_PROVIDER_ID, baseUrl);
|
|
}
|