NanoClaw

NanoClaw - Agente de IA pessoal seguro com isolamento de contêiner

Lançado em 26 de mar. de 2026

NanoClaw é um agente de IA pessoal leve e de código aberto que roda na sua própria máquina. Conecta-se a aplicativos de mensagens como WhatsApp e Telegram, executa tarefas de IA em contêineres isolados e possui apenas 15 arquivos fonte para total auditabilidade. Projetado para usuários preocupados com privacidade que desejam controle total sobre seu assistente de IA.

Agentes IAFreemiumFoco em PrivacidadeFramework de Agente IAAutomação de WorkflowsSelf-hostedCódigo Aberto

O que é o NanoClaw

O NanoClaw representa uma abordagem radicalmente diferente para agentes de IA pessoais. Enquanto frameworks tradicionais como o OpenClaw exigem navegação por centenas de milhares de linhas de código distribuídas em centenas de arquivos, esta solução foi projetada desde o início com um princípio fundamental: simplicidade radical para controle total.

O projeto consiste em aproximadamente 15 arquivos-fonte com cerca de 3.900 linhas de código — uma redução de mais de 99% em comparação com o OpenClaw, que possui 434.453 linhas. Essa arquitetura enxuta não é apenas uma questão estética: ela permite que qualquer pessoa com conhecimentos básicos de programação compreenda completamente o funcionamento do sistema em questão de minutos, não dias.

Tecnicamente, o NanoClaw opera como um processo Node.js único, eliminando a complexidade de microsserviços e message brokers. A execução de agentes ocorre dentro de contêineres Linux reais (ou Apple Container no macOS com chips Apple), proporcionando isolamento no nível do sistema operacional — não apenas verificações de permissão no nível da aplicação. Cada sessão de agente recebe seu próprio namespace de sistema de arquivos, IPC e processos.

O projeto acumula mais de 25.300 estrelas no GitHub e 8.500 forks, com 57 colaboradores ativos e mais de 424 commits. A base de código foi notícia em veículos como VentureBeat, Fortune, The New Stack e CNBC, estabelecendo o NanoClaw como referência em arquitetura minimalista para agentes de IA.

A filosofia central do NanoClaw pode ser resumida assim: se você não consegue auditá-lo completamente, não deveria confiar nele com seus dados. Essa abordagem "security-first" combina a capacidade de modelos de linguagem avançados com isolamento robusto, dando aos usuários controle total sobre seu assistente de IA pessoal.

Resumo Técnico
  • Código base: 15 arquivos, ~3.900 linhas (vs. OpenClaw 434.453 linhas)
  • Arquitetura: Processo único Node.js, sem microsserviços
  • Isolamento: Contêineres Linux reais com namespace isolation
  • Dependências: Menos de 10 (vs. OpenClaw 70+)
  • Configuração: 0 arquivos de configuração manuais
  • Testes: Framework Vitest com cobertura abrangente

Arquitetura de Isolamento em Contêineres

A segurança é o fundamento sobre o qual o NanoClaw foi construído. Diferentemente de frameworks que dependem de verificações de permissão no nível da aplicação, esta solução utiliza isolamento real no nível do sistema operacional através de contêineres Linux.

Cada sessão de agente é executada em um contêiner efêmero — um ambiente completamente novo e isolado que é destruído após cada operação. O contêiner é executado como usuário não-root (uid 1000), garantindo que mesmo uma comprometimento do agente resulte em acesso limitado. As diretivas --rm garantem que nenhum artefato persista entre execuções.

Fronteiras de Segurança Implementadas

O sistema de montagem de arquivos segue um modelo de whitelist explícita. O arquivo de configuração ~/.config/nanoclaw/mount-allowlist.json define quais diretórios estão acessíveis ao agente — e notavelmente, este arquivo de configuração nunca é montado no contêiner, impedindo que o agente modifique suas próprias permissões.

Caminhos sensíveis são bloqueados por padrão, incluindo .ssh, .gnupg, .aws, .gcloud, .kube, .docker e qualquer diretório contendo "credentials" ou ".env". A resolução de symlinks é tratada explicitamente para prevenir ataques de path traversal.

Sistema de Proxy de Credenciais

Uma das inovações mais significativas do NanoClaw é o sistema de proxy de credenciais. Credenciais de API reais nunca entram no contêiner. Em vez disso, o host executa um proxy HTTP que injeta transparentemente headers de autenticação. O contêiner recebe apenas um placeholder key — a credencial real permanece exclusivamente no host.

Isolamento por Grupo

