Vai al contenuto principale

Tutorial Nanobot: un'alternativa leggera a OpenClaw

Scopri Nanobot, l’alternativa leggera a OpenClaw. Crea un agente AI Python sicuro e verificabile in meno di 10 minuti con questa guida completa all’installazione.
Aggiornato 3 giu 2026  · 6 min leggi

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.

Step-by-Step Tutorial: Building A "Research Agent"

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 /newbot e 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:

  1. Ottieni una chiave API da Brave
  2. 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. 

  1. Installa Ollama ed esegui ollama
  2. 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.


Derrick Mwiti's photo
Author
Derrick Mwiti
Argomenti

I migliori corsi DataCamp

Corso

Progettare sistemi agentici con LangChain

3 h
12K
Impara a usare le parti fondamentali degli agenti LangChain e crea agenti di chat personalizzati.
Vedi dettagliRight Arrow
Inizia il corso
Mostra altroRight Arrow
Correlato

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra altroMostra altro