Saltar al contenido principal
NanoClaw es un asistente de IA ligero y autoalojado que se ejecuta en WhatsApp y Telegram. Este fork añade soporte para Venice AI para que todo se ejecute de forma privada sin una suscripción a Anthropic.

Pago por token

Sin suscripción. Paga solo por lo que uses

Inferencia privada

Cero retención de datos en los servidores de Venice

Aislamiento con Docker

Cada chat se ejecuta en su propio contenedor seguro

¿Por qué Venice AI?

Venice es una plataforma de IA centrada en la privacidad. No almacenan ni registran prompts ni respuestas en sus servidores — tus conversaciones existen solo en tu dispositivo. Las solicitudes se cifran de extremo a extremo a través de su proxy hacia proveedores de GPU descentralizados, con cero retención de datos. Esto significa que las conversaciones de tu asistente de IA siguen siendo privadas, incluso para Venice. Venice proporciona acceso anonimizado a modelos de frontera (Claude Opus, Claude Sonnet) y acceso totalmente privado a modelos de código abierto (GLM, Qwen) a través de una sola API — alterna entre ellos en cualquier momento.
Venice AIProveedores de IA tradicionales
Retención de datosNinguna — cero logs
Privacidad del promptCifrada, nunca almacenadaAlmacenada en los servidores del proveedor
Modelos open-sourceSí (GLM, Qwen y otros)No
Modelos fronteraClaude, GPT y otros — de forma anónimaSolo mediante suscripciones directas
PreciosPago por token, sin suscripción. O hacer staking de DIEM para créditos diarios renovablesSuscripciones de $20–200/mes o API de pago por token
Inferencia sin censuraSí (modelos open-source)No

¿Por qué NanoClaw?

NanoClaw es una alternativa limpia y mínima a plataformas más grandes como OpenClaw. Está diseñado para una persona ejecutando un bot.
NanoClaw (Venice)OpenClaw
Base de código~2.000 líneas, un puñado de archivos~500.000 líneas, 53 archivos de configuración
Dependencias~15 paquetes70+ paquetes
Modelo de seguridadAislamiento a nivel de SO con contenedores DockerAllowlists y códigos de emparejamiento a nivel de aplicación
Aislamiento por grupoCada grupo tiene su propio contenedor, sistema de archivos y memoriaProceso compartido, memoria compartida
ConfiguraciónUn asistente (/setup), ~10 minutosConfiguración manual multi-paso
Proveedor de IAVenice AI (privado, sin suscripción)Anthropic (requiere API key o suscripción)
PersonalizaciónEdita el código directamente — es lo bastante pequeño como para leerloArchivos de configuración y plugins
Usuario objetivoUna persona, un botPlataforma multi-usuario

Lo que obtienes

  • Asistente de IA personal en Telegram y/o WhatsApp
  • Impulsado por Venice AI — no se necesita cuenta de Anthropic
  • El bot se ejecuta en un contenedor Docker aislado (en sandbox, no puede acceder a tu sistema)
  • Cambio de modelo — dile al bot “switch to zai-org-glm-5” o “use opus” en cualquier momento
  • Tareas programadas — configura recordatorios, tareas recurrentes
  • Búsqueda y navegación web integradas
  • Formato Markdown en los mensajes de Telegram

Requisitos previos

Node.js 20+

Comprueba con node --version

Docker

Instálalo y ábrelo una vez para que esté en ejecución

Claude Code CLI

Comprueba con claude --version

API key de Venice

Genera desde tu cuenta de Venice
Para Telegram (recomendado para usuarios nuevos):
  1. Abre Telegram y busca @BotFather
  2. Envía /newbot y sigue las indicaciones
  3. Guarda el token que te da BotFather (parece 123456789:ABCdef...)
Para WhatsApp — usa un número virtual, NO el personal:NanoClaw se conecta como dispositivo vinculado a tu número de WhatsApp. Eso significa que el agente puede ver cada mensaje entrante y saliente — todas tus conversaciones personales, chats de grupo, fotos, todo. Tu teléfono sigue funcionando con normalidad, pero el bot tiene visibilidad completa de toda tu cuenta de WhatsApp.Usa un número de teléfono virtual en su lugar. Estas apps te dan un segundo número que puedes dedicar por completo al bot:
AppPrecioNotas
Hushed~$5/mesFiable, funciona bien para verificación de WhatsApp
Burner~$5/mesSimilar a Hushed, números desechables
Google VoiceGratisSolo EE. UU., puede no funcionar para verificación de WhatsApp en todos los casos
Cómo configurarlo:
  1. Consigue un número virtual de una de las apps anteriores
  2. Instala WhatsApp en un segundo dispositivo (teléfono antiguo, tablet o emulador) usando ese número virtual
  3. Durante la configuración de NanoClaw, escanea el código QR con ese segundo dispositivo, no con tu teléfono personal

Configuración

La configuración tarda unos 10 minutos. Solo necesitas una ventana de Terminal.
1

