AGPL-3.0-or-later · forever.

the provider catalog

llama.cpp

The C/C++ engine most local stacks build on: one quantized GGUF, one llama-server, zero dependencies. 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.

  • 1pinned modelaliases 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: llamacpp/default), and the engine speaks openai-chat on the wire. No key exists on this path: nothing to rotate, nothing to leak. The provider id also answers to llama-cpp.

default
default
dialect
openai-chat
tags
local · open-source

the models

1 pin

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.

  • defaultdefaultctx 128k · vision

in the released catalog

1 room

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
llamacpp.nika.yaml
nika: v1workflow:  id: gguf-classify  description: "llama-server answers for whatever GGUF you loaded — the model id is free-form"tasks:  classify:    infer:      model: llamacpp/default      max_tokens: 20      temperature: 0      prompt: |        One word, bug or feature:        "clicking save twice creates two invoices"outputs:  label: ${{ tasks.classify.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 server brew install llama.cpp
  2. 2Serve the GGUF you have llama-server -m model.gguf
  3. 3The wire model id is free-form. The server answers for whatever it loaded.

Pick it for when you want the metal: quantized weights, CPU and GPU offload, nothing else running. Open source (MIT) · the upstream lives at ggml-org/llama.cpp. Then prove the seat: nika doctor names every provider this binary can reach.

swap it

4 more local seats

Moving off llama.cpp 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.

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