Pular para o conteúdo principal
O NanoClaw é um assistente de IA leve e auto-hospedado que roda no WhatsApp e Telegram. Este fork adiciona suporte à Venice AI para que tudo rode privadamente sem uma assinatura da Anthropic.

Pagamento por token

Sem assinatura. Pague apenas pelo que usar

Inferência privada

Zero retenção de dados nos servidores Venice

Isolamento Docker

Cada chat roda em seu próprio container seguro

Por que Venice AI?

A Venice é uma plataforma de IA focada em privacidade. Ela não armazena nem registra prompts ou respostas em seus servidores — suas conversas existem apenas no seu dispositivo. As requisições são criptografadas ponta a ponta através de seu proxy para provedores de GPU descentralizados, com zero retenção de dados. Isso significa que as conversas com seu assistente de IA permanecem privadas, até mesmo da própria Venice. A Venice oferece acesso anonimizado a modelos de fronteira (Claude Opus, Claude Sonnet) e acesso totalmente privado a modelos de código aberto (GLM, Qwen) por meio de uma única API — alterne entre eles a qualquer momento.
Venice AIProvedores tradicionais de IA
Retenção de dadosNenhuma — zero logsSim
Privacidade dos promptsCriptografados, nunca armazenadosArmazenados nos servidores do provedor
Modelos de código abertoSim (GLM, Qwen e outros)Não
Modelos de fronteiraClaude, GPT e outros — anonimamenteApenas via assinaturas diretas
PreçoPague por token, sem assinatura. Ou faça staking de DIEM para créditos diáriosAssinaturas de $20–200/mês ou API por token
Inferência sem censuraSim (modelos de código aberto)Não

Por que NanoClaw?

O NanoClaw é uma alternativa limpa e minimalista a plataformas maiores como o OpenClaw. É projetado para uma pessoa executando um único bot.
NanoClaw (Venice)OpenClaw
Base de código~2.000 linhas, alguns arquivos~500.000 linhas, 53 arquivos de configuração
Dependências~15 pacotesMais de 70 pacotes
Modelo de segurançaIsolamento por container Docker no nível do SOAllowlists e códigos de pareamento no nível da aplicação
Isolamento por grupoCada grupo tem seu próprio container, sistema de arquivos e memóriaProcesso compartilhado, memória compartilhada
ConfiguraçãoUm assistente (/setup), ~10 minutosConfiguração manual em múltiplas etapas
Provedor de IAVenice AI (privada, sem assinatura)Anthropic (requer chave de API ou assinatura)
CustomizaçãoEdite o código diretamente — é pequeno o suficiente para lerArquivos de configuração e plugins
Usuário-alvoUma pessoa, um botPlataforma multiusuário

O que você obtém

  • Assistente de IA pessoal no Telegram e/ou WhatsApp
  • Impulsionado por Venice AI — sem necessidade de conta Anthropic
  • O bot roda em um container Docker isolado (sandbox, não pode acessar seu sistema)
  • Troca de modelo — diga ao bot “switch to zai-org-glm-5” ou “use opus” a qualquer momento
  • Tarefas agendadas — defina lembretes e tarefas recorrentes
  • Busca na web e navegação integradas
  • Formatação Markdown em mensagens do Telegram

Pré-requisitos

Node.js 20+

Verifique com node --version

Docker

Instale e abra uma vez para que esteja rodando

Claude Code CLI

Verifique com claude --version

Chave de API Venice

Gere a partir da sua conta Venice
Para Telegram (recomendado para usuários de primeira viagem):
  1. Abra o Telegram e pesquise por @BotFather
  2. Envie /newbot e siga as instruções
  3. Salve o token que o BotFather te der (parece com 123456789:ABCdef...)
Para WhatsApp — use um número virtual, NÃO o seu pessoal:O NanoClaw se conecta como um dispositivo vinculado no seu número de WhatsApp. Isso significa que o agente pode ver todas as mensagens entrando e saindo — todas as suas conversas pessoais, chats em grupo, fotos, tudo. Seu telefone continua funcionando normalmente, mas o bot tem visibilidade total da sua conta inteira do WhatsApp.Use um número de telefone virtual em vez disso. Esses aplicativos oferecem um segundo número que você pode dedicar inteiramente ao bot:
AppPreçoNotas
Hushed~$5/mêsConfiável, funciona bem para verificação do WhatsApp
Burner~$5/mêsSimilar ao Hushed, números descartáveis
Google VoiceGrátisApenas EUA, pode não funcionar para verificação do WhatsApp em todos os casos
Como configurar:
  1. Obtenha um número virtual de um dos apps acima
  2. Instale o WhatsApp em um segundo dispositivo (telefone antigo, tablet ou emulador) usando esse número virtual
  3. Durante a configuração do NanoClaw, escaneie o QR code com esse segundo dispositivo — não com seu telefone pessoal

Configuração

A configuração leva cerca de 10 minutos. Você só precisa de uma janela de Terminal.
1

Clone e instale

Abra o Terminal e execute:
git clone https://github.com/lorenzovenice/nanoclaw-venice.git
cd nanoclaw-venice
npm install
Espere o npm install terminar sem erros.
2

