AGPL-3.0-or-later · forever.

the provider catalog

Ollama

The shortest path to local: pull a model once, point the file at it, and nothing leaves the machine. One provider/model line moves a workflow here or away again: the same file runs on every provider the catalog names, and swapping is a one-word diff. Machines read the catalog; the binary answers nika catalog.

  • 2pinned modelsaliases pin exact upstream ids
  • localfamilythe sovereign default: your hardware, no key
  • no keynothing to leakthe sovereign path
  • openai-chatwire dialectthe adapter speaks it

the wire

local · the sovereign default: your hardware, no key

A workflow names this provider in the model line (model: ollama/qwen3.5:4b), and the engine speaks openai-chat on the wire. No key exists on this path: nothing to rotate, nothing to leak.

default
qwen3.5:4b
cheap
llama3.2:3b
dialect
openai-chat
tags
local · open-source

the models

2 pins

Aliases are what the file may write; the engine pins each one to an exact upstream id, so a run stays reproducible after a vendor rotates names.

  • qwenqwen3.5:4bctx 128k · vision
  • llamallama3.2:3bctx 128k · vision

in the released catalog

2 rooms

The wire models this provider serves in the released binary's catalog · each one is a room with its seats, exact prices and measured energy.

the whole register: /catalog/models · what the released binary knows, vendored at the engine pin.

in a real file

a complete workflow · shown whole
ollama.nika.yaml
nika: v1workflow:  id: local-summary  description: "a summary that never leaves the machine — Ollama serves on localhost:11434"tasks:  summarize:    infer:      model: ollama/qwen3.5:4b      max_tokens: 200      prompt: |        Summarize in two sentences what a hash-chained trace        gives an auditor that a plain log file cannot.outputs:  summary: ${{ tasks.summarize.output }}

check-green against the released engine · 1 task · 1 wave · no closed ceiling: an unpriced model is unpriced, never free · the drift gate re-proves this copy on every test run · open it in the playground →

get set up

  1. 1Install the runtime brew install ollama
  2. 2Pull the model the file names ollama pull qwen3.5:4b
  3. 3No key: the server answers on localhost:11434.

Pick it for the default when the work is private, frequent, or should cost hardware instead of tokens. Open source (MIT) with its own inference engine and model library. Then prove the seat: nika doctor names every provider this binary can reach.

swap it

4 more local seats

Moving off Ollama is editing one line. The rest of the file (tasks, permits, outputs, the trace) does not change. The register orders the catalog local first; beyond it the engine embeds 21 more OpenAI-compatible endpoints.

cross-references

the words that meet it

Try it in the playground, or install and go local first. Read the spec →