Monta un asistente de voz privado para la oficina con OpenJarvis y Ollama
Al terminar este artículo tendrás un asistente de voz en una máquina de tu oficina que transcribe lo que dices, responde con un modelo local y contesta hablando, con un análisis que muestra adónde va cada byte. El punto de entrada más barato: un portátil de 16 GB y un modelo de 4B o 9B. El cómodo: 24 a 32 GB y un modelo de 26B o 35B.
OpenJarvis es un framework de código abierto para agentes de IA personales creado por los laboratorios Hazy Research y Scaling Intelligence de Stanford, con licencia Apache 2.0. Trata la energía, la latencia y el coste como métricas de primer orden junto a la precisión, y ejecuta los modelos en local por defecto. La fuente es el artículo de Ollama OpenJarvis: local-first personal AI (28 de mayo de 2026); los detalles de voz los completamos con la documentación del proyecto y el repositorio, revisados el 09-09-2026.
Qué necesitas
- Linux, macOS o Windows (WSL2 o la aplicación de escritorio). Python 3.10 a 3.13; el instalador trae
uvy un entorno virtual (documentación de instalación). - Ollama, que el instalador de OpenJarvis instala si falta. Nosotros usamos la 0.30.10.
- Un micrófono y un altavoz. Un altavoz de conferencia USB es la opción más sencilla para una oficina.
- Memoria para el modelo (tabla más abajo) más unos pocos gigabytes para los modelos de voz.
- Unos 15 minutos; la documentación dice que el instalador tarda unos tres con buena conexión, y los modelos grandes se descargan en segundo plano.
Paso 1: instala con un comando
curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh | bash
jarvis --version
jarvis doctor
Windows sin WSL: irm https://open-jarvis.github.io/OpenJarvis/install.ps1 | iex. El instalador prepara las herramientas de Python, Ollama y un modelo inicial; después, jarvis abre un chat. jarvis doctor te dice qué falta; en Linux lo habitual es una biblioteca de audio, que el gestor de paquetes resuelve.
Paso 2: apúntalo a un modelo local que quepa en tu máquina
El artículo de Ollama usa qwen3.5:35b. Elige según la memoria:
jarvis model pull qwen3.5:9b # portátil de 16 GB, descarga de 6,6 GB
jarvis model pull gemma4:26b # máquina de 24 a 32 GB, descarga de 19 GB
jarvis ask -m qwen3.5:9b "Resume las tres reglas de un buen orden del día."
Después conviértelo en el modelo por defecto en ~/.openjarvis/config.toml, tal y como muestra el artículo de Ollama:
[engine]
default = "ollama"
[intelligence]
default_model = "qwen3.5:9b"
preferred_engine = "ollama"
La referencia de configuración recoge el resto: [server] escucha en 127.0.0.1:8000 por defecto, [telemetry] escribe en un archivo SQLite local, [traces] está desactivado y [security] arranca en modo aviso.
Paso 3: añade voz de entrada y de salida
La voz es un extra, y los motores locales son de código abierto. En el módulo src/openjarvis/speech/ del repositorio, las piezas locales son faster_whisper.py (voz a texto, tamaño de modelo por defecto base, dispositivo auto, idioma detectado automáticamente) y kokoro_tts.py (texto a voz, voz por defecto af_heart, 24 kHz, con código de idioma para español). Los motores en la nube (OpenAI, Deepgram, Cartesia) existen como opciones que no tienes que tocar.
pip install 'OpenJarvis[speech]' # faster-whisper y captura de audio
pip install kokoro # síntesis de voz local
jarvis # en el chat, pulsa Intro con la línea vacía para grabar
Así funciona hoy: pulsas Intro sin escribir nada, hablas, y la grabación se detiene con el silencio; la transcripción va al modelo y la respuesta se lee con Kokoro. El orden de motores de voz en la CLI es Kokoro primero y los motores en la nube solo si los has configurado. A día de hoy no hay palabra de activación en el repositorio; buscamos una en el árbol de código y no la encontramos, así que cuenta con pulsar para hablar.
Whisper base tiene 74 millones de parámetros (tabla de modelos de Whisper) y Kokoro 82 millones (ficha del modelo Kokoro-82M), así que los dos corren en la CPU de un portátil. Para oficinas en español, Whisper detecta el idioma solo y Kokoro tiene voces en español bajo el código de idioma e; fija la voz en la configuración en lugar de aceptar la inglesa por defecto.
Paso 4: demuestra adónde van los datos
Este es el paso que convierte el asistente en algo apto para una oficina. OpenJarvis incluye un análisis de fronteras de datos que audita adónde envían información la inferencia, la memoria, las trazas y los conectores (guía de seguridad):
jarvis scan --data-boundaries
jarvis scan # estado del equipo: cifrado de disco, puertos abiertos, acceso remoto
Resultado esperado con la configuración de arriba: inferencia local (Ollama), memoria local (SQLite), trazas desactivadas, sin conectores en la nube. Si más adelante ejecutas jarvis connect gdrive para el resumen matinal, el análisis mostrará Google como frontera, que es la foto honesta.
Pídele ayuda a tu asistente también aquí: “Lee la salida de este análisis y enumera cada destino que no sea localhost.”
Qué medimos
Medimos la parte del modelo en nuestra estación NVIDIA GB10 (128 GB de memoria unificada) con /api/generate el 09-09-2026. Los modelos de voz son tan pequeños que es el modelo de lenguaje el que decide el tiempo de respuesta.
| Modelo | Velocidad de generación | Memoria residente | Tiempo de una respuesta hablada de 60 palabras (unos 80 tokens) |
|---|---|---|---|
llama3.1:8b | 33,3 tokens/s | archivo de 4,9 GB | unos 2,4 s de generación |
qwen2.5-coder:7b | 34,1 tokens/s | 6,6 GB | unos 2,3 s |
gemma4:26b | 51,2 tokens/s, con razonamiento | 17 GB con contexto 32k | unos 1,6 s más el razonamiento |
qwen3.6:35b | 51,4 tokens/s, sin razonamiento | 23 GB con contexto 32k | unos 1,6 s |
Suma más o menos un segundo de transcripción y otro de síntesis en CPU, y la respuesta hablada llega en tres a cinco segundos en un portátil de 16 GB. Guías de terceros para la misma pila Whisper + Ollama + Kokoro hablan de uno a dos segundos de latencia con una GPU de 12 GB (Every Local AI). Las primeras cargas son más lentas: gemma4:26b tardó 116 s en salir del disco la primera vez, así que mantén el modelo en memoria.
| Tu máquina | Modelo | Notas |
|---|---|---|
| Portátil de 16 GB | qwen3.5:4b o qwen3.5:9b | Respuestas ágiles; Whisper y Kokoro en CPU |
| Mac mini M4 de 24 GB, unos 920 EUR (Compute Market) | gemma4:12b o qwen3.5:9b | Caja silenciosa para una sala de reuniones |
| 32 GB o más | gemma4:26b o qwen3.5:35b | El modelo que usa el artículo de Ollama |
Dónde encaja y cuáles son los límites
Un asistente de voz privado encaja en las tareas que la gente ya pregunta a voces por la oficina: “qué hay en el calendario”, “léeme el último mensaje del proveedor”, “apunta que la factura ya salió”. El preajuste morning-digest lee en voz alta un resumen diario, y deep-research responde con citas a partir de los documentos que indexes con jarvis memory index ./docs/. La propiedad de privacidad es sencilla: audio, transcripción, modelo y telemetría se quedan en la máquina, y el análisis lo demuestra.
Límites, con honestidad. Sin palabra de activación, alguien pulsa una tecla o hace clic en la aplicación de escritorio. Whisper base confunde nombres propios y códigos de producto; pasa a small o medium si eso importa, a cambio de uno o dos segundos. Un solo micrófono en una oficina abierta y ruidosa recoge a todo el mundo; un altavoz de conferencia junto a quien pregunta funciona mejor. Y los límites del modelo siguen ahí: un modelo de 9B responde bien a preguntas de oficina y razona mal sobre tus contratos, así que dale documentos a través del índice de memoria en lugar de esperar que conozca tu negocio.
Siguientes pasos
- Alimenta al asistente con tus documentos: Pipeline RAG con n8n y Ollama para documentos de empresa.
- Elige la caja silenciosa para la sala de reuniones: Mejores dispositivos para IA local en 2026.
- Planifica el despliegue completo: Cómo implementar IA en una empresa española.
Trabaja con nosotros
Instalamos asistentes de voz en hardware del cliente, con el análisis de fronteras de datos como parte de la entrega. Si quieres uno en tu sala de reuniones, escríbenos o mira cómo trabajamos en consultoría.