Cada grupo (família, trabalho, projeto) mantém sessões Claude completamente isoladas, armazenadas em data/sessions/{group}/.claude/. Grupos não podem acessar históricos de conversa de outros grupos, e todas as operações de mensagem e tarefa são autenticadas por identidade de grupo.

  • Arquitetura minimalista: 15 arquivos vs. centenas de outros frameworks
  • Isolamento real: Contêineres Linux com namespace isolation no nível do SO
  • Auditabilidade completa: Código pode ser compreendido em ~8 minutos
  • Zero arquivos de configuração: Configuração via linguagem natural
  • Sistema de credenciais seguro: API keys nunca entram no contêiner
  • Skills como branches git: Extensibilidade sem inchaço de código
  • Dependência de Claude API key: Requer assinatura Anthropic para uso
  • Requisitos de runtime: Necessita Docker ou Apple Container
  • Curva de aprendizado: Exige conforto com terminal e git
  • Alcance limitado: Focado em desenvolvedores individuais, não equipes empresariais
  • Recursos de IA: Limitado ao ecossistema Claude (sem suporte nativo a outros LLMs)

Casos de Uso Técnicos

O NanoClaw foi projetado para cenários onde controle, privacidade e auditabilidade são prioridades absolutas. Abaixo, exploramos os casos de uso mais relevantes para desenvolvedores e usuários técnicos.

Processamento de Dados Sensíveis

Para tarefas envolvendo dados financeiros, médicos ou pessoais, o NanoClaw oferece uma combinação rara: capacidade de IA com execução local. O contêiner isolado garante que mesmo que o modelo de linguagem processe informações sensíveis, essas informações nunca vazam para servidores externos durante a execução do código.

Auditoria de Comportamento de IA

Quando você precisa entender exatamente como e por que uma IA tomou uma decisão, a auditabilidade se torna crítica. Com apenas 15 arquivos para analisar, engenheiros deprompt e pesquisadores podem rastrear o fluxo completo de processamento, desde o recebimento de mensagens até a execução de ações no sistema host.

Automação com Agentes Múltiplos

A funcionalidade Agent Swarms permite que o NanoClaw inicie múltiplos agentes especializados que colaboram em tarefas complexas. Cada agente pode operar com contexto e permissões diferentes, permitindo abordagens como análise paralela de documentos ou processamento de workflow em estágios.

Orquestração de Mensagens Cross-Platform

A arquitetura de canais auto-registráveis permite que desenvolvedores conectem qualquer plataforma de mensagens. O sistema de skills suporta WhatsApp, Telegram, Discord, Slack e Gmail nativamente, com capacidade de adicionar novas plataformas através de skills customizadas.

💡 Quando escolher o NanoClaw

O NanoClaw é ideal para desenvolvedores individuais, pesquisadores de IA e profissionais de segurança que necessitam de controle total sobre seu assistente de IA. Se você valoriza auditabilidade completa sobre funcionalidades empresariais, prefere execução local sobre processamento na nuvem, e tem familiaridade com terminal e Docker, esta é a escolha certa.


Stack Tecnológica e Ecossistema

Composição da Base de Código

O NanoClaw utiliza uma stack tecnológica moderna e enxuta:

Componente Tecnologia Versão
Linguagem principal TypeScript 95.6% do código
Runtime Node.js 20+
SDK de Agente @anthropic-ai/claude-agent-sdk 0.2.29
Armazenamento SQLite (better-sqlite3) -
Contêineres Docker / Apple Container -
Testes Vitest -

Em comparação direta com o OpenClaw, o contraste é dramático:

Métrica NanoClaw OpenClaw
Arquivos fonte 15 434.453
Linhas de código ~3.900 ~434.453
Dependências <10 70+
Arquivos de configuração 0 53
Tempo para compreensão ~8 minutos Dias

Suporte a Modelos Terceiros

Além do Claude Agent SDK, o NanoClaw suporta integração com provedores de modelos personalizados, incluindo Ollama, Together AI e Fireworks. Isso permite que usuários experimentem diferentes modelos de linguagem mantendo a arquitetura de isolamento robusta.

Contribuição e Comunidade

O ecossistema open source do projeto é ativamente mantido:

  • 57 colaboradores com commits regulares
  • Discord comunitário ativo para suporte e discussões
  • Skills system permite que a comunidade expanda funcionalidades via branches git
  • Documentação completa incluindo SPEC.md e SECURITY.md detalhados

Primeiros Passos

Requisitos de Sistema

Antes de iniciar, certifique-se de ter:

  • Node.js 20+ instalado
  • Claude Code (download em claude.ai/download)
  • Runtime de contêineres: Docker (Linux/macOS Intel) ou Apple Container (macOS Apple Silicon)
  • Conhecimento básico de terminal e git

Processo de Instalação

O NanoClaw utiliza um processo de configuração AI-native — não há wizards de instalação ou arquivos de configuração manuais. O fluxo é:

  1. Clone o repositório: git clone https://github.com/qwibitai/nanoclaw
  2. Inicie o Claude Code no diretório do projeto
  3. Execute o skill /setup e siga as instruções
  4. O Claude Code cuidará automaticamente de:
    • Instalação de dependências
    • Configuração de credenciais de API
    • Configuração do runtime de contêineres
    • Inicialização do serviço

Configuração de Canais

Após o setup inicial, adicione canais de mensagens conforme necessário:

  • Execute /add-whatsapp para WhatsApp
  • Execute /add-telegram para Telegram
  • Execute /add-discord para Discord

