Repository navigation
02 Quick Start
Updated: 2026-09-29
After installation, this page walks through the first 30 minutes of using Nokido.
curl http://localhost:8766/health
# {"status":"ok","version":"18.3","ts":"..."}If you get Connection refused :
- Docker :
docker compose -f docker/nokido/docker-compose.yml ps - Native :
nokido-hub(orpython -m tools.nokido_hub) - Windows NSSM :
nssm status LaForge-Master
Nokido stores API keys in a vault (DPAPI on Windows, Keychain on macOS,
libsecret on Linux). Never in .env committed to git.
Open the web admin :
http://127.0.0.1:8766/admin/providers
You'll see the configured providers listed. Pick one (e.g. Groq — generous free tier) and click "🔑 Set key". Paste your API key, click "Save to vault". Done — Nokido will route to Groq when relevant.
CLI alternative :
nokido-vault set -k GROQ_API_KEY
# (paste key, hit enter)
nokido-secrets status # verifyimport requests, json
# The hub refuses anonymous calls (401) : every call carries an agent's token and name
# (see 04 — MCP clients setup ; `tools/forge_mcp_json_sync.py --emit-headers <AGENT>`).
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 the RAG pattern in 3 lines.",
}
}
}).json()
print(resp["result"]["content"][0]["text"])The hub :
- Picks
groqfrom your vault key. - Routes via
forge_llm_router.call_cascade(failover automatic). - Logs the call in
network_logfor telemetry. - Returns the answer.
Nokido speaks MCP (Model Context Protocol). Pick your favorite client :
Or write a custom client : the Hub API reference
documents the tools (read, run, query, rag, ask, orchestrate, etc.) — the exact list
depends on your agent's ring (tools/list).
Nokido prioritizes local inference. Two ways to set it up :
# In the Docker compose
docker exec laforge-ollama ollama pull qwen2.5-coder:latest
# Or with native ollama
ollama pull qwen2.5-coder:latestThen ask with provider="ollama_local".
llama-server on :8091 with qwen2.5-coder:7b-instruct-q4_K_M. See
docs/llamacpp_setup.md. The supervised service
NokidoLlamaNative is disabled by default (disabled = true in
proxy_deno/core/services.toml) : enable it when you want this path.
python tools/nokido_tui.py(nokido-cli is the plain terminal client, not the TUI.)
One pane per agent (Claude, Gemini, Codex, Cline, Master) plus toggleable views (RAG, services, tasks, health, events...). Keybindings :
-
Tab— next pane -
Ctrl+B— broadcast -
Ctrl+K— toggle RAG pane -
Ctrl+U— filter unread -
F1— help modal
Full reference : 09 — TUI reference.
# Search first
resp = requests.post("http://localhost:8766/mcp", headers=HEAD, json={
"method": "tools/call",
"params": {"name": "rag", "arguments": {
"action": "search", "topic": "BGE-M3 embedding", "limit": 5}}
}).json()
# Then ask (provider="auto" includes RAG context if rag_context=True)
resp2 = requests.post("http://localhost:8766/mcp", headers=HEAD, json={
"method": "tools/call",
"params": {"name": "ask", "arguments": {
"provider": "auto", "message": "How does BGE-M3 differ from sentence-bert?",
"rag_context": True}}
}).json()# Admin route : it takes an ADMIN bearer (anything else -> 401)
ADMIN = {"Authorization": "Bearer <admin token>"}
# Submit job, get id back -- the script must live under the repo (or C:/tmp)
resp = requests.post("http://localhost:8766/admin/run_job", headers=ADMIN, json={
"script": "tools/forge_humaneval_runner.py",
"script_args": "--provider mistral --max 164",
"online": True, # cloud provider -> network needed
"lane": "bench", # anti-saturation lane
}).json()
job_id = resp["job_id"] # "etat": "ACCEPTED" -- accepted is not produced
# Poll status (the real state, reconciled)
status = requests.get(f"http://localhost:8766/admin/job/{job_id}", headers=ADMIN).json()You don't have to wait for the result in your interactive session.
resp = requests.post("http://localhost:8766/mcp", headers=HEAD, json={
"method": "tools/call",
"params": {"name": "orchestrate", "arguments": {
"task": "Find all forge_*.py modules with cyclomatic complexity > 10, "
"list them sorted by complexity, propose refactor for top 3.",
"max_iter": 6,
}}
}).json()The hub orchestrates the LLM loop server-side. Your client doesn't carry the chain-of-thought in context.
-
Unauthorized— your client is missingAuthorization: Bearer <token>-
X-Agent-Name: <agent>. See 04 — MCP clients setup.
-
-
ring 2 > max 0— you triedquery(raw SQL) which requires ring 0. Userag(semantic search) instead. It's rule #1. -
Empty response — the provider's key is missing or quota exhausted. Check
/admin/providersfor the offending provider.
- Tune cascade priorities in
app/forge_provider_specs.py. - Add custom tools via
tools/forge_*.py(see CONTRIBUTING). - Read the Manifesto for the why behind Nokido.
- Configure a second client to see multi-agent orchestration (Claude + Gemini).
Nokido-labs/nokido · AGPL-3.0 (licence commerciale disponible) · wiki genere depuis docs/wiki de v0.20.11 (19c350a) — corrections : ouvrir une issue ou une PR sur le depot.
Nokido
English
- 01 — Installation
- 02 — Quick Start
- 03 — Architecture overview
- 04 — MCP clients setup
- 05 — LLM providers
- 06 — Hub API reference
- 07 — Security model
- 08 — Vault & secrets
- 09 — TUI reference
- 10 — Docker profiles
- 11 — Cross-OS notes
- 12 — AMI cognitive stack
- 13 — Hardware roadmap
- 14 — Troubleshooting
- 15 — Glossary
- 16 — FAQ
- 17 — First launch
- 18 — Launchers & service files
- 19 — Knowledge Pack
- 20 — Modules Reference
- 21 — SSoT Cross-CLI
- 22 — Governance, cognition & self-safety
- 23 — Orchestration & Workflows
- 24 — Cloud peers (claude.ai, ChatGPT)
- OpenAI Gateway souverain
- Nokido — Wiki
- SearXNG Keeper
- Web Egress Gateway —
:7779
Français
- Accueil
- 01 — Installation
- 02 — Démarrage rapide
- 03 — Aperçu architecture
- 04 — Configuration clients MCP
- 05 — Providers LLM
- 06 — Référence API hub
- 07 — Modèle de sécurité
- 08 — Vault & secrets
- 09 — Référence TUI
- 10 — Profils Docker
- 11 — Notes multi-OS
- 12 — Pile cognitive AMI
- 13 — Roadmap matérielle
- 14 — Troubleshooting
- 15 — Glossaire
- 16 — FAQ
- 17 — Premier lancement
- 18 — Lanceurs & fichiers services
- 19 — Knowledge Pack
- 20 — Référence des modules
- 21 — SSoT Cross-CLI
- 22 — Gouvernance, cognition & auto-sûreté
- 23 — Orchestration & workflows
- 24 — Pairs cloud (claude.ai, ChatGPT)