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

Agents & Docker

Configuring [agents.*] and [docker] tables in niki.toml.

[agents] and [docker]

Configure agent model parameters and container sandbox constraints.


[agents.<role>] Table

Roles: planner, coder, tester, reviewer, synthesizer, security_auditor, red.

[agents.planner]
provider     = "anthropic"
model        = "claude-sonnet-4-20250514"
max_tokens   = 8192
temperature  = 0.2
fallbacks    = ["openrouter", "openai"] # provider slugs, not inline objects

[agents.tester]
provider     = "openai"
model        = "gpt-4o-mini"
test_command = "npm test -- --bail" # Explicit test runner override

[docker] Table

[docker]
backend          = "docker"             # "docker" (container) or "worktree" (host-local processes)
base_image       = "niki-sandbox:24.04" # Container base image
memory_limit     = "2g"                 # Max memory
cpu_limit        = 2.0                  # Max CPU cores
pids_limit       = 512                  # Max processes
cap_drop_all     = true                 # Drops Linux capabilities
network_disabled = true                 # Blocks all container egress
readonly_rootfs  = false                # false leaves the root filesystem writable
extra_packages   = ["nodejs", "npm", "python3"]

Set readonly_rootfs = true to mount the container root filesystem read-only; the bind-mounted /workspace remains writable. Per-domain container egress allowlists are not implemented: use wildcard-open egress or block-all.

Was this page helpful?