Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CLI Commands

NabaOS ships as a single binary called nabaos. All commands share two global options:

nabaos [OPTIONS] <COMMAND>

Options:
  --data-dir <PATH>   Data directory  [env: NABA_DATA_DIR] [default: ~/.nabaos]
  --model-dir <PATH>  Model directory [env: NABA_MODEL_PATH] [default: models/setfit-w5h2]
  -h, --help          Print help
  -V, --version       Print version

Top-Level Commands

CommandDescription
setupInteractive setup wizard
startStart the server (Telegram, Discord, web dashboard, scheduler)
askRun a query through the full pipeline
statusShow cost tracking and system status
configConfiguration subcommands
adminAdministration and diagnostics
memoryView and manage agent memory
researchRun a research query
initInitialize a new project directory
exportExport and hardware analysis
peaPEA (Persistent Execution Agent) management
watcherFile watcher (requires --features watcher)
checkHealth check

setup

Interactive setup wizard: scans hardware, suggests a module profile (core, web, voice, browser, telegram, latex, mobile, oauth), and saves the configuration.

nabaos setup [--non-interactive] [--interactive] [--download-models]
FlagDescription
--non-interactiveSkip prompts, accept the suggested profile
--interactiveForce interactive mode
--download-modelsDownload ONNX models during setup

Example:

nabaos setup
# Scanning hardware...
# Detected: 8 cores, 16GB RAM, no GPU
# Suggested profile: core, web, telegram
# Accept? [Y/n]

start

Start the server. Runs scheduled jobs, and optionally starts the Telegram bot, Discord bot, and web dashboard based on environment variables.

nabaos start [--telegram-only] [--web-only] [--bind <ADDR>]
FlagDescription
--telegram-onlyStart only the Telegram bot
--web-onlyStart only the web dashboard
--bind <ADDR>Bind address for web dashboard [default: 127.0.0.1:8919]

Example:

nabaos start
# [start] Starting Telegram bot...
# [start] Bot username: @my_nabaos_bot
# [start] Starting Discord bot...
# [start] Starting web dashboard on http://127.0.0.1:8919...
# [start] Scheduler running (3 scheduled jobs)
# [start] Ready.

ask

Run a query through the full pipeline: fingerprint cache, BERT classification, SetFit intent classification, constitution check, semantic cache, LLM routing, and response generation.

nabaos ask <QUERY>
ArgumentRequiredDescription
QUERYyesThe query to process

Example:

nabaos ask "what is the price of NVDA"

status

Show cost tracking summary: total spend, cache savings, token usage. Displays both all-time and last-24-hour figures.

nabaos status [--abilities] [--full] [QUERY]
FlagDescription
--abilitiesList all available abilities
--fullShow full details
QUERYOptional query to show status for

config

Configuration subcommands are organized into subgroups:

config persona

Manage agent personas and the catalog.

nabaos config persona list
nabaos config persona info <NAME>
nabaos config persona catalog list
nabaos config persona catalog search <QUERY>
nabaos config persona catalog info <NAME>
nabaos config persona catalog install <NAME>

Example:

nabaos config persona catalog list
# Available personas:
#   research-assistant    Research and analysis workflows
#   dev-assistant         Developer productivity assistant
#   home-assistant        Smart home management
#   ...

config rules

Manage constitution rules.

nabaos config rules check <QUERY>
nabaos config rules show
nabaos config rules templates
nabaos config rules use-template <NAME> [--output <PATH>]
SubcommandDescription
checkCheck a query against the active constitution
showDisplay the active constitution and all rules
templatesList the 8 built-in constitution templates
use-templateGenerate a YAML file from a named template

Templates: default, content-creator, dev-assistant, full-autonomy, home-assistant, hr-assistant, research-assistant, trading.

Example:

nabaos config rules check "delete all files"
# Query:       delete all files
# Intent:      delete|file
# Enforcement: Block
# Matched:     block_destructive_keywords

config workflow

Manage workflows.

nabaos config workflow list
nabaos config workflow start <NAME>
nabaos config workflow status <ID>
nabaos config workflow cancel <ID>
nabaos config workflow tui
nabaos config workflow visualize <NAME>
nabaos config workflow suggest
nabaos config workflow create <NAME>
nabaos config workflow templates

config resource

Manage external resources.

nabaos config resource list
nabaos config resource status
nabaos config resource leases
nabaos config resource discover
nabaos config resource auto-add

config style

Manage response styles.

nabaos config style list
nabaos config style set <KEY> <VALUE>
nabaos config style clear
nabaos config style show

config skill

Manage skills.

nabaos config skill forge
nabaos config skill list

config schedule

Manage scheduled jobs.

nabaos config schedule add <CHAIN_ID> <INTERVAL>
nabaos config schedule list
nabaos config schedule run-due
nabaos config schedule disable <JOB_ID>
ArgumentRequiredDescription
CHAIN_IDyesChain ID to schedule
INTERVALyesInterval string: "10m", "1h", "30s"

Example:

nabaos config schedule add check_email 10m
# Scheduled 'check_email' every 10m (job: a1b2c3d4...)

config vault

Manage the encrypted secret vault.

