Corso
Nanobot è un assistente AI personale leggero, un’alternativa a OpenClaw. È più piccolo del 98% rispetto a OpenClaw, pur offrendo le stesse funzionalità principali dell’agente. Proprio come OpenClaw, può essere eseguito sul tuo computer, connettersi alle tue app preferite e, data la dimensione ridotta, puoi ispezionare facilmente il codice.
Nanobot collega i tuoi modelli preferiti, sia closed-source che open-source, per eseguire un agente di coding locale. Una volta che invii messaggi tramite Telegram, WhatsApp o il terminale, l’agente risponde eseguendo comandi sul tuo computer, come leggere log, eseguire script e cercare file.
In questo tutorial ti mostrerò come configurare Nanobot da zero ed esploreremo come creare in pochi minuti un agente AI completo. Tratterò anche alcuni aspetti critici da conoscere quando usi questa tecnologia.
Che cos’è Nanobot?
Nanobot è un’alternativa a OpenClaw che è diventata molto popolare, raggiungendo rapidamente oltre 21.000 stelle su GitHub al momento della stesura. Come OpenClaw, supporta piattaforme di messaggistica diffuse come Discord, Slack e Telegram.
Proprio come l’agente OpenClaw, anche il tuo agente Nanobot può unirsi alla festa sui social su Moltbook, come mostriamo nel nostro tutorial Introduzione a Moltbook.
Capacità principali di Nanobot
Nonostante sia piccolo, Nanobot copre tre elementi chiave che ti aspetti da un agente potente:
- Memoria con stato: Nanobot costruisce un grafo locale della tua cronologia. Significa che se oggi stai lavorando a un progetto di analisi dati in Python, lo saprà anche tra una settimana.
- Agnostico al modello: non sei vincolato a un provider specifico. Puoi usare i modelli di OpenAI, Anthropic o persino modelli locali in esecuzione sull’hardware tuo.
- UI immediata: Nanobot può essere usato nelle tue app di messaggistica preferite, così continui a usare interfacce a cui sei già abituato.

Prerequisiti per eseguire Nanobot
Per seguire questo tutorial ti servono alcune basi:
- Python 3.11 o superiore installato sul tuo computer (Mac, Windows o Linux).
- Una chiave API da un provider come OpenRouter, OpenAI o Anthropic, oppure configura un modello locale tramite Ollama.
- Un account Telegram (userò Telegram come interfaccia perché è il più semplice da configurare).
Tutorial passo passo su Nanobot: creare un "Research Agent"
Costruiamo un agente che vive nel tuo Telegram, sa cercare sul web e ricorda i tuoi interessi.

Passo 1: installa Nanobot
Il modo più pulito per installare strumenti Python oggi è usare pip o uv, che li isolano dal Python di sistema. Se non li hai, anche il normale pip va bene.
Apri il terminale ed esegui:
# run inside your env
pip install nanobot-ai
# OR if you prefer uv
uv tool install nanobot-ai
Una volta installato, vedrai un messaggio simile al seguente:
Successfully installed nanobot-0.4.1
Passo 2: ottieni il token per l’interfaccia
Per configurare l’interfaccia:
- Apri Telegram e cerca @BotFather
- Digita
/newbote segui le istruzioni - Copia il token che riceverai da BotFather
- Successivamente, ottieni il tuo ID utente per fare in modo che il bot accetti comandi solo da te. Cerca @userinfobot in Telegram e fai clic su Start. Copia l’ID utente.
Passo 3: inizializza
Esegui nanobot onboard per inizializzare il tuo bot. Dovresti vedere un messaggio simile al seguente:
✓ 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
Passo 4: configurazione
Esegui il comando sotto e aggiungi la chiave API del provider di modelli che vuoi usare nella sezione providers:
nano ~/.nanobot/config.json
Modifica il file per aggiungere la chiave API al provider scelto:
{
"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"]
}
}
}
Modifica la sezione Telegram e aggiungi il token e l’ID utente che hai ottenuto in precedenza. È necessario per fare in modo che solo tu possa inviare istruzioni al tuo agente.
"telegram": {
"enabled": true,
"token": "",
"allowFrom": [""],
"proxy": null
}
Modifica la sezione agents per riflettere il provider scelto:
"agents": {
"defaults": {
"workspace": "~/.nanobot/workspace",
"model": "openai/gpt-5",
"maxTokens": 8192,
"temperature": 0.7,
"maxToolIterations": 20,
"memoryWindow": 50
}
}
Prova il tuo agente nel terminale:
nanobot agent -m "Hello"
🐈 nanobot
Hi there! How can I help you today?
Passo 5: configura il Gateway
Per completare l’integrazione con Telegram, esegui il comando seguente nel terminale:
nanobot gateway
Ora dovresti vedere che Telegram è abilitato, come si nota dai miei messaggi qui sotto:
🐈 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
Vai su Telegram e mettilo alla prova:

