Vai al contenuto principale
NanoClaw è un assistente AI leggero e self-hosted che funziona su WhatsApp e Telegram. Questo fork aggiunge il supporto a Venice AI, in modo che tutto funzioni privatamente senza un abbonamento Anthropic.

Paga per token

Nessun abbonamento. Paghi solo per ciò che usi

Inferenza privata

Zero data retention sui server di Venice

Isolamento Docker

Ogni chat viene eseguita nel suo container sicuro

Perché Venice AI?

Venice è una piattaforma AI privacy-first. Non memorizza né registra alcun prompt o risposta sui propri server: le tue conversazioni esistono solo sul tuo dispositivo. Le richieste sono cifrate end-to-end tramite il loro proxy verso provider GPU decentralizzati, con zero data retention. Questo significa che le conversazioni con il tuo assistente AI rimangono private, anche nei confronti di Venice stessa. Venice fornisce accesso anonimizzato a modelli frontier (Claude Opus, Claude Sonnet) e accesso completamente privato a modelli open-source (GLM, Qwen) tramite una singola API: passa dall’uno all’altro in qualsiasi momento.
Venice AIProvider AI tradizionali
Data retentionNessuna — zero log
Privacy del promptCifrato, mai memorizzatoMemorizzato sui server del provider
Modelli open-sourceSì (GLM, Qwen e altri)No
Modelli frontierClaude, GPT e altri — in modo anonimoSolo tramite abbonamenti diretti
PrezziPay-per-token, nessun abbonamento. Oppure metti in staking DIEM per crediti giornalieri rinnovabiliAbbonamenti da 20–200$/mese o API pay-per-token
Inferenza non censurataSì (modelli open-source)No

Perché NanoClaw?

NanoClaw è un’alternativa pulita e minimale a piattaforme più grandi come OpenClaw. È progettato per una sola persona che gestisce un solo bot.
NanoClaw (Venice)OpenClaw
Codebase~2.000 righe, una manciata di file~500.000 righe, 53 file di configurazione
Dipendenze~15 pacchetti70+ pacchetti
Modello di sicurezzaIsolamento container Docker a livello OSAllowlist e codici di accoppiamento a livello applicativo
Isolamento per gruppoOgni gruppo ha il proprio container, filesystem e memoriaProcesso condiviso, memoria condivisa
SetupUna procedura guidata (/setup), ~10 minutiConfigurazione manuale multi-step
Provider AIVenice AI (privato, nessun abbonamento)Anthropic (richiede API key o abbonamento)
PersonalizzazioneModifica direttamente il codice — è abbastanza piccolo da leggereFile di configurazione e plugin
Utente targetUna persona, un botPiattaforma multi-utente

Cosa ottieni

  • Assistente AI personale su Telegram e/o WhatsApp
  • Alimentato da Venice AI — nessun account Anthropic necessario
  • Il bot gira in un container Docker isolato (sandboxed, non può accedere al tuo sistema)
  • Cambio di modello — di’ al bot “switch to zai-org-glm-5” o “use opus” in qualsiasi momento
  • Task pianificati — imposta promemoria, task ricorrenti
  • Ricerca web e browsing integrati
  • Formattazione Markdown nei messaggi Telegram

Prerequisiti

Node.js 20+

Verifica con node --version

Docker

Installa e aprilo una volta in modo che sia in esecuzione

Claude Code CLI

Verifica con claude --version

Venice API Key

Generala dal tuo account Venice
Per Telegram (consigliato per chi inizia):
  1. Apri Telegram e cerca @BotFather
  2. Invia /newbot e segui le istruzioni
  3. Salva il token che BotFather ti fornisce (è simile a 123456789:ABCdef...)
