- NanoClaw é um assistente de IA pessoal baseado em Claude que roda em Apple Containers, com uma arquitetura de processo único e um sistema leve composto por poucos arquivos
- Por meio de isolamento de contêiner por grupo, separa o histórico de conversas e o sistema de arquivos, além de oferecer suporte a mensagens via WhatsApp, tarefas agendadas, acesso à web e mais
- Sem arquivos de configuração, o Claude Code orienta a instalação e a personalização, e o usuário pode ajustar tudo para si mesmo modificando diretamente o código
- Novos recursos são expandidos com arquivos de “Skill” em vez de adicionar código, com várias solicitações de extensão como
/add-telegram e /convert-to-docker
- Em vez de frameworks complexos, prioriza uma estrutura de segurança compreensível e simplicidade, oferecendo uma base para que desenvolvedores independentes ou startups criem assistentes de IA com segurança
Visão geral do projeto
- NanoClaw é um assistente Claude pessoal que funciona no ambiente Apple Container, projetado com foco em leveza e segurança
- Roda em um único processo Node.js, e cada agente usa um sistema de arquivos isolado dentro de um contêiner Linux
- A base de código tem cerca de 500 linhas de TypeScript, e o autor afirma que o usuário consegue entender toda a estrutura em 8 minutos
- É distribuído sob licença MIT e já conquistou mais de 500 stars no GitHub
Filosofia de design
- Escala compreensível: construído como um processo único, sem microsserviços, filas de mensagens ou abstrações complexas
- Segurança por isolamento: só é possível acessar diretórios montados explicitamente, e comandos Bash também são executados apenas dentro do contêiner
- Foco em usuário único: não é um framework, mas sim um software personalizado para uso individual, que pode ser modificado diretamente após um fork
- Modificar código em vez de configuração: minimiza arquivos de configuração, implementando o comportamento desejado por meio de alterações no código
- Abordagem AI-native: instalação, depuração e monitoramento são feitos pela interface conversacional do Claude Code
- Expansibilidade baseada em Skills: novos recursos são tratados por arquivos de skill no diretório
.claude/skills, sem mudanças no código
Principais recursos
- WhatsApp I/O: troca de mensagens com Claude diretamente pelo celular
- Isolamento de contexto por grupo: cada grupo tem sua própria memória em
CLAUDE.md e seu próprio sistema de arquivos em contêiner
- Canal principal: um canal pessoal para administração, totalmente separado dos outros grupos
- Tarefas agendadas: execução de tarefas periódicas e envio automático de mensagens
- Acesso à web: recursos de busca e coleta de conteúdo
- Integrações opcionais: serviços externos como Gmail podem ser conectados por meio de skills, como
/add-gmail
Personalização
- As alterações podem ser feitas diretamente por conversa com o Claude Code, sem arquivos de configuração
- Ex.: “mudar a palavra de gatilho para @Bob”, “deixar as respostas mais curtas”, “salvar um resumo semanal das conversas” etc.
- O comando
/customize oferece suporte para modificações passo a passo
- Como a base de código é pequena, o Claude consegue modificá-la diretamente com segurança
Expansão e forma de contribuição
- Novos recursos não são adicionados diretamente por PR, mas fornecidos como skills
- Ex.: expansão de canais de comunicação como
/add-telegram, /add-slack e /add-discord
/convert-to-docker converte de Apple Container para Docker
/setup-windows adiciona suporte ao Windows com base em WSL2
/add-clear adiciona resumo e compactação de sessões
- Contribuidores transformam seu próprio fork por meio de skills e depois compartilham isso de volta com o projeto
Requisitos de sistema e estrutura
- Requer macOS Tahoe(26) ou superior, Node.js 20+, Claude Code e Apple Container
- Fluxo da arquitetura:
WhatsApp (baileys) → SQLite → Polling loop → Container (Claude Agent SDK) → Response
- Principais arquivos:
src/index.ts: app principal e conexão com o WhatsApp
src/container-runner.ts: gerenciamento da execução de contêineres
src/task-scheduler.ts: recurso de agendamento
src/db.ts: integração com SQLite
groups/*/CLAUDE.md: armazenamento de memória por grupo
Resumo do FAQ
- Por que usar WhatsApp: porque o autor já usa WhatsApp pessoalmente, e outros canais podem ser substituídos por skills
- Por que escolher Apple Container: porque é embutido no macOS, além de leve e rápido
- Pode rodar em Linux?: é possível portar em cerca de 30 minutos usando Claude Code
- Segurança: baseada em isolamento por contêiner, sem acesso fora do que for montado explicitamente
- Por que não há arquivos de configuração: para evitar proliferação de configurações e manter a personalização centrada no código
- Como depurar: perguntando diretamente ao Claude Code para resolver o problema
- Quais mudanças são permitidas: apenas correções de segurança, bugs e melhorias na configuração padrão
Licença
- Distribuído sob a MIT License
- Qualquer pessoa pode modificar e redistribuir livremente
1 comentários
Comentários no Hacker News
Isso parece perigosamente arriscado de rodar de verdade
Pode até parecer ok agora, mas basta um problema acontecer e acabou
Conectar algo como o Claw a um espaço de conversa compartilhado parece, literalmente, um experimento perigoso
O pessoal black hat já deve estar de olho, e no fim muita gente provavelmente vai se dar muito mal
Talvez estejamos vivendo uma era de ouro temporária, usando LLM barato e sem anúncios
Hoje em dia eu também tenho usado IA para pedir comparações ou orçamentos diretamente, porque os resultados de busca estão muito tomados por spam
Mas me preocupa se em breve vamos começar a receber respostas misturadas com anúncios e recomendações pagas
Hoje em dia, quando publico código que fiz, tento escrever a documentação e o README à mão
Quando o texto tem cheiro de LLM, mesmo que o projeto seja bom, eu perco o interesse
Não passa aquela sensação de sinceridade de alguém tentando se comunicar com outra pessoa
Mesmo com erros de digitação, acho explicações humanas muito melhores
Aliás, o autor mexeu no README depois do meu comentário
Link para o commit corrigido
Como você apontou, corrigi as partes que tinham cheiro de IA, e agora ficou bem melhor
Este código não é uma obra-prima, é um código prático útil para mim
Espero que também possa servir de referência para outras pessoas
Fiz isso no fim de semana, prestando atenção à estrutura de segurança, mas por enquanto precisei encerrar e subi tudo ainda num estado meio rough
Se você ler o README, o contexto do projeto deve ficar bem mais claro
Usar IA no código tudo bem, mas o texto de apresentação deveria ser escrito por uma pessoa
Antes o próprio código era uma “prova de esforço”, mas agora ficou tão fácil produzir que isso perdeu peso
Link para a discussão relacionada
Uma das vantagens do Clawdbot é que ele permite todas as permissões
Mas ainda fico me perguntando como essas ações externas são isoladas em sandbox
O Apple Container é bem sólido porque cada contêiner tem um mapeamento 1:1 com uma VM leve
Um exemplo de sandbox genérico para execução de código usando isso é instavm/coderunner
Também dá para integrar com IA como o Claude Code
O Clawdbot parece uns 100 alunos do segundo ano batendo na porta pedindo acesso root
Esse projeto parece muito legal
Eu estava curioso para saber se hoje em dia dá para usar o Agent SDK com assinatura Claude Pro/Max,
e pelo Quickstart oficial parece que sim
Diz lá que, depois da instalação, se você fizer login no terminal, o SDK usa autenticação automática
Ou seja, parece que não dá para usar o SDK diretamente com uma conta de assinatura
Seria bom se a Anthropic esclarecesse isso
Como estou usando o Agents SDK, acho que não deve violar os TOS
Só que eu não sabia como manter uma sessão autenticada dentro do contêiner, então usei a gambiarra de injetar o token OAuth como variável de ambiente
Essa é a única brecha de segurança
Um usuário malicioso pode roubar o token com prompt injection
Se alguém souber como conectar corretamente autenticação por sessão dentro do contêiner, agradeço a ajuda
Por essa documentação, parece que dá para criar apps no estilo agente livremente mesmo com conta de assinatura
Pessoas não técnicas tendem a confiar demais no modelo olhando só para a redução da taxa de alucinação
Mas o perigo real são os ataques com prompts maliciosos
Como nos primeiros tempos do cartão de crédito, o prejuízo ainda não apareceu com força
Só depois que vários casos explodirem é que vai surgir maior conscientização
Eu estava esperando que alguém fizesse uma versão mais segura disso
O OpenClaw é útil, mas ao mesmo tempo dá medo
Por isso meu Mac mini continua desligado agora
Achei interessante terem usado Apple Container em vez de Docker
Imagino que tenha sido para economizar recursos no Mac Mini
Mas fico curioso se isso não limita as ferramentas padrão de Linux
Gostei da ideia de uma versão menor do OpenClaw
O código parece ter umas 2500 linhas, e a estrutura com Apple Container também é interessante
No Quick Start está
git clone https://github.com/anthropics/nanoclaw.git, masesse repositório não existe. Fiquei na dúvida se é um projeto oficial da Anthropic
Dá até para suspeitar que o README tenha sido gerado por alucinação
Link para o commit relacionado
Eu conectei o Claude Code ao meu vault do Obsidian e deixei agendamentos de tarefas via WhatsApp
É muito mais simples que o OpenClaw gigante e fica dentro de um escopo que eu consigo entender, então me sinto mais tranquilo
Espero que outras pessoas usem apenas como referência
Quando vejo um app vibe-coded hoje em dia, acabo só criando algo parecido eu mesmo com Claude Code
Em vez de usar o de outra pessoa, é mais eficiente fazer algo sob medida para a minha necessidade
Isso reduz o valor de bibliotecas externas
Também desaparece o risco de ataque à cadeia de suprimentos ou mudança de licença
O próprio código vira documentação e configuração
Por isso gosto mais dessas versões leves e personalizadas do que do OpenClaw
Você pode fazer um fork e usar como ponto de partida, ou mostrar para o Claude como referência e gerar sua própria versão na hora