Puoi imparare come usare Claude Code di Anthropic per migliorare i flussi di lavoro di sviluppo software tramite un esempio pratico con la libreria Supabase Python nel nostro tutorial Claude Code.
Livello successivo per Nanobot: l’agente "Multi-Tool"
Ora che la configurazione è completa, è il momento di rendere il tuo agente più funzionale. La maggior parte dei modelli ha informazioni solo fino alla data di cut-off dei loro dati di training. Possiamo renderlo più utile collegandolo a internet.
Nanobot supporta il Model Context Protocol (MCP), aggiungendo capacità al tuo agente, come la ricerca sul web o query su database. Aggiungiamo il Brave Search Server che permetterà al nostro agente di accedere a internet:
- Ottieni una chiave API da Brave
- Aggiorna la config con la chiave
"tools": {
"web": {
"search": {
"apiKey": "",
"maxResults": 5
}
},
"exec": {
"timeout": 60
},
"restrictToWorkspace": false
}
Riavvia il gateway.
Ora su Telegram, fai una domanda come “Qual è il prezzo attuale delle azioni Apple?”. Nel terminale puoi vedere che sta effettivamente cercando sul web:
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...

Locale e privato: eseguire Nanobot offline
Come OpenClaw, uno dei maggiori punti di forza di Nanobot è la privacy. Puoi usarlo senza inviare alcun dato a provider cloud. Poiché Nanobot supporta vllm ed endpoint compatibili con OpenAI, puoi puntarlo a un runner di modelli locale come Ollama.
- Installa Ollama ed esegui
ollama - Aggiorna la sezione provider del tuo config.json (vedi l’esempio "local" al Passo 4 sopra).
Dai un’occhiata al nostro tutorial su OpenClaw con Ollama per imparare a creare un analista dati AI completamente locale con OpenClaw e Ollama che orchestra flussi di lavoro multi-step, analizza dataset e genera report visivi, senza inviare i tuoi dati al cloud.
Problemi comuni e troubleshooting di Nanobot
Anche con uno strumento semplice come Nanobot, qualcosa può andare storto. Ecco alcuni problemi che potresti incontrare e come risolverli.
Errori di "connection refused"
Se provi a eseguire Nanobot su un server ma accedere a modelli locali, otterrai un errore di connessione rifiutata. Questo perché il server online non può accedere al tuo computer locale.
Per mitigare questo problema, devi assicurarti che i modelli open-source siano in esecuzione anche sullo stesso server oppure usare qualcosa come ngrok per fare da ponte alla connessione.
Limiti della finestra di contesto
I modelli locali spesso hanno limiti di memoria (finestre di contesto) più piccoli. Anche i modelli cloud hanno una finestra di contesto limitata. Poiché Nanobot memorizza la propria memoria come semplici file, il modo migliore per "resettare" il suo cervello è eliminare manualmente i file di memoria all’interno della cartella ./workspace.
In alternativa, passa semplicemente a un modello con una finestra di contesto più ampia, come gemini-1.5-pro o Claude Opus 4.6.
Conclusione
Nanobot dimostra che un software potente non deve per forza essere grande. Offre le stesse funzionalità core di OpenClaw pur essendo enormemente più piccolo. Tuttavia, comporta gli stessi problemi di sicurezza, quindi ti consiglio di configurarlo in un ambiente sandbox per evitare problemi catastrofici come la cancellazione dell’intero hard disk.
Per saperne di più sul lavoro con gli strumenti di AI, ti consiglio di dare un’occhiata alla nostra guida ai migliori strumenti AI gratuiti. Per competenze di coding AI più ampie, prova il nostro corso AI-Assisted Coding for Developers per sviluppare le abilità che rendono gli assistenti AI partner più affidabili nel tuo workflow di sviluppo.
Puoi anche scoprire come creare applicazioni basate su AI usando LLM, prompt, chain e agent in LangChain nel nostro corso Developing LLM Applications with LangChain.
FAQ su Nanobot
In cosa Nanobot è diverso da OpenClaw?
Le funzionalità di base sono le stesse. Nanobot è un’alternativa più piccola, il che lo rende più facile da leggere e aggiornare a livello di codice.
Il mio agente Nanobot è online ma ignora i miei messaggi. Perché?
Quasi sempre si tratta dell’impostazione allowFrom. Se hai aggiunto qualsiasi valore a questa lista (anche un segnaposto), Nanobot attiva la "Whitelist Mode" e ignorerà rigorosamente qualsiasi ID utente non presente in quell’elenco.
Nanobot ha una web UI?
No, i Nanobot utilizzano le interfacce delle tue app di messaggistica preferite o il terminale.