Per WhatsApp — usa un numero virtuale, NON il tuo personale:NanoClaw si connette come dispositivo collegato al tuo numero WhatsApp. Questo significa che l’agente può vedere ogni messaggio in entrata e in uscita — tutte le tue conversazioni personali, chat di gruppo, foto, tutto. Il telefono continua a funzionare normalmente, ma il bot ha piena visibilità sull’intero account WhatsApp.Usa invece un numero di telefono virtuale. Queste app ti forniscono un secondo numero che puoi dedicare interamente al bot:
AppPrezzoNote
Hushed~5$/meseAffidabile, funziona bene per la verifica WhatsApp
Burner~5$/meseSimile a Hushed, numeri usa e getta
Google VoiceGratisSolo USA, potrebbe non funzionare per la verifica WhatsApp in tutti i casi
Come configurarlo:
  1. Ottieni un numero virtuale da una delle app sopra
  2. Installa WhatsApp su un secondo dispositivo (vecchio telefono, tablet o emulatore) usando quel numero virtuale
  3. Durante il setup di NanoClaw, scansiona il QR code con quel secondo dispositivo — non con il tuo telefono personale

Setup

Il setup richiede circa 10 minuti. Hai bisogno di una sola finestra di Terminal.
1

Clona e installa

Apri Terminal ed esegui:
git clone https://github.com/lorenzovenice/nanoclaw-venice.git
cd nanoclaw-venice
npm install
Attendi che npm install termini senza errori.
2

Avvia Claude Code con Venice

Sostituisci your-key con la tua Venice API key ed esegui:
VENICE_API_KEY=your-key npm run venice
Questo avvia il proxy Venice e lancia Claude Code attraverso di esso con un singolo comando.
Claude Code usa di default GLM 5 (zai-org-glm-5) per mantenere bassi i costi di setup. Dopo il setup, digita /model in Claude Code per passare a claude-sonnet-4-6 o claude-opus-4-6 per le migliori prestazioni.
Se ti viene chiesto “Do you want to use this API key?” — seleziona Yes.
3

Esegui la procedura guidata di setup

Nel tuo terminale Claude Code, digita:
/setup
La procedura guidata ti accompagna in:
  1. Bootstrap — verifica Node.js e dipendenze
  2. Venice API key — valida e salva la tua chiave
  3. Scelta del canale — scegli WhatsApp, Telegram o entrambi
  4. Build del container — costruisce il container Docker (richiede qualche minuto la prima volta)
  5. Autenticazione WhatsApp — scansiona il QR code con il tuo telefono (se applicabile)
  6. Setup Telegram — invia un messaggio al tuo bot per fargli rilevare la tua chat
  7. Trigger word — il prefisso che attiva il bot (default: @Andy)
  8. Directory da montare — scegli “No” per ora (puoi aggiungere l’accesso ai file in seguito)
  9. Avvio dei servizi — NanoClaw e il proxy Venice si avviano entrambi come servizi in background
La procedura guidata installa due servizi in background:
  • NanoClaw — il bot vero e proprio
  • Venice proxy — un piccolo server locale (localhost:4001) che fa da traduttore tra Claude Code e Venice AI
Entrambi si avviano automaticamente all’avvio del sistema e si riavviano da soli in caso di crash.
Se la procedura guidata si ferma tra un passo e l’altro, digita “continue” o “next step” per farla proseguire.
4

Inizia a chattare

Una volta completato il setup, apri la tua chat (Telegram o WhatsApp) e invia:
@Andy hello, are you there?
Il bot dovrebbe rispondere in pochi secondi. Nel tuo canale principale puoi scrivere normalmente senza il prefisso @Andy.Puoi ora chiudere la finestra del terminale. Tutto gira come servizi in background e si avvia automaticamente all’accensione del computer.

Come funziona

NanoClaw ha due livelli:
LivelloCosa fa
Claude Code CLIStrumento di amministrazione per setup, debug e personalizzazione
Il BotL’AI nella tua chat, in esecuzione all’interno di un container Docker isolato
Per aprire Claude Code in qualsiasi momento:
cd nanoclaw-venice
ANTHROPIC_BASE_URL=http://localhost:4001 ANTHROPIC_API_KEY=venice-proxy claude
Usalo per eseguire /setup, /debug, /customize o per modificare il comportamento del bot.

Modelli