echo "secret-value" | nabaos config vault store <NAME> [--bind <INTENTS>]
nabaos config vault list
ArgumentRequiredDescription
NAMEyesSecret name (key)
--bindnoPipe-separated intent binding, e.g. "check|analyze"

Requires NABA_VAULT_PASSPHRASE or prompts interactively.

Example:

echo "xoxb-my-slack-token" | nabaos config vault store SLACK_TOKEN --bind "notify|channel"

config security

Configure security settings.

nabaos config security 2fa <METHOD>
ArgumentRequiredDescription
METHODyestotp or password

config agent

Manage installed agents.

nabaos config agent install <PACKAGE>
nabaos config agent list
nabaos config agent info <NAME>
nabaos config agent start <NAME>
nabaos config agent stop <NAME>
nabaos config agent disable <NAME>
nabaos config agent enable <NAME>
nabaos config agent uninstall <NAME>
nabaos config agent permissions <NAME>
nabaos config agent package <SOURCE> -o <OUTPUT>
SubcommandDescription
installInstall an agent from a .nap package file
listList all installed agents with name, version, and state
infoShow detailed information about an installed agent
start/stopChange the lifecycle state of an agent
disable/enableDisable or enable an agent
uninstallUninstall an agent and remove its data
permissionsShow all permissions granted to an agent
packagePackage a source directory into a .nap file

admin

Administration and diagnostic subcommands.

admin classify

Classify a query into a W5H2 intent using the local models.

nabaos admin classify <QUERY>

Example:

nabaos admin classify "check my email for messages from Alice"
# Query:      check my email for messages from Alice
# Intent:     check|email
# Action:     check
# Target:     email
# Confidence: 94.2%
# Latency:    3.1ms

admin cache

View cache statistics.

nabaos admin cache stats

Example:

nabaos admin cache stats
# === Cache Statistics ===
# Fingerprint Cache (Tier 0):
#   Entries: 142
#   Hits:    1038
# Intent Cache (Tier 2):
#   Total entries:   27
#   Enabled entries: 25
#   Total hits:      314

admin scan

Scan text for credential leaks, PII, and prompt injection patterns. Runs entirely locally.

nabaos admin scan <TEXT>

Example:

nabaos admin scan "my api key is sk-ant-abc123 and my SSN is 123-45-6789"
# === Security Scan ===
# Credentials: 1 found
# PII:         1 found
# Types:       ["api_key", "ssn"]
# === Redacted Output ===
# my api key is [REDACTED:api_key] and my SSN is [REDACTED:ssn]

admin plugin

Manage plugins.

nabaos admin plugin install <MANIFEST>
nabaos admin plugin list
nabaos admin plugin remove <NAME>
nabaos admin plugin register-subprocess <CONFIG>
SubcommandDescription
installInstall a plugin from a manifest file
listList installed plugins with trust levels
removeRemove an installed plugin by name
register-subprocessRegister subprocess abilities from a YAML config

admin run

Execute a WASM agent module inside the sandboxed runtime.

nabaos admin run <WASM> --manifest <MANIFEST>
ArgumentRequiredDescription
WASMyesPath to the .wasm module
--manifestyesPath to the agent manifest JSON

Example:

nabaos admin run agents/weather.wasm --manifest agents/weather.json

admin retrain

Export training data from the training queue for SetFit fine-tuning.

nabaos admin retrain

admin deploy

Generate a Docker Compose file from the current module profile.

nabaos admin deploy [--output <PATH>]
ArgumentRequiredDescription
-o, --outputnoOutput path [default: docker-compose.yml]

admin latex

LaTeX document generation.

nabaos admin latex templates
nabaos admin latex generate <TEMPLATE> -o <OUTPUT>

Templates: invoice, research_paper, report, letter.

Example:

echo '{"company":"Acme","items":[...]}' | nabaos admin latex generate invoice -o invoice.pdf

admin voice

Transcribe an audio file to text.

nabaos admin voice <FILE>

admin oauth

Manage OAuth connectors.

nabaos admin oauth status

admin browser

Manage browser sessions and extensions.

nabaos admin browser sessions
nabaos admin browser clear-sessions
nabaos admin browser captcha-status
nabaos admin browser extension-status

memory

View and manage agent memory.

nabaos memory list
nabaos memory show
nabaos memory clear

research

Run a research query through the deep research pipeline.

nabaos research <QUERY>

init

Initialize a new NabaOS project directory with default configuration files.

nabaos init

export

Export and hardware analysis.

nabaos export list
nabaos export analyze
nabaos export generate
nabaos export hardware

pea

PEA (Persistent Execution Agent) management.

nabaos pea start <TASK>
nabaos pea list
nabaos pea status <ID>
nabaos pea tasks
nabaos pea pause <ID>
nabaos pea resume <ID>
nabaos pea cancel <ID>
SubcommandDescription
startStart a new PEA with a task description
listList all PEAs
statusShow status of a specific PEA
tasksList all PEA tasks
pausePause a running PEA
resumeResume a paused PEA
cancelCancel a PEA

watcher

File watcher (requires the watcher feature flag at compile time).

nabaos watcher <SUBCOMMAND>

check

Health check.

nabaos check [--health]
FlagDescription
--healthRun a health check and exit