Clona e instala

Abre Terminal y ejecuta:
git clone https://github.com/lorenzovenice/nanoclaw-venice.git
cd nanoclaw-venice
npm install
Espera a que npm install termine sin errores.
2

Lanza Claude Code con Venice

Sustituye your-key por tu API key de Venice y ejecuta:
VENICE_API_KEY=your-key npm run venice
Esto inicia el proxy de Venice y lanza Claude Code a través de él en un solo comando.
Claude Code usa por defecto GLM 5 (zai-org-glm-5) para mantener bajos los costes de configuración. Tras la configuración, escribe /model dentro de Claude Code para cambiar a claude-sonnet-4-6 o claude-opus-4-6 para el mejor rendimiento.
Si se te pregunta “Do you want to use this API key?”, selecciona Yes.
3

Ejecuta el asistente de configuración

En tu terminal de Claude Code, escribe:
/setup
El asistente te guía por:
  1. Bootstrap — comprueba Node.js y dependencias
  2. API key de Venice — valida y guarda tu clave
  3. Elección de canal — elige WhatsApp, Telegram o ambos
  4. Build del contenedor — compila el contenedor Docker (tarda unos minutos la primera vez)
  5. Auth de WhatsApp — escanea el código QR con tu teléfono (si aplica)
  6. Configuración de Telegram — envía un mensaje a tu bot para que detecte tu chat
  7. Palabra de activación — prefijo que activa el bot (por defecto: @Andy)
  8. Directorios montados — elige “No” por ahora (puedes añadir acceso a archivos más tarde)
  9. Iniciar servicios — NanoClaw y el proxy de Venice se inician como servicios en segundo plano
El asistente instala dos servicios en segundo plano:
  • NanoClaw — el propio bot
  • Proxy de Venice — un pequeño servidor local (localhost:4001) que traduce entre Claude Code y Venice AI
Ambos se inician automáticamente al arrancar y se reinician si fallan.
Si el asistente se detiene entre pasos, escribe “continue” o “next step” para empujarlo hacia adelante.
4

Empieza a chatear

Una vez completada la configuración, abre tu chat (Telegram o WhatsApp) y envía:
@Andy hello, are you there?
El bot debería responder en segundos. En tu canal principal puedes escribir normalmente sin el prefijo @Andy.Ya puedes cerrar la ventana del terminal. Todo se ejecuta como servicios en segundo plano y se inicia automáticamente cuando arranca tu ordenador.

Cómo funciona

Hay dos capas en NanoClaw:
CapaQué hace
Claude Code CLIHerramienta admin para configuración, depuración y personalización
El botIA en tu chat, ejecutándose dentro de un contenedor Docker aislado
Para abrir Claude Code en cualquier momento:
cd nanoclaw-venice
ANTHROPIC_BASE_URL=http://localhost:4001 ANTHROPIC_API_KEY=venice-proxy claude
Úsalo para ejecutar /setup, /debug, /customize o hacer cambios en el comportamiento del bot.

Modelos

ContextoModelo predeterminadoCómo cambiar
Bot (en chat)claude-sonnet-4-6Dile al bot: “switch to opus” o “use zai-org-glm-5”
Claude Code CLIzai-org-glm-5 (GLM 5)Usa /model en Claude Code o claude --model <name>
La CLI usa por defecto GLM 5 para mantener bajos los costes de configuración. Tras la configuración, cambia a claude-sonnet-4-6 o claude-opus-4-6 para el mejor rendimiento.
Consulta el catálogo de modelos para todos los modelos de Venice disponibles.

Resolución de problemas

El proxy de Venice se ejecuta como servicio en segundo plano y se reinicia automáticamente. Si no funciona:macOS:
# Comprobar si está corriendo
launchctl list | grep venice-proxy

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

# Revisar logs
tail -f ~/nanoclaw-venice/logs/venice-proxy.log
Linux:
# Comprobar si está corriendo
systemctl --user status nanoclaw-venice-proxy

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

# Revisar logs
tail -f ~/nanoclaw-venice/logs/venice-proxy.log
Significa que Claude Code no puede conectar con el proxy de Venice.
  1. Comprueba que el proxy esté corriendo. Consulta el paso anterior.
  2. Asegúrate de estar en la carpeta correcta. Siempre cd nanoclaw-venice primero.
  3. Empieza de cero: cierra todos los terminales y ejecuta:
    cd nanoclaw-venice
    ANTHROPIC_BASE_URL=http://localhost:4001 ANTHROPIC_API_KEY=venice-proxy claude
    
Reinicia el proxy y el 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
Comprueba los modelos disponibles en el catálogo de modelos.
Sigue estos pasos en orden:
  1. Comprueba tu palabra de activación. Asegúrate de usar el prefijo correcto (p. ej., @Andy hello).
  2. Comprueba que Docker esté corriendo. Ejecuta docker info — si da error, abre Docker Desktop.
  3. Comprueba que el proxy esté corriendo. Consulta “El proxy no está en ejecución” arriba.
  4. Revisa los logs: tail -f logs/nanoclaw.log en la carpeta del proyecto.
  5. Revisa los logs del contenedor. Abre la carpeta nanoclaw-venice/groups/main/logs/. Abre el archivo más reciente que empiece por container-.
  6. Reinicia todo: reinicia tanto proxy como bot (ver arriba).
