AGPL-3.0-or-later · forever.

operations · live + preview

Three surfaces. Three jobs.

Separate the stable resident firer, the local model endpoint and the future workflow HTTP API before you deploy anything.

The resident firer and local model endpoint ship in the released engine. The workflow HTTP API remains preview. Their trust boundaries and clients are different.

nika serve watches the project clock.

The released resident firer reads nika.yaml, sends every due beat through the same firing law as nika arm fire, reloads valid edits and shuts down cleanly on signals.

nika model serve hosts a local model.

This foreground command starts the local model lane and exposes an OpenAI-compatible chat endpoint for the engine to call over loopback.

nika model serve --model Qwen/Qwen3-0.6B-GGUF

LocalNika is the shipped application seam.

For a Node application today, drive the binary directly. It preserves the engine verdicts without requiring a daemon or inventing an HTTP contract around the CLI.

import { LocalNika } from '@supernovae-st/nika-client/local'

const nika = new LocalNika({ cwd: process.cwd() })
const result = await nika.runToEnd('workflow.nika.yaml')

The HTTP workflow API is a separate horizon.

The root SDK module already describes jobs, workflows, SSE and artifacts. Treat it as a preview until a compatible service is released and its deployment contract is published.