Ir al contenido
KeuralDocs
Escritorio y dispositivos

Keural Duo

Agente siempre activo en su ordenador. Instalación, chat, rutinas, Telegram, uso del ordenador y Mate & Morph.

Duo es un agente siempre activo que la app de escritorio instala en este ordenador (o en un DGX Spark conectado). Se ejecuta en un sandbox aislado, puedes hablar con él desde el elemento Duo de la barra lateral o a través de Telegram, y ejecuta las rutinas que hayas registrado. Está basado en NVIDIA NemoClaw y OpenClaw.

Duo solo está disponible en la app de escritorio.

Instalar

En Ajustes → Duo → Entorno de ejecución, elige un modelo y pulsa Instalar en la fila del lugar donde quieras ejecutarlo. El botón Instalar se desactiva si no has elegido un modelo o si no hay espacio suficiente en disco.

Dónde se ejecuta y requisitos

Dónde se ejecutaRequisitos
Este dispositivo (macOS)Chip Apple y 16 GB de memoria o más. La app instala el entorno de contenedores por sí misma, así que no se necesitan Docker Desktop, Homebrew ni la contraseña de administrador.
Este dispositivo (Windows)WSL 2. La primera vez, pulsa Preparar Windows para instalar los componentes necesarios. Es posible que se te pida reiniciar el PC o permitir el acceso de administrador. Si la virtualización está desactivada, actívala en la BIOS.
Dispositivo remoto (DGX Spark)Conecta un Spark y ejecuta antes un modelo en él. Si el cortafuegos del Spark está activado, introduce una vez la contraseña de la cuenta del Spark para abrir dos puertos. La contraseña no se guarda.

Duo necesita al menos 20 GB de espacio en disco, aunque se recomiendan 40 GB o más. Si no hay espacio suficiente, el botón Instalar se desactiva y aparece «Se necesitan {need} GB · {free} GB libres».

Modelo

OpciónDescripción
Modelo de este dispositivoUsa el modelo local en ejecución entre los que hayas descargado. Se muestra como «{name} · el mismo modelo que el chat.»
DGX SparkEl modelo que se ejecuta en el Spark conectado.
NubeEl modelo de Duo incluido en tu plan. Solo se muestra cuando has iniciado sesión.
PasarelaUsa un modelo de un servidor conectado en Ajustes → Modelos → Gateways. Necesitas la dirección y la clave de API de ese servidor.

Después de instalar, puedes cambiar el modelo en la fila Modelo. Dentro del mismo tipo, el cambio se aplica al momento con «Cambiar». Si cambias de tipo entre local, nube y pasarela, debes reinstalar. Al reinstalar, las rutinas se conservan. Para trasladar Duo a otra ubicación, elimínalo y luego instálalo en la nueva.

Pasos de instalación

Los pasos se ejecutan en este orden: comprobar este dispositivo → preparar el entorno de contenedores → instalar NemoClaw → iniciar el modelo (en la nube y en la pasarela, preparar el acceso al modelo) → crear el sandbox → configurar Duo → comprobar que funciona. El paso actual aparece en el botón y en la tarjeta de progreso. Si tarda, aparece «Está tardando más de lo habitual, pero sigue trabajando. Mantén la app abierta.» Aunque aparezca ese mensaje, no cierres la app.

Si la instalación se detiene, busca la causa según el mensaje en pantalla en Cuando la instalación falla.

Duo de otra cuenta o espacio de trabajo

Solo puede haber un Duo por dispositivo, y su propietario se determina por la cuenta y el espacio de trabajo. Si inicias sesión con otra cuenta o cambias a otro espacio de trabajo, el Duo de Ajustes aparece como «No instalado», y el Duo de la barra lateral y Mate & Morph quedan ocultos. En ese estado, si pulsas Instalar, aparece una confirmación: «Hay un Duo de otra cuenta o espacio de trabajo en este dispositivo. Al instalar uno nuevo se eliminan ese Duo, sus conversaciones y sus rutinas.» Si pulsas Instalar nuevo, el Duo existente se elimina y se crea uno nuevo. Cuando vuelvas a la cuenta o al espacio de trabajo original, ese Duo volverá a aparecer.

