Mirror of the public Nokido wiki (source of truth: https://github.com/Nokido-labs/nokido/wiki/17-First-Launch). Edits belong there.
Updated: 2026-09-29
You just installed Nokido. This page walks you through the first 10
minutes : starting the hub, configuring your first LLM provider via the
web UI, making your first call.
# Hub responds
curl http://localhost:8766/health
# {"status":"ok","version":"18.3","ts":"..."}
# Vault works
nokido-secrets status
# Keyring: OK
# Coffre machine (1): ['FORGE_MCP_TOKEN']
# ...
If anything is missing, go back to 01 — Installation.
http://127.0.0.1:8766/admin/providers
You'll see a table of the LLM provider slots (39 on 2026-09-29). Some are local
(Ollama, llama.cpp, LM Studio — no key needed). The rest are cloud providers
with quotas.
The badge under each provider's "Status" column tells you :
✓ key present → vault has the API key, ready to use.✗ no key → cloud provider, missing API key. Click "🔑 Set key".n/a → local provider, no key needed.Recommended starter : Groq (free tier, ultra-fast).
groq row → click 🔑 Set key.The key is stored encrypted in your machine vault — never in .env,
never echoed in logs. Confirmation toast appears at bottom-right :
Saved GROQ_API_KEY → vault (***xx1z).
Repeat for any of these free-tier providers (each one independent) :
| Provider | Console |
|---|---|
| Groq | https://console.groq.com |
| Cerebras | https://cloud.cerebras.ai |
| Google Gemini | https://aistudio.google.com/apikey |
| Cohere | https://dashboard.cohere.com/api-keys |
| GitHub Models | https://github.com/settings/tokens |
| NVIDIA NIM | https://build.nvidia.com |
| SambaNova | https://cloud.sambanova.ai |
| OpenRouter | https://openrouter.ai/keys |
Quotas move with the vendors : read each slot's current quota in /admin/providers, not
here. You don't need them all — even one is enough to start. (Mistral is a paid_api slot
in Nokido's registry ; HuggingFace and Cloudflare no longer have a slot.)
In the admin UI, click ▶ Test next to your provider. The toast shows :
✓ groq: ok
If you see ✗ groq: no key in vault for GROQ_API_KEY — the key didn't
save. Try again, watch for typos / trailing spaces.
import requests
# The hub refuses anonymous calls (401) : pass an agent's token and name
HEAD = {"Authorization": "Bearer <FORGE_TOKEN_...>", "X-Agent-Name": "CLAUDE",
"Accept": "application/json, text/event-stream"}
resp = requests.post("http://localhost:8766/mcp", headers=HEAD, json={
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": {
"name": "ask",
"arguments": {
"provider": "groq", # or "auto" for cascade
"message": "Explain RAG in 3 lines."
}
}
}).json()
print(resp["result"]["content"][0]["text"])
You should get a Groq response in under a second.
Now connect your daily-driver agent :
Each client gets a dedicated bearer token so the hub knows which
agent is talking and applies the right RBAC ring.
Local-first means the cascade should prefer local before cloud. Pull a
solid coder model :
# Via Docker compose
docker exec laforge-ollama ollama pull qwen2.5-coder:latest
# Or native
ollama pull qwen2.5-coder:latest
Now when you ask(provider="auto", ...) the cascade can use the local slots
(ollama_local, lmstudio_native) wherever the use-case chain lists them — e.g. the
code chain — and falls back to the cloud slots otherwise (see
05 — LLM providers).
python tools/nokido_tui.py
One pane per agent plus ten switchable views. Press F1 for help, F3 to cycle views,
Ctrl+K to toggle the RAG pane.
See 09 — TUI reference for the 23 slash commands.
# Hub binds localhost only (not 0.0.0.0)
netstat -an | grep 8766
# Should show: 127.0.0.1:8766
# Vault has your tokens (no .env leak)
nokido-secrets status
# Coffre machine (14+): [...]
# Gitleaks pre-commit hook present
ls .githooks/pre-commit
If you see anything binding 0.0.0.0, edit docker-compose.yml or your
launch script — Nokido should never be on a non-localhost interface
without TLS + auth wrapping (Tailscale, WireGuard).
For per-task isolation (the run / orchestrate tools execute under
sandbox identities) :
# Windows (admin)
.\install.ps1 -WithSandboxUsers
# Linux / macOS (sudo)
WITH_SANDBOX_USERS=1 sudo -E bash install.sh
Provisions :
LaForgeSbxOnline / laforge-sandbox-online — sandbox WITH networkLaForgeSbxOffline / laforge-sandbox-offline — sandbox without networkLaForgeTrustedRunners / laforge-trusted — group of users allowedtrusted_script via the hub.Recommended for any setup that runs LLM-generated code (cf the SWE-bench
loop or orchestrate autonomy).
# Recent MCP traffic (every call logged) -- network_log is in the hub's main DB
sqlite3 <hub DB> \
"SELECT ts, agent, tool, status FROM network_log
ORDER BY ts DESC LIMIT 10"
# What was anchored (anchor_solution / anchor_error) : the lessons file, not a
# SQL scan of rag_chunks (tens of GB : a filter without index reads it all)
tail -20 logs/lessons_learned.md
# Secrets state
nokido-secrets status
The web UI /forge/network and /forge/rag show the same data
visually.
You now have :
network_log.Next up :
docs/skills/nokido/SKILL.md.data/machine_vault.dat (Windows) or yourNokido.env : even though secrets aren't in itWelcome to Nokido.
Wiki: 01-Installation
Wiki: 02-Quick-Start
Wiki: 05-LLM-Providers
Wiki: 09-TUI-Reference
Wiki: 12-AMI-Cognitive-Stack
Wiki: 14-Troubleshooting