Skip to main content
Nika’s stdlib v0.1 ships canonical providers: local / self-hosted runners, cloud APIs, and deterministic mock. You select one with a single model: <provider>/<name> field. Local first · nothing leaves your machine unless a cloud provider is explicitly selected.
Canonical source: stdlib/providers-v0.1.md in the spec (counts from canon.yaml). The engine additionally carries an extended catalog of TOML records (crates/nika-catalog/data/llm-providers.toml) used for capability metadata. Anything outside the canonical catalog routes through the openai + base_url escape hatch, not its own prefix.

Overview

Providers

canonical: local · cloud · mock

API dialects

3: openai-chat (the 5 local + most cloud) · anthropic · gemini

Capability rules

in model-capabilities.toml

How to pick a provider

1

Pick your trust model

Local / self-hosted (Ollama / LM Studio / llama.cpp / LocalAI / vLLM): zero key, zero egress, sovereign by default. EU cloud (Mistral). US frontier (Anthropic / OpenAI / Google). Aggregator (OpenRouter). Each has different residency and compliance trade-offs.
2

Check the `api_dialect`

All 5 local providers + most cloud providers speak openai-chat: same request shape, differing base URL. anthropic and gemini have native dialects.
3

Verify the backend is reachable

Local providers need their server running (e.g. the Ollama daemon on localhost:11434) and no key. Cloud providers declare an env_var (e.g., MISTRAL_API_KEY). nika doctor checks provider readiness before run.
4

Pick default vs cheap model

Every provider declares both. default_model is the capable tier; cheap_model is the cost-optimized tier. Capability rules in model-capabilities.toml determine which models support vision / tools / streaming / structured output.

By category

Local/open-weight first (sovereignty default), then cloud starting with Mistral (EU) — anthropic/openai are never presented first, per the catalog’s own presentation-order note in canon.yaml.
The sovereign default. No API key, no cloud egress: model: ollama/llama3.2:3b runs offline / air-gapped. Any other OpenAI-compatible local server (Jan · llamafile · KoboldCpp) routes through the openai + base_url escape hatch.

Full alphabetical list

anthropic · deepseek · gemini · groq · huggingface · llamacpp · lmstudio · localai · mistral · mock · moonshot · nvidia · ollama · openai · openrouter · vllm · xai total: local · cloud · test · matches canon.yaml in the spec repo. The engine’s extended capability catalog ( TOML records) is an implementation detail: extended IDs are reached via the openai + base_url escape hatch, never their own prefix.

Example: invoke a provider

infer: is live in v. Run nika doctor first to see which provider keys or local servers are available without printing secrets.

See also

Capability rules

The rules that govern which models support which features.

Concepts · Providers

How provider routing works at runtime.

Error codes

NIKA-1xx provider errors.

Schema

Workflow envelope, .nika.yaml top-level keys.