Cada canal é configurado interativamente pelo Claude Code.

💡 Boas Práticas de Início

Comece configurando apenas o grupo principal (Main Group) para testes iniciais. Após validar o comportamento básico, expanda gradualmente adicionando skills e criando grupos adicionais. Mantenha backups regulares do diretório data/ e monitore logs de contêiner durante as primeiras semanas de uso.


Perguntas Frequentes

Qual a diferença técnica fundamental entre NanoClaw e OpenClaw?

A diferença principal está no paradigma arquitetural. O OpenClaw utiliza uma arquitetura monolítica com centenas de arquivos e múltiplas dependências, exigindo frameworks complexos de microsserviços. O NanoClaw adota uma arquitetura de processo único: um único arquivo Node.js gerencia toda a aplicação, com delegação para contêineres Linux apenas quando execução de código é necessária. Isso resulta em 99% menos código, zero arquivos de configuração manuais, e complexidade linear em vez de exponencial.

Como o isolamento em contêineres impede acesso a arquivos sensíveis do host?

O isolamento é implementado em múltiplas camadas. Primeiro, o contêiner é executado com usuário não-root (uid 1000) e diretivas --cap-drop ALL, removendo privilégios administrativos. Segundo, o sistema de montagens utiliza whitelist explícita — apenas diretórios listados em mount-allowlist.json são compartilhados com o contêiner. Terceiro, caminhos críticos (.ssh, .gnupg, .aws, etc.) são bloqueados por padrão e nunca montados. Quarto, o arquivo de configuração de whitelist fica fora do contêiner, impedindo que o agente modifique suas próprias permissões.

Como o sistema de proxy de credenciais garante segurança das API keys?

O proxy opera interceptando chamadas HTTP antes de alcançarem o contêiner. Quando o agente tenta fazer uma requisição autenticada, ele utiliza um placeholder key (como sk-ant-placeholder) que é inútil fora do contexto do contêiner. O proxy HTTP no host intercepta essa requisição, substitui o placeholder pela credencial real, e repassa a requisição ao destino. O contêiner nunca possui visibilidade sobre credenciais reais, e mesmo se comprometido, não poderia extrair keys do proxy.

Quais protocolos de mensagens e formatos de dados são suportados?

O NanoClaw utiliza um sistema de channels auto-registráveis que abstrai protocolos específicos. O channel WhatsApp implementa o protocolo oficial WhatsApp Web/BAILEYS; Telegram usa a Bot API; Discord utiliza webhooks e intents; Slack emprega a Web API. Cada channel expõe uma interface comum para envio/recebimento de mensagens, permitindo que o mesmo código de agente opere independentemente do protocolo subjacente.

Como funciona o sistema de extensibilidade via skills?

Skills são implementadas como branches git independentes. Quando você executa /add-telegram, o NanoClaw faz checkout de um branch específico que contém todo o código necessário para aquele channel. Você pode então fazer merge seletivo de features para seu branch principal. Isso mantém o repositório base minimalista enquanto permite expansão infinita. Skills são categorizadas em: feature (novos canais), utility (ferramentas auxiliares), operational (monitoramento, logs) e container (customização de ambiente).

O isolamento entre grupos é realmente completo?

Sim, o isolamento é implementado em três níveis. No nível de sessão, cada grupo possui diretórios completamente separados em data/sessions/{group}/.claude/, incluindo histórico de conversas, tokens de API específicos do contexto, e configurações de agente. No nível de sistema de arquivos, cada grupo recebe seu próprio ambiente de contêiner isolado — grupos não podem ver ou acessar arquivos de outros grupos. No nível de comunicação, a autorização IPC verifica identidade de grupo antes de processar mensagens ou tarefas, impedindo cross-group message spoofing.

Qual o desempenho do scheduler para tarefas automatizadas?

O scheduler opera com poll interval de 60 segundos para verificação de tarefas. Três tipos de agendamento são suportados: expressões cron padrão (formato UNIX), intervalos em milissegundos (ex: a cada 3600000ms = 1 hora), e execução única em timestamp específico. O scheduler utiliza declaração atômica para prevenir execuções duplicadas em casos de restart ou execução concorrente. Para a maioria dos casos de uso (daily briefings, weekly reports), o overhead de polling é insignificante.

O que exatamente significa 'auditabilidade completa' na prática?

A auditabilidade se manifesta em três dimensões. Primeiro, legibilidade: o código fonte completo pode ser lido em aproximadamente 8 minutos por um desenvolvedor proficiente em TypeScript. Segundo, rastreabilidade: fluxos de dados são lineares — uma mensagem recebida passa por pontos bem definidos (channel → router → agent → container → response) que podem ser tracejados. Terceiro, modificabilidade:,因为你可以通过简单地告诉 Claude Code 你想要什么,它就直接修改代码 — 非技术用户也能在不阅读代码的情况下进行定制。

Comentários

Comentários

Por favor faça login para deixar um comentário.
Ainda não há comentários. Seja o primeiro a compartilhar sua opinião!