Introduction
Overview of NIKI and its multi-agent architecture.
Introduction to NIKI
NIKI v0.11.0 is an autonomous multi-agent coding engine written in Go (Go 1.24+).
It is designed to solve a fundamental problem in AI-assisted software development: the babysitting tax of single-agent chat interfaces.
Instead of interacting in a single long conversation where a single LLM writes code, overlooks bugs, and confirms its own assumptions, NIKI runs role-isolated agents in a Docker/Podman container or a host-local worktree backend.
Core Tenets
- Multi-Agent, Not Monolithic: In the
multiagenttopology, planning, coding, test synthesis, and code review use separate agents with isolated prompts and independent model selections. - Context Isolation: Agents do not share chat history. They communicate strictly through structured, typed JSON schemas (
TaskSpec,CodeDiff,TestReport,ReviewVerdict). - Sandboxed Execution: The container backend bind-mounts the project at
/workspace; the worktree backend isolates changes in.niki-worktrees/<id>before applying the final diff. UnlessDOCKER_HOSToverrides discovery, the default socket probe checks rootless before rootful sockets. - Git Branch Output: A non-empty diff creates
niki/<id>only when no test or mutation failure blocks the branch.--forcecreates an explicitly unverified branch; dry-run and plan modes create none. Reports and artifacts stay under.niki/tasks/<id>/and are excluded from the published diff. - BYOK (Bring Your Own Keys): No credentials are bundled. The user-facing provider slugs are Anthropic, OpenAI, OpenRouter, NVIDIA, Together, Groq, DeepSeek, Zen, Kimi, Kilo, Google, and Ollama.