Inicie o Claude Code com Venice

Substitua your-key pela sua chave de API Venice e execute:
VENICE_API_KEY=your-key npm run venice
Isso inicia o proxy Venice e lança o Claude Code através dele em um único comando.
O Claude Code usa por padrão o GLM 5 (zai-org-glm-5) para manter os custos de configuração baixos. Após a configuração, digite /model dentro do Claude Code para trocar para claude-sonnet-4-6 ou claude-opus-4-6 para melhor desempenho.
Se for perguntado “Do you want to use this API key?” — selecione Yes.
3

Execute o assistente de configuração

No seu terminal do Claude Code, digite:
/setup
O assistente te guia por:
  1. Bootstrap — verifica Node.js e dependências
  2. Chave de API Venice — valida e salva sua chave
  3. Escolha do canal — escolha WhatsApp, Telegram ou ambos
  4. Build do container — constrói o container Docker (leva alguns minutos na primeira vez)
  5. Autenticação do WhatsApp — escaneie o QR code com seu telefone (se aplicável)
  6. Configuração do Telegram — envie uma mensagem ao seu bot para que ele detecte seu chat
  7. Palavra-chave de gatilho — prefixo que ativa o bot (padrão: @Andy)
  8. Diretórios montados — escolha “Não” por enquanto (você pode adicionar acesso a arquivos depois)
  9. Iniciar serviços — NanoClaw e o proxy Venice iniciam ambos como serviços em segundo plano
O assistente de configuração instala dois serviços em segundo plano:
  • NanoClaw — o bot em si
  • Proxy Venice — um pequeno servidor local (localhost:4001) que traduz entre o Claude Code e a Venice AI
Ambos iniciam automaticamente no boot e se reiniciam se travarem.
Se o assistente parar entre etapas, digite “continue” ou “next step” para fazê-lo avançar.
4

Comece a conversar

Quando a configuração estiver completa, abra seu chat (Telegram ou WhatsApp) e envie:
@Andy hello, are you there?
O bot deve responder em segundos. No seu canal principal, você pode digitar normalmente sem o prefixo @Andy.Você agora pode fechar a janela do terminal. Tudo roda como serviços em segundo plano e inicia automaticamente quando seu computador é ligado.

Como funciona

Existem duas camadas no NanoClaw:
CamadaO que faz
CLI do Claude CodeFerramenta administrativa para configuração, depuração e customização
O BotIA no seu chat, rodando dentro de um container Docker isolado
Para abrir o Claude Code a qualquer momento:
cd nanoclaw-venice
ANTHROPIC_BASE_URL=http://localhost:4001 ANTHROPIC_API_KEY=venice-proxy claude
Use-o para executar /setup, /debug, /customize ou fazer alterações no comportamento do bot.

Modelos

ContextoModelo padrãoComo trocar
Bot (no chat)claude-sonnet-4-6Diga ao bot: “switch to opus” ou “use zai-org-glm-5”
CLI Claude Codezai-org-glm-5 (GLM 5)Use /model no Claude Code ou claude --model <name>
O CLI usa por padrão o GLM 5 para manter os custos de configuração baixos. Após a configuração, troque para claude-sonnet-4-6 ou claude-opus-4-6 para melhor desempenho.
Veja o catálogo de modelos para todos os modelos Venice disponíveis.

Solução de problemas

O proxy Venice roda como um serviço em segundo plano e se reinicia automaticamente. Se não estiver funcionando:macOS:
# Verifique se está rodando
launchctl list | grep venice-proxy

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

# Verifique os logs
tail -f ~/nanoclaw-venice/logs/venice-proxy.log
Linux:
# Verifique se está rodando
systemctl --user status nanoclaw-venice-proxy

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

# Verifique os logs
tail -f ~/nanoclaw-venice/logs/venice-proxy.log
Isso significa que o Claude Code não consegue se conectar ao proxy Venice.
  1. Verifique se o proxy está rodando. Veja o passo de solução de problemas acima.
  2. Certifique-se de estar na pasta certa. Sempre faça cd nanoclaw-venice primeiro.
  3. Comece do zero: Feche todos os terminais e execute:
    cd nanoclaw-venice
    ANTHROPIC_BASE_URL=http://localhost:4001 ANTHROPIC_API_KEY=venice-proxy claude
    
Reinicie o proxy e o bot:macOS:
# Reiniciar proxy
launchctl kickstart -k gui/$(id -u)/com.nanoclaw.venice-proxy

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

# Reiniciar bot
systemctl --user restart nanoclaw
Confira os modelos disponíveis no catálogo de modelos.
Siga esses passos na ordem:
  1. Verifique sua palavra-chave de gatilho. Confirme se está usando o prefixo correto (ex.: @Andy hello).
  2. Verifique se o Docker está rodando. Execute docker info — se der erro, abra o Docker Desktop.
  3. Verifique se o proxy está rodando. Veja “O proxy não está rodando” acima.
  4. Verifique os logs: tail -f logs/nanoclaw.log na pasta do projeto.
  5. Verifique os logs do container. Abra a pasta nanoclaw-venice/groups/main/logs/. Abra o arquivo mais recente que começa com container-.
  6. Reinicie tudo: Reinicie tanto o proxy quanto o bot (veja acima).
