Skip to content

Model providers ​

The documented providers are DeepSeek, Qwen, and the configurable Custom Chat Completions fallback. Provider pages record when their repository implementation and configuration were last reviewed; the date is not a claim of live service availability or exhaustive remote testing.

ProviderPlugin nameAdapterLast updated
DeepSeekdeepseekChat Completions2026-10-01
QwenqwenChat Completions2026-10-04
Custom Chat Completionschat-completionsChat Completions2026-10-15

The source tree also builds an openai provider using the Responses adapter. Its presence in the installation does not imply the same support/verification scope as the provider guides. The Hub's mock provider is a test service rather than a production model provider.

Provider libraries are discovered independently of named YAML configurations. Only configurations selected by driver_model and optional modality_assist_model construct model instances. See model plugin development for adding another implementation.

Provider configuration ​

The DeepSeek, Qwen, and Custom Chat Completions pages contain provider-only YAML examples and each plugin's generation controls. Copy the relevant providers section into your worker YAML and select its entry name through driver_model or modality_assist_model, as described in Configuration. These are fragments, not complete worker files.

The dedicated provider examples include every provider-entry, endpoint, authentication, and retry field understood by the worker. Optional alternatives are commented out so mutually exclusive settings are not sent together. Generation config is an open JSON object: additional request fields are forwarded subject to the plugin's transformations and validation. There is no finite plugin-defined list of all passthrough fields, and forwarding a field does not guarantee that the remote model supports it.

Shared fields and request ownership ​

FieldMeaning and default
Provider entry nameWorker-local identifier; it may differ from the plugin name.
pluginInstalled model plugin name. Defaults to the provider entry name when omitted.
modelRequired nonempty model identifier. Startup loading is not restricted to the runtime option catalog.
endpoint.base_urlService origin, optionally with a path prefix; inherits the plugin default when omitted.
endpoint.request_pathAppended to the base URL's path prefix. Avoid duplicating /compatible-mode/v1 when using a Qwen SDK-style base URL.
endpoint.auth.schemebearer (default), custom_header, or none. Custom-header authentication uses header_name and sends the key without a Bearer prefix.
endpoint.auth.api_keyCredential; ${NAME} references resolve from the worker environment. Omit for unauthenticated endpoints.
endpoint.auth.header_nameDefaults to x-api-key; relevant only to custom-header authentication.
endpoint.auth.extras / endpoint.extrasOptional metadata retained in endpoint configuration. These providers do not use these to add request fields.
endpoint.user_agentInherits the plugin-specific default when omitted.
endpoint.extra_headersAdditional string-valued headers. Values support environment expansion; these headers are applied after authentication and User-Agent headers and can override them.
configGeneration object, default {}. Do not nest host-owned model, provider, endpoint, or retry here.
retry.max_attemptsRetries after the initial request; default 3, so at most four attempts. Set 0 to disable retries.
retry.initial_backoff_msPositive initial delay; default 500.
retry.max_backoff_msPositive delay cap, at least the initial delay; default 120000.

Retry integers must fit a signed 32-bit integer. Retry policy only retries recoverable failures; it does not make every error retryable.

Environment substitution applies to the selected provider's API key and extra header values, not arbitrary YAML strings. Referenced variables must exist and be nonempty. Prefer environment references over storing credentials in YAML.

The worker constructs messages and tools from the current loop state. For DeepSeek and Qwen, the shared adapter enforces streaming and usage collection (stream: true and stream_options.include_usage: true), and both providers remove n. These are request mechanics, not user-configurable alternatives for those providers. Other members of stream_options are preserved.

The custom chat-completions plugin instead uses overridable defaults and executes user-declared patches last; see its precedence rules. Images normally arrive through message content or the modality-assist tool; custom request patches can explicitly override generated message fields.

When editing an existing Hub session, update its persisted worker configuration and restart the worker for startup settings to take effect. Runtime model options expose a smaller set of controls; they are not a replacement for this YAML.

Documentation tracks main (repository version 1.1.4); unreleased changes may differ from published packages.