nui is a self-hosted web UI for interactive AI agent sessions. This site hosts the developer documentation — everything you need to build extensions, custom harnesses, and ADL agents.

Topic Description
Developer guide Build from source, architecture, REST API, contributing
ADL Agent Definition Language — YAML schema for custom agents
Harness protocols HTTP/SSE, stdio JSON-RPC, and TCP harness wire formats
Extension API Full reference for extension manifests, SDKs, and examples
CLI reference nui server, extensions, skills, memory, evals, schedules

Extension API (start here for extension authors)

Extensions add harnesses, MCP servers, skills, rules, agents, mention providers, HITL channels, storage backends, and deployers to nui. They install into ~/.nui/extensions/<name>/ and are discovered at server start.

nui extension add ./my-extension
nui extension add https://github.com/example/my-extension.git
nui extension list
nui extension remove my-extension

Recommended reading order:

  1. Getting started — install the corp-pack example, directory layout
  2. Manifestextension.yaml schema and contribution types
  3. Harnesses — stdio, TCP, and HTTP extension harnesses
  4. MCP, skills & rules — custom tools, catalog lists, ADL refs
  5. Programmatic SDK — Python, TypeScript, and Go NuiExtension packages

Shipped examples in the main repository:

Example What it demonstrates
corp-pack Harnesses, custom MCP tools, skills, rules, catalog, agents, mentions
hitl-demo HITL channels, REST bridge, ask_user from tools
storage-demo Session history and memory persistence handlers
docker-deployer Agent deployer that builds Docker images
programmatic-echo Programmatic Python extension (no static contribution files)

Features overview

Product-oriented feature pages (less technical depth):

Source repository

Implementation details and the latest markdown sources also live in the plmbr/nui repository under dev/ and DEVELOPERS.md. This site is the canonical on-site developer reference.