- NanoClaw es un asistente de IA personal basado en Claude que se ejecuta en Apple Container, con un sistema liviano compuesto por una arquitectura de proceso único y unos pocos archivos
- A través del aislamiento por contenedor para cada grupo, separa el historial de conversaciones y el sistema de archivos, y ofrece soporte para mensajería por WhatsApp, tareas programadas, acceso web y más
- Sin archivos de configuración, Claude Code guía la instalación y la personalización, y el usuario puede modificar el código directamente para ajustarlo a sus necesidades
- Las nuevas funciones se amplían con archivos de “Skill” en lugar de agregar código, y se proponen varias extensiones como
/add-telegram y /convert-to-docker
- En lugar de frameworks complejos, prioriza una estructura de seguridad comprensible y la simplicidad, y ofrece una base para que desarrolladores individuales o startups construyan asistentes de IA de forma segura
Resumen del proyecto
- NanoClaw es un asistente de Claude personal que funciona en el entorno de Apple Container, diseñado con enfoque en ligereza y seguridad
- Se ejecuta en un solo proceso de Node.js, y cada agente usa un sistema de archivos aislado dentro de un contenedor Linux
- La base de código está compuesta por alrededor de 500 líneas de TypeScript, y se explica que un usuario puede entender toda la estructura en 8 minutos
- Se publica bajo licencia MIT y ha conseguido más de 500 stars en GitHub
Filosofía de diseño
- Escala comprensible: está compuesto como un solo proceso, sin microservicios, colas de mensajes ni abstracciones complejas
- Seguridad mediante aislamiento: solo se puede acceder a directorios montados explícitamente, y los comandos de Bash también se ejecutan únicamente dentro del contenedor
- Enfoque en un solo usuario: no es un framework, sino software personalizado para uso individual, que puede modificarse directamente después de hacer fork
- Modificar código en lugar de configurar: minimiza los archivos de configuración y permite implementar el comportamiento deseado mediante cambios en el código
- Enfoque nativo para IA: instalación, depuración y monitoreo se realizan a través de la interfaz conversacional de Claude Code
- Extensibilidad basada en skills: la incorporación de funciones se maneja con archivos de skills en el directorio
.claude/skills, no con cambios al código
Funciones principales
- WhatsApp I/O: intercambio directo de mensajes con Claude desde el teléfono
- Aislamiento de contexto por grupo: cada grupo tiene una memoria
CLAUDE.md propia y un sistema de archivos de contenedor independiente
- Canal principal: canal personal para administración, completamente separado de los demás grupos
- Tareas programadas: ejecución periódica de tareas y envío automático de mensajes
- Acceso web: funciones de búsqueda y recopilación de contenido
- Integraciones opcionales: posibilidad de conectar servicios externos como Gmail mediante skills como
/add-gmail
Personalización
- Se puede modificar directamente mediante conversaciones con Claude Code, sin archivos de configuración
- Ejemplos: “cambia la palabra de activación a @Bob”, “haz las respuestas más cortas”, “guarda un resumen semanal de las conversaciones”, etc.
- El comando
/customize ofrece soporte para modificaciones paso a paso
- Como la base de código es pequeña, Claude puede modificarla directamente de forma segura
Forma de extensión y contribución
- Las nuevas funciones no se agregan directamente con PR, sino que se ofrecen como skills
- Ejemplos: expansión de canales de comunicación con
/add-telegram, /add-slack y /add-discord
- Conversión de Apple Container a Docker con
/convert-to-docker
- Soporte para Windows basado en WSL2 con
/setup-windows
- Adición de funciones de resumen y compresión de sesiones con
/add-clear
- Los contribuidores transforman su fork mediante skills y luego lo comparten de vuelta con el proyecto
Requisitos del sistema y estructura
- Requiere macOS Tahoe(26) o superior, Node.js 20+, Claude Code y Apple Container
- Flujo de arquitectura:
WhatsApp (baileys) → SQLite → Polling loop → Container (Claude Agent SDK) → Response
- Estructura principal de archivos:
src/index.ts: app principal y conexión con WhatsApp
src/container-runner.ts: gestión de ejecución de contenedores
src/task-scheduler.ts: funciones de programación
src/db.ts: integración con SQLite
groups/*/CLAUDE.md: almacenamiento de memoria por grupo
Resumen del FAQ
- Razón para usar WhatsApp: porque el autor usa WhatsApp personalmente, y otros canales pueden reemplazarse con skills
- Razón para elegir Apple Container: viene integrado en macOS y es liviano y rápido
- Si puede ejecutarse en Linux: puede portarse en unos 30 minutos mediante Claude Code
- Seguridad: basada en aislamiento por contenedores; no permite acceso fuera de los montajes explícitos
- Razón de la ausencia de archivos de configuración: evitar la proliferación de configuración y mantener una personalización centrada en el código
- Método de depuración: resolver problemas preguntándole directamente a Claude Code
- Cambios permitidos: solo se permiten correcciones de seguridad, bugs y mejoras de la configuración base
Licencia
- Se distribuye bajo MIT License
- Cualquiera puede modificarlo y redistribuirlo libremente
1 comentarios
Opiniones en Hacker News
Esto se siente demasiado peligroso para ejecutarlo de verdad
Puede verse bien ahora, pero si algo sale mal una vez, se acabó
Conectar algo como Claw a un espacio compartido de conversaciones parece, literalmente, un experimento riesgoso
Los black hats ya lo están observando, y al final parece que mucha gente va a salir muy lastimada
Tal vez estamos disfrutando una edad dorada usando LLM baratos y sin publicidad
Yo también últimamente uso IA para pedir comparaciones o cotizaciones directamente, porque los resultados de búsqueda están demasiado llenos de spam
Pero me preocupa que pronto terminemos recibiendo respuestas mezcladas con anuncios y recomendaciones pagadas
Últimamente, cuando publico código que hice, trato de escribir la documentación o el README a mano
Los documentos que huelen a texto escrito por LLM me quitan el interés aunque el proyecto sea bueno
No se siente que haya una intención sincera de comunicar algo a otra persona
Incluso con errores tipográficos, me parecen mucho mejores las explicaciones humanas
Por cierto, el autor corrigió el README después de mi comentario
Enlace al commit corregido
Como señalaste, corregí las partes que olían a IA y ahora quedó mucho mejor
Este código no es una obra maestra, es código práctico que me sirve
Espero que también pueda ayudarle a otros como referencia
Lo hice durante el fin de semana poniendo atención a la estructura de seguridad, y por ahora lo subí en un estado rough porque tenía que cerrarlo
Si lees el README, se entiende mejor el contexto del proyecto
Está bien usar IA para el código, pero la presentación debería escribirla una persona
Antes el código en sí era una ‘prueba de esfuerzo’, pero ahora se hace tan fácil que perdió peso
Enlace al hilo relacionado
Una de las ventajas de Clawdbot es que permite todos los permisos
Aun así, me queda la duda de cómo se hace el sandboxing de esas acciones externas
Apple Container parece bastante sólido porque cada contenedor se mapea 1:1 con una VM ligera
Un ejemplo de sandbox general para ejecutar código usando esto es instavm/coderunner
También se puede integrar con IA como Claude Code
Clawdbot se siente como si 100 estudiantes de segundo año tocaran la puerta pidiendo acceso root
Este proyecto se ve genial
Últimamente me preguntaba si con una suscripción Claude Pro/Max se podía usar el Agent SDK,
y según la documentación oficial de Quickstart, sí se puede
Dice que, después de instalarlo e iniciar sesión en la terminal, el SDK usa autenticación automática
O sea, parece significar que no se puede usar el SDK directamente con una cuenta de suscripción
Estaría bien que Anthropic aclarara esta parte
Como usa el Agents SDK, creo que no viola los TOS
Pero como no supe cómo mantener la sesión autenticada dentro del contenedor, usé el truco de inyectar el token OAuth como variable de entorno
Esa es la única grieta de seguridad. Un usuario malicioso podría extraer el token mediante prompt injection
Si alguien sabe cómo conectar correctamente la autenticación de sesión dentro del contenedor, agradecería la ayuda
Según esta documentación, parece que incluso con una cuenta de suscripción se pueden crear libremente apps de tipo agente
La gente no técnica tiende a confiar demasiado en los modelos viendo solo la reducción de alucinaciones
Pero el verdadero peligro son los ataques con prompts maliciosos
Como en los primeros días de las tarjetas de crédito, todavía no se ven los daños
La alarma recién llegará cuando empiecen a explotar varios casos
Estaba esperando que alguien hiciera una versión más segura de esto
OpenClaw es útil, pero al mismo tiempo da miedo
Por eso tengo mi Mac mini apagada por ahora
Es interesante que haya usado Apple Container en vez de Docker
Supongo que fue para ahorrar recursos en una Mac Mini
Pero me pregunto si eso no limita el tooling estándar de Linux
Me gusta la idea de una versión pequeña de OpenClaw
El código parece tener unas 2500 líneas, y la estructura con Apple Container también es interesante
En el Quick Start dice
git clone https://github.com/anthropics/nanoclaw.git,pero ese repositorio no existe. Me pregunto si es un proyecto oficial de Anthropic
Esto hace sospechar que quizá el README fue alucinado
Enlace al commit relacionado
Le conecté Claude Code a mi vault de Obsidian, y además permite programar tareas cron por WhatsApp
Me deja más tranquilo porque es mucho más simple que OpenClaw y está dentro de un alcance que yo sí entiendo
Ojalá a otros también les sirva solo como referencia
Últimamente, cuando veo una app vibe-coded, simplemente hago algo parecido yo mismo con Claude Code
Es más eficiente construirlo a mi medida que usar lo de otra persona
El valor de las librerías externas está bajando
También desaparecen los riesgos de supply chain attacks o cambios de licencia
Vivimos en una época donde el código mismo se vuelve documentación y configuración
Por eso me gusta más algo como esta versión ligera y personalizada que OpenClaw
Puedes hacer un fork y usarlo como punto de partida, o dárselo a Claude como referencia para crear tu propia versión al instante