ContestoModello di defaultCome cambiarlo
Bot (in chat)claude-sonnet-4-6Di’ al bot: “switch to opus” o “use zai-org-glm-5”
Claude Code CLIzai-org-glm-5 (GLM 5)Usa /model in Claude Code o claude --model <name>
La CLI usa di default GLM 5 per mantenere bassi i costi di setup. Dopo il setup, passa a claude-sonnet-4-6 o claude-opus-4-6 per le migliori prestazioni.
Consulta il catalogo dei modelli per tutti i modelli Venice disponibili.

Troubleshooting

Il proxy Venice gira come servizio in background e si riavvia automaticamente. Se non funziona:macOS:
# Verifica se è in esecuzione
launchctl list | grep venice-proxy

# Riavvialo
launchctl kickstart -k gui/$(id -u)/com.nanoclaw.venice-proxy

# Controlla i log
tail -f ~/nanoclaw-venice/logs/venice-proxy.log
Linux:
# Verifica se è in esecuzione
systemctl --user status nanoclaw-venice-proxy

# Riavvialo
systemctl --user restart nanoclaw-venice-proxy

# Controlla i log
tail -f ~/nanoclaw-venice/logs/venice-proxy.log
Significa che Claude Code non riesce a connettersi al proxy Venice.
  1. Verifica che il proxy sia in esecuzione. Consulta il passo di troubleshooting precedente.
  2. Assicurati di essere nella cartella corretta. Esegui sempre prima cd nanoclaw-venice.
  3. Riparti da zero: Chiudi tutti i terminali ed esegui:
    cd nanoclaw-venice
    ANTHROPIC_BASE_URL=http://localhost:4001 ANTHROPIC_API_KEY=venice-proxy claude
    
Riavvia il proxy e il bot:macOS:
# Riavvia il proxy
launchctl kickstart -k gui/$(id -u)/com.nanoclaw.venice-proxy

# Riavvia il bot
launchctl kickstart -k gui/$(id -u)/com.nanoclaw
Linux:
# Riavvia il proxy
systemctl --user restart nanoclaw-venice-proxy

# Riavvia il bot
systemctl --user restart nanoclaw
Controlla i modelli disponibili nel catalogo dei modelli.
Esegui questi passi nell’ordine:
  1. Controlla la tua trigger word. Assicurati di usare il prefisso corretto (es. @Andy hello).
  2. Verifica che Docker sia in esecuzione. Esegui docker info — se restituisce errore, apri Docker Desktop.
  3. Verifica che il proxy sia in esecuzione. Vedi “Il proxy non è in esecuzione” sopra.
  4. Controlla i log: tail -f logs/nanoclaw.log nella cartella del progetto.
  5. Controlla i log del container. Apri la cartella nanoclaw-venice/groups/main/logs/. Apri il file più recente che inizia con container-.
  6. Riavvia tutto: Riavvia sia il proxy che il bot (vedi sopra).
Assicurati che Docker Desktop sia aperto e in esecuzione. Attendi 10 secondi affinché Docker sia completamente avviato, poi digita continue nella procedura guidata per riprovare.
La tua sessione WhatsApp può scadere. Per riconnetterti:
cd nanoclaw-venice
npm run auth
Scansiona il QR code con WhatsApp (Impostazioni → Dispositivi collegati → Collega un dispositivo), poi riavvia il bot:
  • macOS: launchctl kickstart -k gui/$(id -u)/com.nanoclaw
  • Linux: systemctl --user restart nanoclaw

Avanzato

Di default, il bot è completamente isolato dal tuo computer — può vedere solo la propria memoria e la cronologia delle conversazioni.
  • Durante il setup: Quando ti viene chiesto dell’accesso alle directory, scegli “Yes”
  • Dopo il setup: Esegui /customize in Claude Code
