Files
Peter Steinberger 5b29a1e278 refactor(providers): consolidate sibling adapters (#117822)
* refactor(providers): consolidate sibling adapters

* fix(providers): preserve concrete plugin entry type
2026-08-01 22:10:06 -07:00

28 lines
1021 B
TypeScript

import { defineSelfHostedOpenAICompatibleProvider } from "openclaw/plugin-sdk/provider-model-shared";
import {
VLLM_DEFAULT_API_KEY_ENV_VAR,
VLLM_DEFAULT_BASE_URL,
VLLM_MODEL_PLACEHOLDER,
VLLM_PROVIDER_LABEL,
} from "./api.js";
import { wrapVllmProviderStream } from "./stream.js";
import { resolveThinkingProfile } from "./thinking-policy.js";
export default defineSelfHostedOpenAICompatibleProvider({
id: "vllm",
label: VLLM_PROVIDER_LABEL,
hint: "Local/self-hosted OpenAI-compatible server",
groupHint: "Local/self-hosted OpenAI-compatible",
defaultBaseUrl: VLLM_DEFAULT_BASE_URL,
apiKeyEnvVar: VLLM_DEFAULT_API_KEY_ENV_VAR,
modelPlaceholder: VLLM_MODEL_PLACEHOLDER,
overrides: {
buildUnknownModelHint: () =>
"vLLM requires authentication to be registered as a provider. " +
'Set VLLM_API_KEY (any value works) or run "openclaw configure". ' +
"See: https://docs.openclaw.ai/providers/vllm",
resolveThinkingProfile,
wrapStreamFn: wrapVllmProviderStream,
},
});