Pago por token
Inferencia privada
Aislamiento con Docker
¿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 AI | Proveedores de IA tradicionales | |
|---|---|---|
| Retención de datos | Ninguna — cero logs | Sí |
| Privacidad del prompt | Cifrada, nunca almacenada | Almacenada en los servidores del proveedor |
| Modelos open-source | Sí (GLM, Qwen y otros) | No |
| Modelos frontera | Claude, GPT y otros — de forma anónima | Solo mediante suscripciones directas |
| Precios | Pago por token, sin suscripción. O hacer staking de DIEM para créditos diarios renovables | Suscripciones de $20–200/mes o API de pago por token |
| Inferencia sin censura | Sí (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 paquetes | 70+ paquetes |
| Modelo de seguridad | Aislamiento a nivel de SO con contenedores Docker | Allowlists y códigos de emparejamiento a nivel de aplicación |
| Aislamiento por grupo | Cada grupo tiene su propio contenedor, sistema de archivos y memoria | Proceso compartido, memoria compartida |
| Configuración | Un asistente (/setup), ~10 minutos | Configuración manual multi-paso |
| Proveedor de IA | Venice AI (privado, sin suscripción) | Anthropic (requiere API key o suscripción) |
| Personalización | Edita el código directamente — es lo bastante pequeño como para leerlo | Archivos de configuración y plugins |
| Usuario objetivo | Una persona, un bot | Plataforma 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+
node --versionDocker
Claude Code CLI
claude --versionAPI key de Venice
- Abre Telegram y busca @BotFather
- Envía
/newboty sigue las indicaciones - Guarda el token que te da BotFather (parece
123456789:ABCdef...)
Configuración
La configuración tarda unos 10 minutos. Solo necesitas una ventana de Terminal.Lanza Claude Code con Venice
your-key por tu API key de Venice y ejecuta: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.Ejecuta el asistente de configuración
- Bootstrap — comprueba Node.js y dependencias
- API key de Venice — valida y guarda tu clave
- Elección de canal — elige WhatsApp, Telegram o ambos
- Build del contenedor — compila el contenedor Docker (tarda unos minutos la primera vez)
- Auth de WhatsApp — escanea el código QR con tu teléfono (si aplica)
- Configuración de Telegram — envía un mensaje a tu bot para que detecte tu chat
- Palabra de activación — prefijo que activa el bot (por defecto:
@Andy) - Directorios montados — elige “No” por ahora (puedes añadir acceso a archivos más tarde)
- Iniciar servicios — NanoClaw y el proxy de Venice se inician como 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
Empieza a chatear
@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:| Capa | Qué hace |
|---|---|
| Claude Code CLI | Herramienta admin para configuración, depuración y personalización |
| El bot | IA en tu chat, ejecutándose dentro de un contenedor Docker aislado |
/setup, /debug, /customize o hacer cambios en el comportamiento del bot.
Modelos
| Contexto | Modelo predeterminado | Cómo cambiar |
|---|---|---|
| Bot (en chat) | claude-sonnet-4-6 | Dile al bot: “switch to opus” o “use zai-org-glm-5” |
| Claude Code CLI | zai-org-glm-5 (GLM 5) | Usa /model en Claude Code o claude --model <name> |
Resolución de problemas
El proxy no está en ejecución
El proxy no está en ejecución
Claude Code muestra error 403 o 'Please run /login'
Claude Code muestra error 403 o 'Please run /login'
- Comprueba que el proxy esté corriendo. Consulta el paso anterior.
- Asegúrate de estar en la carpeta correcta. Siempre
cd nanoclaw-veniceprimero. - Empieza de cero: cierra todos los terminales y ejecuta:
Errores de modelo ('model does not exist')
Errores de modelo ('model does not exist')
El bot no responde a los mensajes
El bot no responde a los mensajes
- Comprueba tu palabra de activación. Asegúrate de usar el prefijo correcto (p. ej.,
@Andy hello). - Comprueba que Docker esté corriendo. Ejecuta
docker info— si da error, abre Docker Desktop. - Comprueba que el proxy esté corriendo. Consulta “El proxy no está en ejecución” arriba.
- Revisa los logs:
tail -f logs/nanoclaw.logen la carpeta del proyecto. - Revisa los logs del contenedor. Abre la carpeta
nanoclaw-venice/groups/main/logs/. Abre el archivo más reciente que empiece porcontainer-. - Reinicia todo: reinicia tanto proxy como bot (ver arriba).
El build del contenedor falla durante la configuración
El build del contenedor falla durante la configuración
continue en el asistente para reintentar.WhatsApp desconectado
WhatsApp desconectado
- macOS:
launchctl kickstart -k gui/$(id -u)/com.nanoclaw - Linux:
systemctl --user restart nanoclaw
Avanzado
Dale al bot acceso a archivos de tu ordenador
Dale al bot acceso a archivos de tu ordenador
- Durante la configuración: cuando se te pregunte por acceso a directorios, elige “Yes”
- Tras la configuración: ejecuta
/customizeen Claude Code
Iniciar/detener manualmente el bot
Iniciar/detener manualmente el bot
| Acción | Comando |
|---|---|
| Iniciar bot | launchctl load ~/Library/LaunchAgents/com.nanoclaw.plist |
| Detener bot | launchctl unload ~/Library/LaunchAgents/com.nanoclaw.plist |
| Reiniciar bot | launchctl kickstart -k gui/$(id -u)/com.nanoclaw |
| Iniciar proxy | launchctl load ~/Library/LaunchAgents/com.nanoclaw.venice-proxy.plist |
| Detener proxy | launchctl unload ~/Library/LaunchAgents/com.nanoclaw.venice-proxy.plist |
| Reiniciar proxy | launchctl kickstart -k gui/$(id -u)/com.nanoclaw.venice-proxy |
| Acción | Comando |
|---|---|
| Iniciar bot | systemctl --user start nanoclaw |
| Detener bot | systemctl --user stop nanoclaw |
| Reiniciar bot | systemctl --user restart nanoclaw |
| Iniciar proxy | systemctl --user start nanoclaw-venice-proxy |
| Detener proxy | systemctl --user stop nanoclaw-venice-proxy |
| Reiniciar proxy | systemctl --user restart nanoclaw-venice-proxy |
Usar Claude Code a través de Venice (sin bot)
Usar Claude Code a través de Venice (sin bot)
/setup, ya está corriendo como servicio en segundo plano.~/.zshrc (o ~/.bashrc) para poder cambiar rápidamente cualquier terminal a Venice:venice en cualquier terminal antes de ejecutar claude para usar Venice, o anthropic para volver.Ejecutar varios bots
Ejecutar varios bots
Comandos para desarrolladores
Comandos para desarrolladores
Arquitectura
| Archivo | Propósito |
|---|---|
proxy/venice-proxy.ts | Traduce el formato de Anthropic al formato de OpenAI para Venice |
src/index.ts | Orquestador principal — bucle de mensajes, invocación de agente |
src/channels/whatsapp.ts | Conexión a WhatsApp vía baileys |
src/channels/telegram.ts | Bot de Telegram vía grammy |
src/container-runner.ts | Lanza contenedores aislados de agente |
FAQ
¿Por qué necesito un proxy?
¿Por qué necesito un proxy?
¿Puedo usar modelos open-source?
¿Puedo usar modelos open-source?
¿Es seguro?
¿Es seguro?
¿Necesito una suscripción a Anthropic?
¿Necesito una suscripción a Anthropic?
¿Puedo usar esto en un servidor?
¿Puedo usar esto en un servidor?