Asegúrate de que Docker Desktop esté abierto y corriendo. Espera 10 segundos a que Docker arranque por completo, luego escribe continue en el asistente para reintentar.
Tu sesión de WhatsApp puede expirar. Para reconectar:
cd nanoclaw-venice
npm run auth
Escanea el código QR con WhatsApp (Settings → Linked Devices → Link a Device) y reinicia el bot:
  • macOS: launchctl kickstart -k gui/$(id -u)/com.nanoclaw
  • Linux: systemctl --user restart nanoclaw

Avanzado

Por defecto, el bot está completamente aislado de tu ordenador — solo puede ver su propia memoria y su historial de conversación.
  • Durante la configuración: cuando se te pregunte por acceso a directorios, elige “Yes”
  • Tras la configuración: ejecuta /customize en Claude Code
NanoClaw ejecuta dos servicios en segundo plano que se inician automáticamente al arrancar.macOS:
AcciónComando
Iniciar botlaunchctl load ~/Library/LaunchAgents/com.nanoclaw.plist
Detener 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
Detener proxylaunchctl unload ~/Library/LaunchAgents/com.nanoclaw.venice-proxy.plist
Reiniciar proxylaunchctl kickstart -k gui/$(id -u)/com.nanoclaw.venice-proxy
Linux:
AcciónComando
Iniciar botsystemctl --user start nanoclaw
Detener botsystemctl --user stop nanoclaw
Reiniciar botsystemctl --user restart nanoclaw
Iniciar proxysystemctl --user start nanoclaw-venice-proxy
Detener proxysystemctl --user stop nanoclaw-venice-proxy
Reiniciar proxysystemctl --user restart nanoclaw-venice-proxy
Si solo quieres Claude Code con Venice y no necesitas WhatsApp/Telegram, el servicio proxy debe estar corriendo. Si ya has ejecutado /setup, ya está corriendo como servicio en segundo plano.
cd nanoclaw-venice
ANTHROPIC_BASE_URL=http://localhost:4001 ANTHROPIC_API_KEY=venice-proxy claude
Tip: añade esto a tu ~/.zshrc (o ~/.bashrc) para poder cambiar rápidamente cualquier terminal a Venice:
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"'
Después solo escribe venice en cualquier terminal antes de ejecutar claude para usar Venice, o anthropic para volver.
Puedes ejecutar varios bots NanoClaw en la misma máquina (p. ej., uno para uso personal y otro para un equipo). Solo clona el repo en una carpeta diferente y ejecuta la configuración de nuevo. Nota: comparten la misma imagen Docker, así que reconstruir uno afecta a todos.
Para quienes quieran modificar el código de NanoClaw:
npm run dev          # Inicia proxy + NanoClaw con hot reload
npm run proxy        # Inicia solo el proxy de Venice
npm run build        # Compila TypeScript
npm test             # Ejecuta tests
./container/build.sh # Reconstruye el contenedor del agente

Arquitectura

You (WhatsApp/Telegram)

   NanoClaw (Node.js)

   Docker Container (isolated sandbox)

   Venice Proxy (localhost:4001)

   api.venice.ai (private inference)
ArchivoPropósito
proxy/venice-proxy.tsTraduce el formato de Anthropic al formato de OpenAI para Venice
src/index.tsOrquestador principal — bucle de mensajes, invocación de agente
src/channels/whatsapp.tsConexión a WhatsApp vía baileys
src/channels/telegram.tsBot de Telegram vía grammy
src/container-runner.tsLanza contenedores aislados de agente

FAQ

El Claude Agent SDK habla el formato de mensajes de Anthropic. Venice habla el formato de OpenAI. El proxy traduce entre ambos para que todo funcione sin modificar el SDK.
Sí. Venice aloja muchos modelos. Dile al bot “switch to zai-org-glm-5” o cualquier ID de modelo de Venice. Consulta el catálogo de modelos.
Los agentes se ejecutan en contenedores Docker con aislamiento real a nivel de SO. La API key de Venice se pasa por stdin, nunca se escribe en disco dentro de los contenedores. Cada grupo obtiene su propio entorno aislado.
No. Todo se ejecuta a través de Venice AI. Solo necesitas una API key de Venice.
Sí. Funciona en cualquier máquina Linux con Docker. Usa el servicio systemd para auto-arranque al iniciar.

Recursos

Repo NanoClaw Venice

Código fuente y README completo

NanoClaw original

Proyecto upstream de qwibitai

Catálogo de modelos de Venice

Explora los modelos disponibles

Privacidad de Venice

Cómo Venice protege tus datos