Si queda un Duo instalado anteriormente, se limpia y después continúa la instalación. Si la limpieza falla, aparece «No se pudo eliminar el Duo anterior. Vuelve a instalarlo.»

Cuando la instalación falla

Si la instalación se detiene, Ajustes → Duo muestra un mensaje de error. Revisa también el código entre paréntesis que aparezca después del mensaje. Cuando soluciones la causa, pulsa Instalar de nuevo.

Mensaje en pantallaCausaSolución
Instalación detenida: no hay suficiente espacio en disco. Asegúrate de tener al menos {need} GB libres y vuelve a intentarloEl disco donde está tu carpeta de inicio tiene menos de 20 GB libres.Libera 20 GB o más (se recomiendan 40 GB).
No se pudo preparar el entorno de contenedores. Revisa tu conexión e inténtalo de nuevoNo se pudieron descargar los archivos de instalación. Un firewall o proxy de la empresa suele ser la causa.Revisa tu conexión a internet. En una red corporativa, pide a TI que permita las direcciones de Descargas.
No se pudo eliminar el Duo anterior. Vuelve a instalarlo.No se pudo limpiar el Duo anterior que quedó en este dispositivo.Cierra la app por completo, vuelve a abrirla y pulsa Instalar. Si sigue fallando, revisa el mismo mensaje en la pestaña macOS.
Hay un Duo de otra cuenta o espacio de trabajo en este dispositivo. Al instalar se eliminará.El Duo de este dispositivo pertenece a otra cuenta o espacio de trabajo.Pulsa Instalar nuevo para eliminar ese Duo e instalar. Para seguir usando ese Duo, cambia a la cuenta o el espacio de trabajo original.
Tu plan no incluye modelos en la nube para Duo.El plan del espacio de trabajo actual no incluye Duo en la nube.Cambia el modelo a Modelo de este dispositivo, DGX Spark o gateway, o revisa tu plan.
Inicia sesión para usar los modelos en la nube.Has cerrado sesión.Inicia sesión y vuelve a instalar.
El modelo de Duo no está en ejecución. Inícialo y vuelve a aplicar.El modelo de este dispositivo no está en ejecución.Ejecuta el modelo en Ajustes → Modelos y luego instala.
Está tardando más de lo habitual, pero sigue trabajando. Mantén la app abierta.La primera instalación descarga muchos archivos.Espera sin cerrar la app. En un portátil, evita que entre en suspensión.

Si sigue sin funcionar, contacta con el soporte en Ajustes → Soporte. Incluye el mensaje en pantalla, el código entre paréntesis y el tipo de dispositivo (macOS, Windows o Spark) para encontrar la causa más rápido.

Pantalla Ajustes → Duo

SecciónDetalles
Estado«Ejecutándose en {where}» · Detenido · Iniciando · No instalado · Sin servidor (cuando falta la conexión con el Spark)
Entorno de ejecuciónSelección de modelo; Instalar, Iniciar, Detener y Eliminar en las filas Este dispositivo / Dispositivo remoto; ID del sandbox y versión de NemoClaw
Apps de chatConexión con Telegram
ConexionesGitHub, búsqueda web
Uso del ordenadorPermisos, carpetas legibles, reglas antes de actuar, apps siempre permitidas, Mate & Morph
Memoria de la conversaciónUso del contexto, compactación de la conversación, nueva conversación
Funciones nuevas (Windows)Conexión del ordenador Windows, carpetas compartidas, comprobación de acceso a aplicaciones, tareas recientes

Mientras se ejecuta una operación larga (instalar, cambiar de modelo, aplicar cambios en las apps de chat o eliminar), las demás secciones quedan bloqueadas. Solo al activar el uso del ordenador o ampliar sus reglas aparece un cuadro de confirmación del sistema operativo.

Chat

Pulsa Duo en la barra lateral. (No se muestra en el modo Código.) Los mensajes enviados mientras la conexión está caída aparecen como «{n} en espera de envío» y se entregan cuando vuelve la conexión. Si envías /new en el cuadro de entrada, se te preguntará si quieres iniciar una nueva conversación.

Si activas Info de Duo en la parte superior, aparecen las siguientes tarjetas en el panel lateral.