NanoClaw esegue due servizi in background che si avviano automaticamente all’avvio del sistema.macOS:
AzioneComando
Avvia botlaunchctl load ~/Library/LaunchAgents/com.nanoclaw.plist
Arresta botlaunchctl unload ~/Library/LaunchAgents/com.nanoclaw.plist
Riavvia botlaunchctl kickstart -k gui/$(id -u)/com.nanoclaw
Avvia proxylaunchctl load ~/Library/LaunchAgents/com.nanoclaw.venice-proxy.plist
Arresta proxylaunchctl unload ~/Library/LaunchAgents/com.nanoclaw.venice-proxy.plist
Riavvia proxylaunchctl kickstart -k gui/$(id -u)/com.nanoclaw.venice-proxy
Linux:
AzioneComando
Avvia botsystemctl --user start nanoclaw
Arresta botsystemctl --user stop nanoclaw
Riavvia botsystemctl --user restart nanoclaw
Avvia proxysystemctl --user start nanoclaw-venice-proxy
Arresta proxysystemctl --user stop nanoclaw-venice-proxy
Riavvia proxysystemctl --user restart nanoclaw-venice-proxy
Se vuoi semplicemente usare Claude Code con Venice e non ti servono WhatsApp/Telegram, il servizio proxy deve essere in esecuzione. Se hai già eseguito /setup, è già in esecuzione come servizio in background.
cd nanoclaw-venice
ANTHROPIC_BASE_URL=http://localhost:4001 ANTHROPIC_API_KEY=venice-proxy claude
Suggerimento: Aggiungi questo al tuo ~/.zshrc (o ~/.bashrc) in modo da poter passare rapidamente qualsiasi terminale a Venice:
alias venice='export ANTHROPIC_BASE_URL=http://localhost:4001 && export ANTHROPIC_API_KEY=venice-proxy && echo "Using Venice API"'
alias anthropic='unset ANTHROPIC_BASE_URL && unset ANTHROPIC_API_KEY && echo "Using Anthropic API"'
Poi basta digitare venice in qualsiasi terminale prima di eseguire claude per usare Venice, oppure anthropic per tornare indietro.
Puoi eseguire più bot NanoClaw sulla stessa macchina (es. uno per uso personale e uno per un team). Basta clonare il repository in una cartella diversa ed eseguire di nuovo il setup. Nota: condividono la stessa immagine Docker, quindi ricostruirne una influisce su tutte.
Per chi vuole modificare il codice di NanoClaw:
npm run dev          # Avvia proxy + NanoClaw con hot reload
npm run proxy        # Avvia solo il proxy Venice
npm run build        # Compila TypeScript
npm test             # Esegue i test
./container/build.sh # Ricostruisce il container dell'agente

Architettura

Tu (WhatsApp/Telegram)

   NanoClaw (Node.js)

   Docker Container (sandbox isolato)

   Venice Proxy (localhost:4001)

   api.venice.ai (inferenza privata)
FileScopo
proxy/venice-proxy.tsTraduce il formato Anthropic in formato OpenAI per Venice
src/index.tsOrchestratore principale — loop dei messaggi, invocazione dell’agente
src/channels/whatsapp.tsConnessione WhatsApp tramite baileys
src/channels/telegram.tsBot Telegram tramite grammy
src/container-runner.tsCrea container isolati per l’agente

FAQ

Il Claude Agent SDK parla il formato di messaggi Anthropic. Venice parla il formato OpenAI. Il proxy traduce tra i due in modo che tutto funzioni senza modificare l’SDK.
Sì. Venice ospita molti modelli. Di’ al bot “switch to zai-org-glm-5” o qualsiasi ID di modello Venice. Vedi il catalogo dei modelli.
Gli agenti girano in container Docker con un vero isolamento a livello OS. La Venice API key viene passata tramite stdin, mai scritta su disco all’interno dei container. Ogni gruppo ha il proprio ambiente isolato.
No. Tutto passa attraverso Venice AI. Ti serve solo una Venice API key.
Sì. Funziona su qualsiasi macchina Linux con Docker. Usa il servizio systemd per l’auto-avvio al boot.

Risorse

Repository NanoClaw Venice

Codice sorgente e README completo

NanoClaw originale

Progetto upstream di qwibitai

Catalogo modelli Venice

Sfoglia i modelli disponibili

Privacy di Venice

Come Venice protegge i tuoi dati