Ga naar hoofdinhoud

Nanobot-tutorial: een lichtgewicht alternatief voor OpenClaw

Ontdek Nanobot, het lichtgewicht alternatief voor OpenClaw. Bouw in minder dan 10 minuten een veilige, controleerbare Python AI-agent met deze complete setupgids.
Bijgewerkt 2 jun 2026  · 6 min lezen

Nanobot is een lichtgewicht persoonlijke AI-assistent, een alternatief voor OpenClaw. Het is 98% kleiner dan OpenClaw en levert toch dezelfde kernfunctionaliteit voor agents. Net als OpenClaw kun je het op je eigen machine draaien, het verbinden met je favoriete apps en kun je, dankzij de kleine omvang, de code eenvoudig inspecteren. 

Nanobot koppelt je favoriete gesloten en open-sourcemodellen om lokaal een codeeragent te draaien. Zodra je berichten verstuurt via Telegram, WhatsApp of de terminal, reageert de agent door opdrachten op je machine uit te voeren, zoals logs lezen, scripts uitvoeren en bestanden doorzoeken. 

In deze tutorial laat ik je zien hoe je Nanobot vanaf nul opzet en hoe je in een paar minuten een volwaardige AI-agent bouwt. Ik bespreek ook een aantal valkuilen waar je rekening mee moet houden bij het gebruik van deze technologie. 

Wat is Nanobot?

Nanobot is een alternatief voor OpenClaw dat razendsnel populair is geworden, met inmiddels meer dan 21.000 GitHub-sterren. Net als OpenClaw ondersteunt het populaire messagingplatforms zoals Discord, Slack en Telegram. 

Net als de OpenClaw-agent kan je Nanobot-agent ook meedoen aan het socialemediafeest op Moltbook, zoals we laten zien in onze Aan de slag met Moltbook-tutorial. 

Belangrijkste mogelijkheden van Nanobot

Ondanks het kleine formaat dekt Nanobot drie kernbehoeften die je van een krachtige agent verwacht: 

  • Stateful geheugen: Nanobot bouwt lokaal een graaf van je geschiedenis. Dat betekent dat als je vandaag aan een Python-data-analyseproject werkt, het dat over een week nog steeds weet. 
  • Model-agnostisch: Je zit niet vast aan één specifieke modelprovider. Je kunt modellen van OpenAI, Anthropic of zelfs lokale modellen op je eigen hardware gebruiken. 
  • Directe UI: Nanobot is te gebruiken in je favoriete messaging-apps, zodat je gewoon de interfaces blijft gebruiken die je kent. 

Vereisten om Nanobot te draaien

Om deze tutorial te volgen, heb je een paar basiszaken nodig:

  • Python 3.11 of hoger geïnstalleerd op je computer (Mac, Windows of Linux).
  • Een API-sleutel van een provider zoals OpenRouter, OpenAI of Anthropic, of stel een lokaal model in via Ollama.
  • Een Telegram-account (ik gebruik Telegram als interface omdat dat het makkelijkst op te zetten is).

Nanobot stap-voor-stap: een "Research Agent" bouwen

Laten we een agent bouwen die in je Telegram leeft, het web kan doorzoeken en je interesses onthoudt.

Stap-voor-stap: een "Research Agent" bouwen

Stap 1: Installeer Nanobot

De schoonste manier om tegenwoordig Python-tools te installeren is met pip of uv, zodat ze los staan van je systeem-Python. Als je die niet hebt, werkt standaard pip ook prima.

Open je terminal en voer uit:

# run inside your env
pip install nanobot-ai 
# OR if you prefer uv
uv tool install nanobot-ai

Na installatie zie je een bericht zoals hieronder:

Successfully installed nanobot-0.4.1

Stap 2: Haal je interface-token op

Om de interface in te stellen:

  • Open Telegram en zoek @BotFather 
  • Typ /newbot en volg de aanwijzingen 
  • Kopieer de token die je van BotFather krijgt 
  • Haal vervolgens je gebruikers-ID op zodat de bot alleen opdrachten van jou accepteert. Zoek @userinfobot in Telegram en klik op Start. Kopieer de gebruikers-ID. 

Stap 3: Initialiseren 

Voer nanobot onboard uit om je bot te initialiseren. Je zou een bericht moeten zien zoals hieronder:

✓ Created config at /Users/derrickmwiti/.nanobot/config.json
✓ Created workspace at /Users/derrickmwiti/.nanobot/workspace
  Created AGENTS.md
  Created SOUL.md
  Created USER.md
  Created memory/MEMORY.md
  Created memory/HISTORY.md
🐈 nanobot is ready!
Next steps:
  1. Add your API key to ~/.nanobot/config.json
     Get one at: https://openrouter.ai/keys
  2. Chat: nanobot agent -m "Hello!"
Want Telegram/WhatsApp? See: https://github.com/HKUDS/nanobot#-chat-apps

Stap 4: Configuratie

Voer onderstaand commando uit en voeg onder het gedeelte providers de API-sleutel toe van de modelprovider die je wilt gebruiken: 

nano ~/.nanobot/config.json