TarjetaDetalles
AhoraLa tarea actual o en espera, el tiempo transcurrido y las herramientas que ha usado
Cambios en los ajustes de DuoAparece cuando la configuración del sandbox cambia respecto a la última vez que se comprobó. Muestra las áreas modificadas (apps de chat y quién puede hablar con Duo · herramientas y permisos · servicios conectados · conexión del modelo · otros). Si el cambio lo hiciste tú, pulsa Aceptar cambios.
SandboxListo o error, respuesta del modelo normal o sin respuesta, GPU (CUDA) en uso o no, capacidad
ModeloNombre del modelo, ubicación (Este dispositivo · DGX Spark · Nube), uso del contexto
RutinasConsulta Rutinas más abajo
Conexiones · TelegramResumen de la conexión. Al pulsarlo, se abre Ajustes.
Archivos del espacio de trabajoArchivos que Duo creó en la carpeta de trabajo del sandbox

Al pulsar el botón Tareas en segundo plano, se muestra la lista de subagentes que Duo está ejecutando.

Memoria de la conversación

En Ajustes → Duo → Memoria de la conversación puedes ver el «Contexto en uso» como número de tokens y porcentaje. Usa Compactar para acortar la conversación, o Nueva para abrir una conversación nueva. La conversación actual se conserva. Si Duo está trabajando, puedes hacerlo cuando termine. Si aparece «La conversación es demasiado larga para el modelo y Duo no pudo responder.», compacta la conversación o inicia una nueva.

Rutinas

Dile a Duo algo como «Todas las mañanas a las 9, haz …» y Duo mostrará la tarjeta ¿Crear esta rutina? (Tarea · Horario · Dónde). Pulsa Crear rutina para registrarla. Los cambios y las eliminaciones también se confirman con el mismo tipo de tarjeta.

ElementoDetalles
HorarioUna vez (hasta 365 días después) · todos los días · días laborables · semanal · cada N minutos (de 5 a 1.440 minutos)
DóndeEl chat de Duo en la app de Keural, o Se entrega en Telegram
Límites10 activas, 50 en total
Caducidad7 días por defecto, 30 días como máximo. Después, «Caducada»
OmitidaSi la app estaba cerrada y la rutina tiene más de 10 minutos de retraso, no se ejecuta y se marca como «Omitida»
FalloTras 3 fallos consecutivos, aparece «En pausa tras fallos»

En la tarjeta Rutinas del panel de información de Duo puedes activar y desactivar las rutinas. En Más acciones puedes elegir Ejecutar ahora o Eliminar. En cada fila se muestra la siguiente ejecución y el estado (Enviada · Omitida · Fallida · En pausa · Caducada). Los resultados se entregan al chat de Duo o a Telegram, y también se muestra una notificación de escritorio. Ejecutar ahora no muestra notificación. Las rutinas solo se ejecutan mientras la app está abierta.

Apps de chat (Telegram)

Sigue los pasos en Ajustes → Duo → Apps de chat → Telegram → Conectar.

  1. Abre @BotFather en Telegram, envía /newbot y elige un nombre y un nombre de usuario para tu bot.
  2. Pega el token del bot que te dio BotFather y pulsa Verificar. Si el token se filtra, cualquiera puede controlar el bot, así que no lo compartas.
  3. Escanea con el teléfono el código QR para abrir el bot y pulsa Iniciar. Si no llega respuesta, envía al bot el código que aparece en pantalla.
  4. Cuando aparezca «Solo {name} puede hablar con Duo, por mensaje privado.», pulsa Añadir y después Aplicar.

Al aplicar, Duo se reinicia (se conservan los chats y los archivos). Después, los mensajes que envíes desde el teléfono aparecen en el chat de Duo con la etiqueta «Enviado desde Telegram». Solo la persona que conectaste puede chatear con Duo por mensaje privado. Para desconectar, pulsa Desconectar y luego Aplicar. Cuando Telegram está conectado, las aprobaciones de rutinas también llegan a Telegram.

Un token de bot solo puede usarse en un dispositivo (Duo) por cuenta. Para conectar otro dispositivo, desconecta primero el existente y vuelve a registrar el token.

Las aprobaciones de acciones en las apps se gestionan solo en la ventana de la app de Keural, incluso en las conversaciones que empezaron en Telegram.