Certifique-se de que o Docker Desktop está aberto e em execução. Aguarde 10 segundos para o Docker iniciar completamente, depois digite continue no assistente para tentar de novo.
Sua sessão do WhatsApp pode expirar. Para reconectar:
cd nanoclaw-venice
npm run auth
Escaneie o QR code com o WhatsApp (Configurações → Dispositivos conectados → Conectar um dispositivo), depois reinicie o bot:
  • macOS: launchctl kickstart -k gui/$(id -u)/com.nanoclaw
  • Linux: systemctl --user restart nanoclaw

Avançado

Por padrão, o bot está totalmente isolado do seu computador — ele só pode ver sua própria memória e histórico de conversas.
  • Durante a configuração: Quando perguntado sobre acesso a diretórios, escolha “Sim”
  • Após a configuração: Execute /customize no Claude Code
O NanoClaw roda dois serviços em segundo plano que iniciam automaticamente no boot.macOS:
AçãoComando
Iniciar botlaunchctl load ~/Library/LaunchAgents/com.nanoclaw.plist
Parar botlaunchctl unload ~/Library/LaunchAgents/com.nanoclaw.plist
Reiniciar botlaunchctl kickstart -k gui/$(id -u)/com.nanoclaw
Iniciar proxylaunchctl load ~/Library/LaunchAgents/com.nanoclaw.venice-proxy.plist
Parar proxylaunchctl unload ~/Library/LaunchAgents/com.nanoclaw.venice-proxy.plist
Reiniciar proxylaunchctl kickstart -k gui/$(id -u)/com.nanoclaw.venice-proxy
Linux:
AçãoComando
Iniciar botsystemctl --user start nanoclaw
Parar botsystemctl --user stop nanoclaw
Reiniciar botsystemctl --user restart nanoclaw
Iniciar proxysystemctl --user start nanoclaw-venice-proxy
Parar proxysystemctl --user stop nanoclaw-venice-proxy
Reiniciar proxysystemctl --user restart nanoclaw-venice-proxy
Se você só quer o Claude Code com Venice e não precisa do WhatsApp/Telegram, o serviço de proxy precisa estar rodando. Se já executou /setup, ele já está rodando como serviço em segundo plano.
cd nanoclaw-venice
ANTHROPIC_BASE_URL=http://localhost:4001 ANTHROPIC_API_KEY=venice-proxy claude
Dica: Adicione isto ao seu ~/.zshrc (ou ~/.bashrc) para alternar qualquer terminal para Venice rapidamente:
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"'
Em seguida, basta digitar venice em qualquer terminal antes de executar claude para usar a Venice, ou anthropic para voltar.
Você pode rodar múltiplos bots NanoClaw na mesma máquina (por exemplo, um para uso pessoal e outro para uma equipe). Basta clonar o repositório em uma pasta diferente e executar o setup novamente. Observação: eles compartilham a mesma imagem Docker, então reconstruir um afeta todos.
Para pessoas que querem modificar o código do NanoClaw:
npm run dev          # Inicia proxy + NanoClaw com hot reload
npm run proxy        # Inicia apenas o proxy Venice
npm run build        # Compila TypeScript
npm test             # Executa testes
./container/build.sh # Reconstrói container do agente

Arquitetura

Você (WhatsApp/Telegram)

   NanoClaw (Node.js)

   Container Docker (sandbox isolada)

   Proxy Venice (localhost:4001)

   api.venice.ai (inferência privada)
ArquivoFinalidade
proxy/venice-proxy.tsTraduz formato Anthropic para formato OpenAI para a Venice
src/index.tsOrquestrador principal — loop de mensagens, invocação de agente
src/channels/whatsapp.tsConexão com WhatsApp via baileys
src/channels/telegram.tsBot do Telegram via grammy
src/container-runner.tsCria containers de agente isolados

Perguntas frequentes

O SDK Claude Agent fala o formato de mensagens da Anthropic. A Venice fala o formato da OpenAI. O proxy traduz entre eles para que tudo funcione sem modificar o SDK.
Sim. A Venice hospeda muitos modelos. Diga ao bot “switch to zai-org-glm-5” ou qualquer ID de modelo Venice. Veja o catálogo de modelos.
Os agentes rodam em containers Docker com isolamento real no nível do SO. A chave de API Venice é passada via stdin, nunca escrita em disco dentro dos containers. Cada grupo tem seu próprio ambiente isolado.
Não. Tudo roda via Venice AI. Você só precisa de uma chave de API Venice.
Sim. Funciona em qualquer máquina Linux com Docker. Use o serviço systemd para auto-iniciar no boot.

Recursos

Repositório NanoClaw Venice

Código-fonte e README completo

NanoClaw original

Projeto upstream por qwibitai

Catálogo de modelos Venice

Navegue pelos modelos disponíveis

Privacidade Venice

Como a Venice protege seus dados