Files
openclaw/extensions/deepseek/models.ts
Peter Steinberger 89d6ce457c refactor(models): build provider catalogs as complete batches (#130564)
* refactor(models): build provider catalogs as complete batches

* refactor(models): decorate owned catalog rows in place
2026-08-26 19:07:24 -07:00

25 lines
1.1 KiB
TypeScript

// Deepseek plugin module implements models behavior.
import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared";
import type { ModelDefinitionConfig } from "openclaw/plugin-sdk/provider-model-shared";
import manifest from "./openclaw.plugin.json" with { type: "json" };
const DEEPSEEK_MANIFEST_CATALOG = manifest.modelCatalog.providers.deepseek;
export const DEEPSEEK_BASE_URL = DEEPSEEK_MANIFEST_CATALOG.baseUrl;
export const DEEPSEEK_MODEL_CATALOG: ModelDefinitionConfig[] = buildManifestModelProviderConfig({
providerId: "deepseek",
catalog: DEEPSEEK_MANIFEST_CATALOG,
}).models.map((model) => Object.assign(model, { api: "openai-completions" }));
const DEEPSEEK_V4_MODEL_IDS = new Set(["deepseek-v4-flash", "deepseek-v4-pro"]);
export function isDeepSeekV4ModelId(modelId: string): boolean {
return DEEPSEEK_V4_MODEL_IDS.has(modelId.toLowerCase());
}
export function isDeepSeekV4ModelRef(model: { provider?: string; id?: unknown }): boolean {
return (
model.provider === "deepseek" && typeof model.id === "string" && isDeepSeekV4ModelId(model.id)
);
}