Conexiones

Se configura en Ajustes → Duo → Conexiones.

ServicioCómo
GitHubPega un Token de acceso personal y verifícalo, o pulsa Continuar con GitHub CLI para usar el inicio de sesión de gh de este ordenador. Si la CLI no está instalada, aparece un enlace de instalación, y si no has iniciado sesión, se abre la ventana de inicio de sesión. Al conectar o cambiar la conexión, Duo se reinicia.
Búsqueda webDuo usa el método que hayas elegido en Ajustes → General → Búsqueda web (Búsqueda rápida · Búsqueda Keural · Tavily, Brave o SearXNG de tu propio servicio de búsqueda). Requiere tener activado el Uso del ordenador.

Uso del ordenador

En Ajustes → Duo → Uso del ordenador, activa Permitir que Duo use este ordenador. Así Duo puede usar las apps de este ordenador, leer las carpetas que indiques y crear rutinas. Al activarlo, Duo se reinicia durante aproximadamente un minuto.

ElementoDetalles
Permisos de macOSAccesibilidad (hacer clic y escribir en las apps) y Grabación de pantalla (ver la pantalla). Si un permiso no está concedido, pulsa Abrir Ajustes del Sistema.
Carpetas que Duo puede leerDuo solo lee las carpetas que indiques con Añadir carpeta. No se pueden añadir carpetas amplias, como la carpeta personal completa o las carpetas del sistema.
Antes de que Duo actúePreguntar siempre (predeterminado) · Actuar sin preguntar · Pasártelo a ti. Al cambiar a Actuar sin preguntar, se te pide confirmar una vez más.
Apps siempre permitidasLista de apps que elegiste Permitir siempre en la ventana de aprobación. Pulsa la × de su fila para quitarla.

Incluso con Actuar sin preguntar o Permitir siempre, los pasos sensibles como enviar, eliminar, sobrescribir, pagar, enviar formularios, iniciar sesión, publicar y cancelar, y las teclas como Intro, Retroceso y ⌘Q, siempre piden permiso antes.

Cuando Duo espera tu aprobación, aparece «Duo está esperando tu aprobación» encima del cuadro de entrada. Pulsa Revisar para abrir la ventana de aprobación. Las opciones son Rechazar · Permitir una vez · Permitir siempre. Mate & Morph también muestra «Esperando aprobación». Las aprobaciones solo se pueden dar en esta ventana.

Duo solo abre sin aprobación los enlaces de los resultados de búsqueda. Para las direcciones que Duo escribió o cambió por sí mismo, la ventana de aprobación muestra la dirección completa y pregunta antes.

Mate & Morph

Mate & Morph es el personaje de escritorio de Duo. Activa Ajustes → Duo → Uso del ordenador → Mate & Morph → Mostrar en el escritorio y elige el Personaje (Mate · Morph · Los dos) y el Tamaño (Pequeño · Mediano · Grande).

  • Solo aparece mientras Duo se ejecuta y la conversación está lista. Se oculta si cambias a otra cuenta o espacio de trabajo, o si tu plan no incluye Duo.
  • Un clic en el personaje abre un campo de entrada para que puedas hablar enseguida, y un doble clic abre la app. Junto al personaje se muestra el estado (En espera · Trabajando · Listo · Bloqueado · Necesita tu respuesta · Esperando aprobación) y el motivo de la última respuesta fallida.
  • Menú contextual (clic derecho): Ocultar · Marcar como leído · Abrir Duo · Ajustes de Duo. El menú de la barra de menús (bandeja) también tiene Mostrar/Ocultar Mate & Morph.

Windows

Duo en Windows se ejecuta en una distribución de WSL y admite conversaciones, rutinas, Telegram, aprobaciones, Mate & Morph y uso del ordenador igual que en macOS. Algunas apps y ventanas seguras, como los campos de contraseña, las solicitudes de UAC y las terminales, no las maneja Duo, sino que se dejan para que las gestiones tú directamente.

