Pular para o conteúdo principal

Tutorial Nanobot: uma alternativa leve ao OpenClaw

Conheça o Nanobot, a alternativa leve ao OpenClaw. Construa um agente de IA em Python seguro e auditável em menos de 10 minutos com este guia completo de configuração.
Atualizado 22 de abr. de 2026  · 6 min lido

Nanobot é um assistente pessoal de IA leve, uma alternativa ao OpenClaw. Ele é 98% menor que o OpenClaw e entrega as mesmas funcionalidades essenciais de agente. Assim como o OpenClaw, pode rodar na sua máquina, se conectar aos seus apps preferidos e, por ser pequeno, você consegue inspecionar o código com facilidade. 

O Nanobot conecta seus modelos favoritos, abertos ou fechados, para executar um agente de codificação local. Quando você envia mensagens pelo Telegram, WhatsApp ou terminal, o agente responde executando comandos na sua máquina, como ler logs, rodar scripts e buscar arquivos. 

Neste tutorial, vou mostrar como configurar o Nanobot do zero e como criar um agente de IA completo em poucos minutos. Também vou comentar algumas pegadinhas que você precisa conhecer ao usar essa tecnologia. 

O que é o Nanobot?

Nanobot é uma alternativa ao OpenClaw que ganhou popularidade rapidamente, acumulando mais de 21.000 estrelas no GitHub até o momento desta publicação. Assim como o OpenClaw, ele oferece suporte a plataformas de mensagens como Discord, Slack e Telegram. 

Assim como o agente OpenClaw, seu agente Nanobot também pode entrar na festa das redes sociais no Moltbook, como mostramos no nosso tutorial de primeiros passos no Moltbook

Principais capacidades do Nanobot

Mesmo sendo pequeno, o Nanobot cobre três pontos essenciais que você espera de um agente poderoso: 

  • Memória com estado: o Nanobot constrói um grafo local do seu histórico. Isso significa que, se você está trabalhando hoje em um projeto de análise de dados em Python, ele vai lembrar disso mesmo daqui a uma semana. 
  • Independente de modelo: você não fica preso a um provedor específico. Pode usar modelos da OpenAI, Anthropic ou até modelos locais rodando no seu próprio hardware. 
  • UI instantânea: o Nanobot pode ser usado nos seus apps de mensagem preferidos, ou seja, você continua usando as interfaces às quais já está acostumado. 

Pré-requisitos para rodar o Nanobot

Para acompanhar este tutorial, você vai precisar do básico:

  • Python 3.11 ou superior instalado no seu computador (Mac, Windows ou Linux).
  • Uma chave de API de um provedor como OpenRouter, OpenAI ou Anthropic, ou configurar um modelo local via Ollama.
  • Uma conta no Telegram (vou usar o Telegram como interface porque é o mais fácil de configurar).

Tutorial passo a passo do Nanobot: criando um "agente de pesquisa"

Vamos criar um agente que vive no seu Telegram, consegue pesquisar na web e lembra dos seus interesses.

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

Passo 1: instalar o Nanobot

A forma mais limpa de instalar ferramentas Python hoje é usando pip ou uv, mantendo-as isoladas do Python do sistema. Se você não tiver esses, o pip padrão também funciona.

Abra o terminal e execute:

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

Depois de instalar, você verá uma mensagem como esta:

Successfully installed nanobot-0.4.1

Passo 2: pegue o token da interface

Para configurar a interface:

  • Abra o Telegram e procure por @BotFather 
  • Digite /newbot e siga as instruções 
  • Copie o token fornecido pelo BotFather 
  • Em seguida, obtenha seu user ID para garantir que o bot aceite comandos apenas de você. Procure por @userinfobot no Telegram, clique em Start e copie o user ID. 

Passo 3: inicializar 

Execute nanobot onboard para inicializar seu bot. Você deve ver uma mensagem semelhante a esta:

✓ 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: configuração

Execute o comando abaixo e adicione a chave de API do provedor de modelo que você deseja usar na seção providers: 

nano ~/.nanobot/config.json

Edite o arquivo para incluir a chave de API do provedor escolhido:

{
  "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"]
    }
  }
}

Edite a seção do Telegram e adicione o token e o user ID que você obteve. Isso garante que só você poderá enviar instruções ao seu agente. 

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

   Ajuste a seção agents para refletir o provedor escolhido:

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

Teste seu agente no terminal:

nanobot agent -m "Hello"   

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

Passo 5: configurar o gateway

Para finalizar a integração com o Telegram, execute o comando abaixo no terminal: 

nanobot gateway

Agora você deve ver que o Telegram foi habilitado, como nas mensagens abaixo: 

🐈 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

Vá para o Telegram e teste: 

Você pode aprender a usar o Claude Code, da Anthropic, para melhorar fluxos de trabalho de desenvolvimento de software com um exemplo prático usando a biblioteca Supabase Python no nosso tutorial do Claude Code

Elevando o Nanobot: o agente "multi-ferramentas"

Agora que a configuração terminou, é hora de deixar seu agente mais funcional. A maioria dos modelos tem informação limitada até a data de corte do treinamento. Podemos torná-lo mais útil conectando-o à internet.

O Nanobot é compatível com o Model Context Protocol (MCP), adicionando capacidades ao seu agente, como busca na web ou consultas a banco de dados. Vamos adicionar o Brave Search Server para permitir que o agente acesse a internet:

  1. Obtenha uma chave de API da Brave
  2. Atualize a configuração com a chave
"tools": {
    "web": {
      "search": {
        "apiKey": "",
        "maxResults": 5
      }
    },
    "exec": {
      "timeout": 60
    },
    "restrictToWorkspace": false
  }

