Skip to content
Niki v0.11.0: TUI redesign, Go rewrite, and platform hardening.Read the release notes
niki
Esc
↑↓navigate↵open⌘Jpreview
On this page

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

  1. Multi-Agent, Not Monolithic: In the multiagent topology, planning, coding, test synthesis, and code review use separate agents with isolated prompts and independent model selections.
  2. Context Isolation: Agents do not share chat history. They communicate strictly through structured, typed JSON schemas (TaskSpec, CodeDiff, TestReport, ReviewVerdict).
  3. 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. Unless DOCKER_HOST overrides discovery, the default socket probe checks rootless before rootful sockets.
  4. Git Branch Output: A non-empty diff creates niki/<id> only when no test or mutation failure blocks the branch. --force creates 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.
  5. 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.

Was this page helpful?