En Ajustes → Duo → Funciones nuevas (en un ordenador Windows), revisa la conexión de Duo, las Carpetas compartidas (Duo solo lee las carpetas que elijas), el Acceso a aplicaciones y las Tareas recientes. En Windows también puedes usar la Instalación de software (solo por ID de paquete exacto) y la Conexión Wi‑Fi (solo perfiles guardados), y las acciones de enviar, eliminar, sobrescribir, instalar y cambios de red siempre piden permiso antes.

Eliminar

En Ajustes → Duo → Entorno de ejecución, pulsa Eliminar en la fila de la ubicación donde está instalado Duo y, en el cuadro de confirmación, pulsa Eliminar. Se eliminan el sandbox, el historial de conversaciones, las rutinas y los archivos del espacio de trabajo. En macOS también se elimina la máquina virtual de contenedores exclusiva de Duo. Un Duo en un DGX Spark solo se puede eliminar mientras el Spark esté conectado.

Mensajes comunes

MensajeSignificado
Duo no está en ejecuciónEn Ajustes → Duo, pulsa Iniciar.
Necesita la última versión de la app de escritorioActualiza la app.
El modelo no está en ejecución. Inícialo y vuelve a aplicar.El modelo local o el del Spark está apagado. Inicia primero el modelo.
Se perdió la conexión con el modelo. Comprueba que hayas iniciado sesión.Se perdió el acceso al modelo de Duo en la nube. Vuelve a iniciar sesión.
El plan de este espacio de trabajo no incluye Duo.El plan no permite usar Duo con modelo en la nube. Cambia a un modelo local o revisa tu plan.
Hay un Duo de otra cuenta o espacio de trabajo en este dispositivo.Al instalar se eliminará ese Duo. Si cambias a la cuenta o al espacio de trabajo original, podrás usarlo de nuevo.
No se pudo eliminar el Duo anterior. Vuelve a instalarlo.No se pudo limpiar el Duo instalado antes. Pulsa Instalar de nuevo.

Detalles técnicos para el equipo de TI

Requisitos

Dónde se ejecutaCriterio
macOSChip Apple (arm64), 16 GB de memoria o más. La máquina virtual de Duo (Colima, vz) usa 4 CPU, 9 GiB de memoria y 40 GiB de disco (solo ocupa lo que necesita).
WindowsWSL 2 (kernel 5.15 o posterior), x64 o ARM64. Instala la distribución Ubuntu 24.04 con el nombre Keural-Duo y usa Podman sin privilegios de root dentro de ella. No es necesario Docker Desktop.
DGX SparkDocker en funcionamiento, 20 GB libres de disco y al menos 8 GB de memoria disponible
Común20 GB o más libres en el disco donde está la carpeta de inicio (se recomiendan 40 GB)

En Windows, al instalar se escribe networkingMode=nat en la sección [wsl2] de %USERPROFILE%\.wslconfig. En los equipos que usan red en espejo (mirrored), Duo no se instala.

Ubicaciones de instalación

Dónde se ejecutaRuta
Entorno de ejecución de macOS~/.keural-runtime/ (Colima, Lima, CLI de Docker, registros)
Inicio automático en macOS~/Library/LaunchAgents/kr.mkd.keural-duo-colima.plist, kr.mkd.keural-duo-gateway.plist, kr.mkd.keural-duo-sweeper.plist
CLI de NemoClaw~/.local/bin/nemoclaw
WindowsDistribución WSL Keural-Duo
Registros de la appEn la carpeta de datos de la app: keural-duo@<servidor>.json, keural-duo-routines@<servidor>.json, keural-duo-rules@<servidor>.json
Registros~/.keural/logs/, ~/.keural-runtime/colima.log y gateway.log, y keural-duo-install.log en la carpeta de datos de la app

Descargas

Permita en el cortafuegos o en el proxy las siguientes direcciones. Los archivos descargados tienen versión fija y se verifican con SHA-256.

DirecciónQué se descarga
github.comColima v0.10.3, Lima v2.2.1, buildx v0.38.2 (macOS), herramientas de Podman (Windows)
download.docker.comCLI de Docker 29.9.3 (macOS)
www.nvidia.comScript de instalación de NemoClaw (v0.0.134)
ghcr.ioImagen del sandbox de OpenClaw
api.telegram.orgConexión con Telegram
Servidores de Keural (api.keural.ai, etc.)Modelos en la nube, inicio de sesión

