
































@@ -1,7 +1,6 @@
1-import type {
2-ModelDefinitionConfig,
3-ModelProviderConfig,
4-} from "openclaw/plugin-sdk/provider-model-shared";
1+import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared";
2+import type { ModelProviderConfig } from "openclaw/plugin-sdk/provider-model-shared";
3+import manifest from "./openclaw.plugin.json" with { type: "json" };
5465export const STEPFUN_PROVIDER_ID = "stepfun";
76export const STEPFUN_PLAN_PROVIDER_ID = "stepfun-plan";
@@ -16,54 +15,22 @@ export const STEPFUN_FLASH_2603_MODEL_ID = "step-3.5-flash-2603";
1615export const STEPFUN_DEFAULT_MODEL_REF = `${STEPFUN_PROVIDER_ID}/${STEPFUN_DEFAULT_MODEL_ID}`;
1716export const STEPFUN_PLAN_DEFAULT_MODEL_REF = `${STEPFUN_PLAN_PROVIDER_ID}/${STEPFUN_DEFAULT_MODEL_ID}`;
181719-const STEPFUN_DEFAULT_COST = {
20-input: 0,
21-output: 0,
22-cacheRead: 0,
23-cacheWrite: 0,
24-} as const;
25-26-function buildStepFunModel(id: string, name: string): ModelDefinitionConfig {
27-return {
28- id,
29- name,
30-reasoning: true,
31-input: ["text"],
32-cost: STEPFUN_DEFAULT_COST,
33-contextWindow: 262_144,
34-maxTokens: 65_536,
35-};
36-}
37-38-const STEPFUN_STANDARD_MODEL_CATALOG: ReadonlyArray<ModelDefinitionConfig> = [
39-buildStepFunModel(STEPFUN_DEFAULT_MODEL_ID, "Step 3.5 Flash"),
40-];
41-42-const STEPFUN_PLAN_MODEL_CATALOG: ReadonlyArray<ModelDefinitionConfig> = [
43-buildStepFunModel(STEPFUN_DEFAULT_MODEL_ID, "Step 3.5 Flash"),
44-buildStepFunModel(STEPFUN_FLASH_2603_MODEL_ID, "Step 3.5 Flash 2603"),
45-];
46-47-function cloneCatalog(models: ReadonlyArray<ModelDefinitionConfig>): ModelDefinitionConfig[] {
48-return models.map((model) => ({ ...model }));
18+function buildStepFunManifestProvider(providerId: string, baseUrl: string): ModelProviderConfig {
19+const provider = buildManifestModelProviderConfig({
20+ providerId,
21+catalog: manifest.modelCatalog.providers[providerId],
22+});
23+return provider.baseUrl === baseUrl ? provider : { ...provider, baseUrl };
4924}
50255126export function buildStepFunProvider(
5227baseUrl: string = STEPFUN_STANDARD_INTL_BASE_URL,
5328): ModelProviderConfig {
54-return {
55- baseUrl,
56-api: "openai-completions",
57-models: cloneCatalog(STEPFUN_STANDARD_MODEL_CATALOG),
58-};
29+return buildStepFunManifestProvider(STEPFUN_PROVIDER_ID, baseUrl);
5930}
60316132export function buildStepFunPlanProvider(
6233baseUrl: string = STEPFUN_PLAN_INTL_BASE_URL,
6334): ModelProviderConfig {
64-return {
65- baseUrl,
66-api: "openai-completions",
67-models: cloneCatalog(STEPFUN_PLAN_MODEL_CATALOG),
68-};
35+return buildStepFunManifestProvider(STEPFUN_PLAN_PROVIDER_ID, baseUrl);
6936}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。