Bewerk het bestand om de API-sleutel toe te voegen aan je gekozen provider:

{
  "workspace": "./workspace",
  "providers": {
    // Option 1: OpenAI
    "openai": {
      "apiKey": "sk-YOUR-OPENAI-KEY-HERE",
      "model": "gpt-4o"
    },
    // Option 2: Anthropic (Claude)
    "anthropic": {
      "apiKey": "sk-ant-YOUR-CLAUDE-KEY-HERE",
      "model": "claude-3-5-sonnet-20240620"
    },
    // Option 3: Google Gemini
    "google": {
      "apiKey": "AIza-YOUR-GOOGLE-KEY-HERE",
      "model": "gemini-1.5-pro"
    },
    // Option 4: OpenRouter (Best for flexibility)
    "openrouter": {
      "apiKey": "sk-or-YOUR-OPENROUTER-KEY-HERE",
      "model": "nousresearch/hermes-3-llama-3.1-405b"
    },
    // Option 5: Local (Ollama or vLLM)
    "local": {
      "apiBase": "http://localhost:11434/v1",
      "apiKey": "ollama",
      "model": "llama3"
    }
  },
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "YOUR_TELEGRAM_BOT_TOKEN",
      "allowFrom": ["YOUR_NUMERIC_USER_ID"]
    }
  }
}

Bewerk het Telegram-gedeelte en voeg de token en gebruikers-ID toe die je eerder hebt opgehaald. Dit is nodig zodat jij de enige bent die instructies naar je agent kan sturen. 

"telegram": {
      "enabled": true,
      "token": "",
      "allowFrom": [""],
      "proxy": null
}

   Pas het agents-gedeelte aan om de gekozen provider te weerspiegelen:

"agents": {
    "defaults": {
      "workspace": "~/.nanobot/workspace",
      "model": "openai/gpt-5",
      "maxTokens": 8192,
      "temperature": 0.7,
      "maxToolIterations": 20,
      "memoryWindow": 50
    }
  }

Test je agent in de terminal:

nanobot agent -m "Hello"   

🐈 nanobot
Hi there! How can I help you today?    

Stap 5: Stel de gateway in

Om de Telegram-integratie af te ronden, voer je onderstaande opdracht uit in de terminal: 

nanobot gateway

Je zou nu moeten zien dat Telegram is ingeschakeld, zoals je kunt zien aan mijn berichten hieronder: 

🐈 Starting nanobot gateway on port 18790...
2026-02-13 09:59:35.405 | INFO     | nanobot.channels.manager:_init_channels:46 - Telegram channel enabled
✓ Channels enabled: telegram
✓ Heartbeat: every 30m
2026-02-13 09:59:35.406 | INFO     | nanobot.cron.service:start:154 - Cron service started with 0 jobs
2026-02-13 09:59:35.406 | INFO     | nanobot.heartbeat.service:start:81 - Heartbeat started (every 1800s)
2026-02-13 09:59:35.406 | INFO     | nanobot.agent.loop:run:116 - Agent loop started
2026-02-13 09:59:35.406 | INFO     | nanobot.channels.manager:start_all:159 - Starting telegram channel...
2026-02-13 09:59:35.406 | INFO     | nanobot.channels.manager:_dispatch_outbound:187 - Outbound dispatcher started
2026-02-13 09:59:35.411 | INFO     | nanobot.channels.telegram:start:140 - Starting Telegram bot (polling mode)...
2026-02-13 09:59:39.245 | INFO     | nanobot.channels.telegram:start:148 - Telegram bot @mwitibananabot connected
2026-02-13 09:59:39.417 | DEBUG    | nanobot.channels.telegram:start:152 - Telegram bot commands registered

Ga naar Telegram en test het: 

Je kunt leren hoe je Anthropic's Claude Code gebruikt om softwareontwikkelworkflows te verbeteren met een praktisch voorbeeld met de Supabase Python-bibliotheek in onze Claude Code-tutorial

Nanobot naar een hoger niveau tillen: de "multi-tool"-agent

Nu de setup klaar is, is het tijd om je agent functioneler te maken. De meeste modellen hebben informatie slechts tot aan de cutoff-datum van hun trainingsdata. We kunnen het functioneler maken door het met internet te verbinden.

Nanobot ondersteunt het Model Context Protocol (MCP) en voegt zo mogelijkheden toe aan je agent, zoals webzoeken of databasequeries. Laten we de Brave Search Server toevoegen zodat onze agent toegang tot internet krijgt:

  1. Haal een API-sleutel bij Brave
  2. Werk de config bij met de sleutel
"tools": {
    "web": {
      "search": {
        "apiKey": "",
        "maxResults": 5
      }
    },
    "exec": {
      "timeout": 60
    },
    "restrictToWorkspace": false
  }

Start je gateway opnieuw.

Stel nu in Telegram een vraag zoals “Wat is de huidige prijs van het Apple-aandeel?” In de terminal kun je zien dat het daadwerkelijk het web doorzoekt: 