Si usa la búsqueda web o la conexión con GitHub, también debe permitir api.tavily.com, api.search.brave.com, api.github.com y api.githubcopilot.com.

Red y puertos

DóndePuertoUso
macOS127.0.0.1:8080Pasarela de OpenShell
macOS · Windows127.0.0.1:8766Servidor del modelo de este dispositivo (en Windows, un relé dentro de WSL). Si está ocupado, se usa 8768
DGX SparkUn puerto libre entre 18080 y 18099Pasarela exclusiva para Spark
DGX Spark18081Relé desde el sandbox hacia el modelo de Spark (8000)
DGX Spark22Conexión SSH de la app

Si el cortafuegos ufw está activado en el Spark, durante la instalación se abren dos puertos: el de la pasarela y el del relé. En ese momento se pide una vez la contraseña de la cuenta del Spark.

El sandbox no se conecta directamente a Internet. La búsqueda web y la lectura de páginas las realiza la app en su nombre, y GitHub se conecta en modo de solo lectura.

Direcciones de los modelos

ModeloDirección a la que llama el sandbox
Modelo de este dispositivohttp://localhost:<puerto>/v1. Modelo predeterminado qwen3-8-27b, contexto de 262.144
Modelo de DGX SparkA través del relé de Spark, hasta 127.0.0.1:8000/v1 en el Spark
Modelo en la nube/core/v1/bot/v1 del servidor de Keural. Se usa un token emitido para cada Duo.
PasarelaDirección del servidor conectado en Ajustes → Modelos → Gateways

La dirección de la pasarela puede ser cualquiera si usa https. Si usa http, solo se aceptan IP privadas o nombres internos (.local, .lan, .internal, .intranet, .home.arpa, y nombres sin punto). No se aceptan localhost ni direcciones con user:pass@.

Telegram

  • El token del bot se obtiene con /newbot en BotFather. El formato es número:alfanumérico.
  • Cuando se crea el código de conexión, tienes 10 minutos para abrir el bot desde el teléfono y 5 minutos para enviar el primer mensaje. La cuenta que envíe el primer mensaje quedará autorizada.
  • En las conversaciones de grupo, Duo no responde.

Rutinas

ElementoValor
Frecuencia de comprobaciónBusca cada 30 segundos las rutinas que deben ejecutarse.
OmitidaSi se retrasa más de 10 minutos respecto a la hora prevista, no se ejecuta y se registra como omitida.
PausaSe detiene tras 3 fallos consecutivos.
Intervalo de repeticiónDe 5 a 1.440 minutos
Una sola ejecuciónHasta 365 días después
Caducidad7 días por defecto, 30 días como máximo
Límite10 rutinas activas, 50 en total
Zona horariaLa del ordenador donde se creó la rutina

Reglas para añadir carpetas

No se pueden añadir las siguientes carpetas.

TipoCarpetas
ComúnLa raíz del disco, la propia carpeta de inicio y las carpetas que la contienen
Dentro de la carpeta de inicio.ssh, .aws, .gnupg, .kube, .docker, .config, Library, .Trash, AppData
macOS/System, /Library, /usr, /bin, /sbin, /etc, /var, /private, /dev, /Volumes, /Applications, /opt, /cores
WindowsWindows, Program Files, Program Files (x86), ProgramData

Permisos para el uso del ordenador

SOPermisos necesarios
macOSEn Ajustes del Sistema → Privacidad y seguridad: Accesibilidad y Grabación de pantalla
WindowsNo requiere permisos adicionales; usa Windows UI Automation.

Los botones como enviar, eliminar, pagar, comprar, presentar, iniciar sesión, transferir, publicar y cancelar, y las teclas como Intro, Supr, cerrar ventana o cerrar la app, se consideran pasos sensibles y siempre piden confirmación.

Qué se borra al eliminar

Al pulsar Eliminar se borran el sandbox, el historial de conversaciones de Duo, las rutinas, las conexiones con Telegram, GitHub y la búsqueda, y el token del modelo en la nube. Si no hay otro Duo en este dispositivo, en macOS también se eliminan ~/.keural-runtime/ y los elementos de inicio automático. Los ajustes de Mate & Morph y los registros de conexión con Spark se conservan.

En esta página