# ๐ค Jarvis โ Personal AI Assistant
Your Personal AI Assistant Running on Your Own Devices
## ๐ Tabla de Contenidos - [ยฟQuรฉ es Jarvis?](#quรฉ-es-jarvis) - [Caracterรญsticas Principales](#caracterรญsticas-principales) - [Arquitectura del Sistema](#arquitectura-del-sistema) - [Diagrama de Uso](#diagrama-de-uso) - [Instalaciรณn Rรกpida](#instalaciรณn-rรกpida) - [Configuraciรณn](#configuraciรณn) - [Uso Bรกsico](#uso-bรกsico) - [Canales Soportados](#canales-soportados) - [Documentaciรณn Completa](#documentaciรณn-completa) - [Desarrollo](#desarrollo) - [Contribuir](#contribuir) --- ## ยฟQuรฉ es Jarvis? **Jarvis** es un **asistente personal de IA** que se ejecuta en tus propios dispositivos. Es una plataforma local-first, auto-hospedada y diseรฑada para control de usuario รบnico. ### Beneficios Clave โ **Privacidad Total** โ Todo se ejecuta localmente, tus datos nunca salen de tu control โ **Multi-Canal** โ Conecta con WhatsApp, Telegram, Slack, Discord, Signal, iMessage, Teams y mรกs โ **Multi-Plataforma** โ Funciona en macOS, iOS, Android, Linux y Windows (WSL2) โ **Extensible** โ Sistema robusto de plugins para aรฑadir funcionalidad โ **Siempre Activo** โ Daemon persistente vรญa systemd/launchd โ **Capacidades de Voz** โ Voice Wake y Talk Mode en macOS/iOS/Android โ **Canvas Visual** โ Espacio de trabajo visual controlado por el agente --- ## Caracterรญsticas Principales ### ๐ Seguridad y Privacidad - **Local-First**: Todos tus datos permanecen en tu dispositivo - **Sin Servidor Central**: No hay dependencia de servicios de terceros - **Emparejamiento Seguro**: Sistema de cรณdigos para autorizaciรณn DM - **Lista de Permitidos**: Control granular de quiรฉn puede interactuar ### ๐ฌ Multi-Canal - **Mensajerรญa Unificada**: Una interfaz para todos tus canales de chat - **13+ Canales Integrados**: WhatsApp, Telegram, Discord, Slack, Signal, y mรกs - **Enrutamiento Inteligente**: Mensajes dirigidos al agente correcto - **Respuestas Contextuales**: Mantiene contexto en conversaciones grupales ### ๐ ๏ธ Herramientas Poderosas - **Browser Tool**: Automatizaciรณn web con Playwright - **Canvas Tool**: Espacio de trabajo visual con A2UI - **Image Tool**: Anรกlisis y generaciรณn de imรกgenes - **Bash Tool**: Ejecuciรณn de comandos del sistema - **Cron Tool**: Tareas programadas - **Memory Tool**: Almacenamiento y recuperaciรณn de contexto ### ๐ค IA Avanzada - **Mรบltiples Modelos**: Claude, GPT, Gemini, Bedrock, Ollama (local) - **Failover Automรกtico**: Rotaciรณn automรกtica si un modelo falla - **Streaming de Herramientas**: Ejecuciรณn de herramientas en tiempo real - **Multi-Agente**: Agentes aislados por workspace/canal --- ## Arquitectura del Sistema ``` โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Interfaces de Usuario โ โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ โ โ macOS โ โ iOS โ โ Android โ โ CLI / Web UI โ โ โ โ App โ โ App โ โ App โ โ โ โ โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ WebSocket / HTTP โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Gateway (Servidor) โ โ โข Gestiรณn de sesiones y enrutamiento de mensajes โ โ โข Catรกlogo de modelos IA y autenticaciรณn โ โ โข Trabajos programados (cron) y webhooks โ โ โข Herramienta de navegador compartida โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Runtime de Agente (Pi Agent) โ โ โข Ejecuciรณn de modelos IA (Claude, GPT, etc.) โ โ โข Streaming de herramientas en tiempo real โ โ โข Gestiรณn de contexto de sesiรณn โ โ โข Failover automรกtico de modelos โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Capa Multi-Canal โ โ WhatsApp โ Telegram โ Signal โ Discord โ Slack โ iMessage โ โ Teams โ Matrix โ Zalo โ BlueBubbles โ LINE โ Voice Call โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Servicios Externos (IA) โ โ Anthropic Claude โ OpenAI GPT โ Google Gemini โ AWS Bedrock โ โ Ollama (Local) โ Otros proveedores โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ ``` ๐ **Profundizar**: Ver [ARCHITECTURE.md](docs/ARCHITECTURE.md) para detalles completos de arquitectura --- ## Diagrama de Uso ### Flujo de Mensaje Completo ``` โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ 1. Usuario envรญa mensaje desde canal (WhatsApp, Telegram, etc.)โ โโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ 2. Canal recibe mensaje y lo normaliza โ โ โข Extrae texto, medios, contexto de respuesta โ โ โข Aรฑade metadata del canal โ โโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ 3. Verificaciรณn de seguridad โ โ โข Verifica lista de permitidos โ โ โข Valida emparejamiento para DMs โ โ โข Comprueba permisos de grupo โ โโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ 4. Gateway enruta mensaje โ โ โข Determina sesiรณn apropiada โ โ โข Verifica modo de activaciรณn (mention/reply/always) โ โ โข Encola o ejecuta inmediatamente โ โโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ 5. Agente procesa mensaje โ โ โข Carga contexto de sesiรณn โ โ โข Ejecuta modelo IA con herramientas โ โ โข Stream de llamadas y resultados de herramientas โ โโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ 6. Ejecuciรณn de herramientas (si es necesario) โ โ โข Browser (automatizaciรณn web) โ โ โข Bash (ejecutar comandos) โ โ โข Canvas (workspace visual) โ โ โข Memory (recuperar contexto) โ โ โข Otras herramientas personalizadas โ โโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ 7. Agente genera respuesta โ โ โข Basada en resultados de herramientas โ โ โข Aplica modo de thinking (low/high/always) โ โ โข Formatea para canal destino โ โโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ 8. Respuesta enviada de vuelta โ โ โข Formatea para protocolo especรญfico del canal โ โ โข Fragmenta mensajes largos si es necesario โ โ โข Aรฑade indicadores de escritura/reacciones โ โโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ 9. Usuario recibe respuesta en su canal โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ ``` ๐ **Profundizar**: Ver [Flujo de Datos](docs/ARCHITECTURE.md#data-flow) en documentaciรณn de arquitectura --- ## Instalaciรณn Rรกpida ### Requisitos Previos - **Node.js โฅ 22.12.0** - **npm, pnpm o bun** - **macOS, Linux o Windows (WSL2)** ### Instalaciรณn con npm ```bash # Instalar globalmente npm install -g moltbot@latest # Ejecutar asistente de configuraciรณn moltbot onboard --install-daemon ``` ### Instalaciรณn desde Cรณdigo Fuente ```bash # Clonar repositorio git clone https://github.com/jeturing/Jarvis.git cd Jarvis # Instalar dependencias pnpm install # Construir proyecto pnpm ui:build pnpm build # Ejecutar asistente de configuraciรณn pnpm moltbot onboard --install-daemon ``` ### Instalaciรณn con Docker ```bash # Usando Docker Compose docker-compose up -d ``` ๐ **Profundizar**: Ver [Guรญa de Instalaciรณn Completa](docs/README-ES.md#configuraciรณn-y-despliegue) --- ## Configuraciรณn ### Estructura de Configuraciรณn ``` ~/.clawdbot/ โโโ config/ โ โโโ .moltbot.yaml # Configuraciรณn principal โ โโโ models.json # Perfiles de modelos IA โ โโโ skills/ # Configuraciones de skills โโโ credentials/ โ โโโ anthropic.json # Tokens OAuth โ โโโ openai.json โ โโโ channels/ # Credenciales de canales โโโ sessions/ โ โโโ main/ # Datos de sesiรณn principal โ โโโ groups/ # Sesiones de grupos โโโ logs/ โโโ gateway.log # Logs del gateway โโโ agent.log # Logs del agente ``` ### Archivo de Configuraciรณn Principal Edita `~/.clawdbot/config/.moltbot.yaml`: ```yaml # ======================================== # Configuraciรณn del Gateway # ======================================== gateway: mode: local # 'local' o 'remote' port: 18789 # Puerto del servidor bind: loopback # 'loopback' o 'all' verbose: true # Logging detallado # ======================================== # Configuraciรณn de Agentes # ======================================== agents: default: model: claude-4.5-sonnet # Modelo IA por defecto thinking: high # Nivel de thinking (low/high/always) temperature: 0.7 # Temperatura del modelo max_tokens: 8192 # Tokens mรกximos # ======================================== # Configuraciรณn de Canales # ======================================== channels: # WhatsApp whatsapp: enabled: true pairing: code # Mรฉtodo de emparejamiento allowlist: - "+1234567890" # Nรบmeros permitidos # Telegram telegram: enabled: true bot_token: "${TELEGRAM_BOT_TOKEN}" # Discord discord: enabled: true bot_token: "${DISCORD_BOT_TOKEN}" # Signal signal: enabled: true phone: "+1234567890" # Slack slack: enabled: true bot_token: "${SLACK_BOT_TOKEN}" # ======================================== # Configuraciรณn de Herramientas # ======================================== tools: browser: enabled: true headless: true # Navegador sin interfaz timeout: 30000 # Timeout en ms canvas: enabled: true port: 8080 # Puerto Canvas bash: enabled: true timeout: 60000 # Timeout comandos memory: enabled: true max_size: 1000 # Entradas mรกximas # ======================================== # Configuraciรณn de Sandbox (Opcional) # ======================================== sandbox: enabled: false docker_image: "jarvis/sandbox" # ======================================== # Configuraciรณn de Plugins # ======================================== plugins: - name: matrix enabled: true config: homeserver: "https://matrix.org" - name: voice-call enabled: false config: provider: "twilio" # ======================================== # Configuraciรณn de Skills # ======================================== skills: - workspace1 - workspace2 ``` ### Variables de Entorno Crea un archivo `.env` en la raรญz del proyecto: ```bash # ======================================== # Tokens de API de IA # ======================================== ANTHROPIC_API_KEY=sk-ant-api03-... OPENAI_API_KEY=sk-... # ======================================== # Tokens de Canales # ======================================== TELEGRAM_BOT_TOKEN=123456:ABC-DEF... DISCORD_BOT_TOKEN=MTk4... SLACK_BOT_TOKEN=xoxb-... # ======================================== # Configuraciรณn del Gateway # ======================================== CLAWDBOT_GATEWAY_PORT=18789 CLAWDBOT_GATEWAY_BIND=loopback # ======================================== # Configuraciรณn de Modo # ======================================== CLAWDBOT_PROFILE=production # 'production' o 'dev' CLAWDBOT_SKIP_CHANNELS=0 # ======================================== # Configuraciรณn de Depuraciรณn # ======================================== CLAWDBOT_DEBUG=0 CLAWDBOT_VERBOSE=0 ``` ### Diagrama de Configuraciรณn ``` โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Proceso de Configuraciรณn โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 1. INSTALACIรN โ โโโ Instalar paquete npm/pnpm โ โโโ Ejecutar: moltbot onboard --install-daemon 2. CONFIGURACIรN INTERACTIVA โ โโโ Seleccionar modelos IA (Claude, GPT, etc.) โ โโโ Aรฑadir tokens API o OAuth โ โโโ Configurar canales โ โโโ WhatsApp (emparejamiento QR) โ โโโ Telegram (bot token) โ โโโ Discord (bot token) โ โโโ Signal (phone number) โ โโโ Otros canales โ โโโ Configurar herramientas โ โโโ Browser (Playwright) โ โโโ Canvas (A2UI) โ โโโ Bash (comandos) โ โโโ Memory (almacenamiento) โ โโโ Configurar seguridad โโโ Listas de permitidos โโโ Polรญticas de emparejamiento DM โโโ Permisos de grupo 3. VERIFICACIรN โ โโโ Ejecutar: moltbot doctor โ โโโ Verifica configuraciรณn y detecta problemas โ โโโ Ejecutar: moltbot channels status โโโ Verifica estado de canales 4. INICIO DEL GATEWAY โ โโโ Modo Daemon: moltbot daemon start โ โโโ Gateway se ejecuta en segundo plano โ โโโ Modo Manual: moltbot gateway --port 18789 โโโ Gateway se ejecuta en primer plano 5. EMPAREJAMIENTO DE CANALES โ โโโ WhatsApp: Escanear cรณdigo QR โ โโโ Otros canales: Aprobar cรณdigos de emparejamiento โ โโโ Ejecutar: moltbot pairing approveHecho con โค๏ธ por la comunidad
Si encuentras รบtil este proyecto, considera darle una โญ en GitHub