2026-02-13 10:14:48.753 | INFO     | nanobot.agent.loop:_process_message:164 - Processing message from telegram:7045522516: What is the current price of the Apple Stock
2026-02-13 10:14:59.726 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_search({"query": "AAPL stock price Yahoo Finance", "count": 5})
2026-02-13 10:15:22.066 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://finance.yahoo.com/quote/AAPL/", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:15:26.886 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://www.google.com/finance/quote/AAPL:NASDAQ", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:15:51.361 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://query1.finance.yahoo.com/v7/finance/quote?symbols=AAPL", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:15:52.018 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://query2.finance.yahoo.com/v10/finance/quoteSummary/AAPL?modules=price", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:16:07.071 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://www.marketwatch.com/investing/stock/aapl", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:16:07.406 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://finviz.com/quote.ashx?t=AAPL", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:16:35.897 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://financialmodelingprep.com/api/v3/quote/AAPL?apikey=demo", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:16:36.919 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://stooq.com/q/l/?s=aapl.us&i=5", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:17:14.870 | INFO     | nanobot.agent.loop:_process_message:266 - Response to telegram:7045522516: Reflection:
- JS-heavy sites (Yahoo/Google) hid the live quote; Yahoo's JSON APIs blocked (401). 
- Finviz returned a pr...

Lokaal en privé: Nanobot offline draaien

Net als OpenClaw is een van de grootste voordelen van Nanobot de privacy. Je kunt het gebruiken zonder data naar een cloudprovider te sturen. Omdat Nanobot vllm en OpenAI-compatibele endpoints ondersteunt, kun je het richten op een lokale modelrunner zoals Ollama. 

  1. Installeer Ollama en voer ollama uit
  2. Werk je provider-sectie in config.json bij (zie het "local"-voorbeeld in Stap 4 hierboven).

Bekijk onze OpenClaw gebruiken met Ollama-tutorial om te leren hoe je een volledig lokale AI-data-analist bouwt met OpenClaw en Ollama die meerstapsworkflows orkestreert, datasets analyseert en visuele rapporten genereert, zonder je data naar de cloud te sturen.

Veelvoorkomende valkuilen en troubleshooting met Nanobot

Zelfs met een eenvoudige tool als Nanobot kan er iets misgaan. Dit zijn een paar problemen waar je waarschijnlijk tegenaan loopt en hoe je ze oplost. 

Connection refused-fouten

Als je Nanobot op een server probeert te draaien maar lokale modellen wilt benaderen, krijg je een connection refused-fout.  Dat komt omdat de online server geen toegang heeft tot je lokale computer. 

Om dit te omzeilen, moet je zorgen dat de open-sourcemodellen ook op dezelfde server draaien of iets als ngrok gebruiken om de verbinding te overbruggen. 

Beperkingen van de contextwindow

Lokale modellen hebben vaak kleinere geheugencapaciteiten (contextwindows). Zelfs cloudmodellen hebben een beperkte contextwindow. Omdat Nanobot zijn geheugen als eenvoudige bestanden opslaat, is de beste manier om zijn brein te "resetten" om handmatig de geheugenbestanden in je ./workspace-map te verwijderen. 

Je kunt ook overstappen op een model met een grotere contextwindow, zoals gemini-1.5-pro of Claude Opus 4.6.

Conclusie

Nanobot bewijst dat krachtige software niet groot hoeft te zijn. Het biedt dezelfde kernfuncties als OpenClaw en is toch aanzienlijk kleiner. Het brengt echter dezelfde beveiligingsproblemen met zich mee, dus ik raad aan om het in een sandboxomgeving op te zetten om rampzalige problemen, zoals het volledig wissen van je harde schijf, te voorkomen.  

Wil je meer leren over werken met AI-tools? Bekijk dan onze gids met de beste gratis AI-tools. Voor bredere AI-codingskills kun je onze cursus AI-Assisted Coding for Developers proberen om de skills te ontwikkelen die AI-assistenten betrouwbaardere partners maken in je developmentworkflow. 

Je kunt ook ontdekken hoe je AI-gestuurde applicaties bouwt met LLM’s, prompts, ketens en agents in LangChain in onze Developing LLM Applications with LangChain-cursus.

Nanobot FAQ's

Hoe verschilt Nanobot van OpenClaw?

De kernfunctionaliteit is hetzelfde. Nanobot is een kleiner alternatief, waardoor het voor jou makkelijker is om de code te lezen en bij te werken.

Mijn Nanobot-agent is online maar negeert mijn berichten. Hoe kan dat?

Dit is bijna altijd de instelling allowFrom. Als je ook maar een waarde aan deze lijst hebt toegevoegd (zelfs een placeholder), activeert Nanobot de "Whitelist-modus" en negeert het strikt elke gebruikers-ID die niet in die lijst staat.

Heeft Nanobot een web-UI?

Nee, Nanobots gebruiken de UI's van je favoriete messaging-apps of de terminal.


Derrick Mwiti's photo
Author
Derrick Mwiti
Onderwerpen

Topcursussen op DataCamp

Cursus

Agentic Systems ontwerpen met LangChain

3 Hr
11.9K
Leer de basis van LangChain-agents kennen en maak je eigen chatagents.
Bekijk detailsRight Arrow
Begin met de cursus
Meer zienRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer zienMeer zien