Reinicie seu gateway.

Agora, no Telegram, pergunte algo como “Qual é o preço atual da ação da Apple?”. No terminal, você verá que ele está realmente pesquisando na 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...

Local e privado: rodando o Nanobot offline

Assim como o OpenClaw, um dos maiores diferenciais do Nanobot é a privacidade. Você pode usá-lo sem enviar nenhum dado para a nuvem. Como o Nanobot é compatível com vllm e endpoints no padrão OpenAI, você pode apontá-lo para um executor de modelos local como o Ollama. 

  1. Instale o Ollama e execute ollama
  2. Atualize a seção providers do seu config.json (veja o exemplo "local" no Passo 4 acima).

Confira nosso tutorial de OpenClaw com Ollama para aprender a criar um analista de dados de IA 100% local com OpenClaw e Ollama que orquestra fluxos de trabalho em várias etapas, analisa datasets e gera relatórios visuais sem enviar seus dados para a nuvem.

Erros comuns do Nanobot e como resolver

Mesmo com uma ferramenta simples como o Nanobot, algumas coisas podem dar errado. Veja alguns problemas comuns e como solucioná-los. 

Erros de "connection refused"

Se você tentar rodar o Nanobot em um servidor e acessar modelos locais, vai receber um erro de conexão recusada. Isso acontece porque o servidor online não consegue acessar seu computador local. 

Para contornar, garanta que os modelos open source também estejam rodando no mesmo servidor, ou use algo como o ngrok para fazer a ponte da conexão. 

Limites de janela de contexto

Modelos locais geralmente têm limites de memória menores (janelas de contexto). Mesmo os modelos na nuvem têm um limite de contexto. Como o Nanobot armazena sua memória em arquivos simples, a melhor forma de "resetar" o cérebro dele é apagar manualmente os arquivos de memória dentro da pasta ./workspace

Como alternativa, mude para um modelo com janela de contexto maior, como o gemini-1.5-pro ou o Claude Opus 4.6.

Conclusão

O Nanobot prova que software poderoso não precisa ser pesado. Ele oferece as mesmas funcionalidades centrais do OpenClaw sendo muito menor. Porém, em termos de segurança, os riscos continuam — por isso, recomendo configurá-lo em um ambiente sandbox para evitar problemas catastróficos, como apagar todo o seu HD.  

Para aprender mais sobre como trabalhar com ferramentas de IA, recomendo conferir nosso guia das melhores ferramentas de IA gratuitas. Para desenvolver competências amplas de codificação com IA, experimente nosso curso AI-Assisted Coding for Developers e aprenda a tornar os assistentes de IA parceiros mais confiáveis no seu fluxo de desenvolvimento. 

Você também pode descobrir como criar aplicações com IA usando LLMs, prompts, chains e agents no LangChain no nosso curso Developing LLM Applications with LangChain .

Perguntas frequentes sobre o Nanobot

How is Nanobot different from OpenClaw?

A funcionalidade central é a mesma. O Nanobot é uma alternativa menor, o que facilita para você ler e atualizar o código.

My Nanobot agent is online but ignoring my messages. Why?

Quase sempre é a configuração allowFrom. Se você adicionou qualquer valor a essa lista (mesmo um placeholder), o Nanobot ativa o "Whitelist Mode" e vai ignorar estritamente qualquer user ID que não esteja nessa lista.

Does Nanobot have a web UI?

Não. O Nanobot usa as UIs dos seus apps de mensagem favoritos ou o terminal.


Derrick Mwiti's photo
Author
Derrick Mwiti
Tópicos

Principais cursos da DataCamp

Curso

Projetando Sistemas Agentes com LangChain

3 h
11.3K
Entenda os componentes básicos dos agentes LangChain e crie agentes de chat personalizados.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado
An avian AI exits its cage

blog

12 Alternativas de código aberto ao GPT-4

GPT-4 alternativas de código aberto que podem oferecer desempenho semelhante e exigem menos recursos computacionais para serem executadas. Esses projetos vêm com instruções, fontes de código, pesos de modelos, conjuntos de dados e interface de usuário do chatbot.
Abid Ali Awan's photo

Abid Ali Awan

9 min

Tutorial

Criando agentes LangChain para automatizar tarefas em Python

Um tutorial abrangente sobre a criação de agentes LangChain com várias ferramentas para automatizar tarefas em Python usando LLMs e modelos de bate-papo usando OpenAI.
Bex Tuychiev's photo

Bex Tuychiev

Tutorial

Tutorial da API de assistentes da OpenAI

Uma visão geral abrangente da API Assistants com nosso artigo, que oferece uma análise aprofundada de seus recursos, usos no setor, orientação de configuração e práticas recomendadas para maximizar seu potencial em vários aplicativos de negócios.
Zoumana Keita 's photo

Zoumana Keita

Tutorial

Guia de torchchat do PyTorch: Configuração local com Python

Saiba como configurar o torchchat do PyTorch localmente com Python neste tutorial prático, que fornece orientação e exemplos passo a passo.

Tutorial

Como criar aplicativos LLM com o tutorial LangChain

Explore o potencial inexplorado dos modelos de linguagem grandes com o LangChain, uma estrutura Python de código aberto para criar aplicativos avançados de IA.
Moez Ali's photo

Moez Ali

Tutorial

Uma introdução ao Q-Learning: Um tutorial para iniciantes

Saiba mais sobre o algoritmo mais popular de aprendizado por reforço sem modelo com um tutorial em Python.
Abid Ali Awan's photo

Abid Ali Awan

Ver maisVer mais