DisPatch 3.0: Perfiles familiares, un asistente de configuración y agentes que preguntan antes de actuar
- Categoría
- IA y LLM Local
- Publicado
- 19 octubre 2026
- Por
- Jacob Lloyd — escrito con ayuda de IA, después del proyecto
- Tiempo de lectura
- 20 min de lectura
En palabras simples: DisPatch es una aplicación de chat privada para el hogar que se ejecuta en su propio ordenador, con un asistente de IA detrás. La versión 3.0 permite que cada persona tenga su propio perfil: los adultos obtienen acceso completo y pueden participar en conversaciones cotidianas; los niños, por su parte, tienen acceso a una interfaz sencilla con personajes animales amigables, un límite diario de tiempo de uso y horarios de silencio que usted mismo puede configurar. Un asistente de configuración le guiará durante los primeros cinco minutos de uso; además, sus conversaciones pueden ser respaldadas en formato cifrado.
DisPatch 3.0 representa el mayor cambio desde que inicié el proyecto. Hasta ahora, todo el modelo de acceso se basaba en un único PIN: o lo tenías y podías acceder a todo, o quedabas en el Modo Seguro. Eso funcionaba para mí; sin embargo, no funcionaba en hogares donde un adulto, un adolescente y un niño pequeño comparten una misma instalación. La versión 3.0 sustituye eso por perfiles reales, cada uno con su propio inicio de sesión y sus propias limitaciones; además, el servidor verifica cada solicitud según los permisos necesarios. También se incluyen un asistente de configuración, copias de seguridad cifradas y tareas gestionadas por agentes.
Todas las capturas de pantalla que aparecen a continuación provienen de una instalación nueva desde cero, con personas ficticias (Ada, Jo, Max, Mia) y conversaciones inventadas, utilizando los personajes que vienen por defecto en DisPatch. Si nunca has visto DisPatch, el artículo principal sobre DisPatch explica qué es y cómo las respuestas llegan a tu teléfono. Esta página describe las novedades.
Resumen rápido
- Perfiles: un Propietario, cualquier cantidad de Administradores, Miembros y perfiles Restringidos. Los niños obtienen perfiles Restringidos: solo pueden acceder a los personajes creados para ellos, se aplica un límite diario de uso, horarios de silencio y no pueden modificar ninguna configuración.
- Configuración: un asistente de seis pasos crea al propietario, conecta la IA, añade a los miembros de la familia y pregunta quién puede acceder a la aplicación. Una instalación nueva bloquea el acceso a la red hasta que se cree el propietario.
- IA: una conexión por cada servidor de modelos, las claves no se guardan en el archivo de configuración, hay un botón de Prueba y Atlas es el personaje predeterminado.
- Otras novedades: paquetes iniciales (Animal Friends para niños, Assistants para adultos), voz para los Miembros, todas las configuraciones en una sola página buscable, copias de seguridad cifradas y tareas gestionadas por agentes con presupuestos y aprobaciones.
- Actualización: la versión 3.0 migra automáticamente los datos de tu versión 2.x al iniciarse; primero realiza una copia de seguridad, mantiene el funcionamiento del PIN y permite deshacer todo con un único comando. He probado este proceso.
- Estado: a fecha de 19 de octubre de 2026, la versión 3.0 se encuentra en la rama
maindel repositorio público; además, ya se utiliza en mi propio hogar. Por el momento no existe una versión etiquetada ni archivo zip disponible. Es de licencia MIT y gratuita.

¿Qué ha cambiado para usted?
- Todos tienen su propio perfil. Toque su nombre en la pantalla de bloqueo e ingrese su PIN o contraseña. Los límites de cada persona se aplican a ella, no al dispositivo ni a la dirección Wi-Fi.
- Los niños tienen un espacio seguro dentro de la app. El perfil Restringido solo muestra los personajes que usted creó para ellos; no pueden modificar nada y dejan de funcionar fuera del horario permitido.
- Los primeros cinco minutos son guiados. El asistente solicita, en ese orden: una cuenta de propietario, una IA, la familia y la red.
- Para conectar una IA se usa un formulario, no se edita ningún archivo. Seleccione el proveedor, pegue la clave y pulse “Probar”.
- Personajes ya listos para usar. Dos paquetes de inicio se instalan con un solo clic.
- Voz para toda la familia. Con el complemento de voz, los Miembros (y los perfiles Restringidos, en sus propios personajes) pueden hablar en lugar de escribir.
- Copias de seguridad que puede guardar en otro lugar. Un solo botón genera un archivo cifrado con los chats, personajes, configuraciones y claves.
- Agentes que preguntan antes de actuar. Asigne una tarea a un agente desde cualquier chat; podrá observar cómo trabaja, aprobar pasos arriesgados y limitar cuánto puede gastar.
- Docker. Ejecute
docker compose up -den una copia del proyecto; funciona en Linux, en un Pi o en Windows. El artículo sobre Docker contiene toda la guía paso a paso.
Perfiles para todo el hogar
Existen cuatro roles. En términos sencillos:
| Rol | Para quién | Lo que puede hacer | |
|---|---|---|---|
| Propietario | Usted. Solo uno. | Todo: controlar el host, realizar copias de seguridad y gestionar la clave API de la máquina. | |
| Administrador | Un adulto de confianza | Lo mismo que el Propietario, excepto modificar el propio perfil del Propietario o cambiar el PIN de instalación; así nadie puede bloquear al Propietario. Inicia sesión con contraseña. | |
| Miembro | Un adulto o adolescente | Chatear, usar voz, compartir imágenes, acceder a las herramientas que usted haya habilitado, recibir notificaciones y organizar sus conversaciones. No puede modificar configuraciones ni usar agentes, a menos que se lo permita. Inicia sesión con PIN. | |
| Restringido | Un niño o invitado | Chatear y usar voz con los personajes destinados a ellos. No puede usar herramientas, agentes, configuraciones ni archivos. Se aplican límites diarios y horarios de silencio. |

El Propietario también puede otorgar o retirar permisos adicionales a una persona. Por ejemplo, permitir que un Miembro ejecute agentes, o desactivar la voz en un perfil concreto. A un perfil Restringido nunca se le pueden dar permisos de gestión, y el control del host jamás puede asignarse a un Miembro.
Límites para los niños
Cada perfil puede tener un límite diario de minutos, mensajes, nuevas conversaciones, calificaciones y megabytes de carga, además de horarios de silencio. En el caso de Mia, el horario de silencio es de 20:00 a 07:00; dispone de 45 minutos y 100 mensajes al día. El tiempo activo se cuenta según su uso real; por ejemplo, si deja una pestaña abierta toda la noche, eso no consume sus minutos.

Esto es lo que ve Mia. Solo aparecen Animal Friends y Atlas en su lista, porque el público objetivo de Atlas es “todos” por defecto (puede cambiarse). El banner superior le indica qué puede ver el Propietario: el número de conversaciones y cargas realizadas, pero nunca el contenido de las mismas.

Bloquear la pantalla no es forma alguna de eludir los límites. La primera vez que un perfil Restringido inicia sesión en un dispositivo que nadie había vinculado, ese dispositivo queda asociado a dicho perfil. Así, si Mia bloquea la pantalla o su sesión expira, el dispositivo volverá a abrirse como Mia, con los mismos horarios de silencio y minutos ya consumidos ese día. Esta corrección se implementó el 19 de octubre de 2026; antes, al bloquear la pantalla un niño obtenía un presupuesto de uso “invitado” nuevo. Un dispositivo sin vincular y sin nadie conectado actúa como invitado con los límites Restringidos por defecto; además, anonymous_access: none impide incluso eso, obligando a iniciar sesión.
Un detalle importante: en esta versión, las conversaciones son un espacio compartido para todo el hogar. Los roles determinan qué personajes y acciones puede usar cada persona, pero no quién puede leer cada hilo de conversación. En mis pruebas, Max (un Miembro) pudo abrir el chat sobre la cena que Ada había iniciado. Si dos adultos necesitan hilos privados, la versión 3.0 no los permite.
Si olvida el PIN
DisPatch escribe un código de recuperación en el archivo RECOVERY-CODE.txt dentro de su carpeta de datos al configurarse el PIN del Propietario. En instalaciones para una sola persona, usar ese código en la pantalla de bloqueo elimina el PIN. Cuando hay varios perfiles, el sistema solicita un nuevo PIN y lo reemplaza al anterior, garantizando que el hogar nunca quede sin un Propietario válido. El Propietario que disponga de contraseña siempre puede iniciar sesión con ella.
El asistente de configuración
Una instalación nueva abre un asistente de seis pasos: su cuenta, un modelo, voz (opcional), familia (opcional), red y finalización. Puede posponerlo con “Configurar más tarde”; además, este asistente desaparece definitivamente al hacer clic en “Finalizar”.

El paso crucial para la seguridad ocurre antes de que usted lo vea. Una instalación nueva queda aislada de la red hasta que se crea el propietario. En el ordenador donde se ejecuta DisPatch, el asistente no solicita nada. Desde cualquier otro dispositivo, sí pide un token de configuración único que el servidor imprime en su registro (docker compose logs app en Docker). En la versión 2.x, quien fuera el primero en completar la instalación podía definir el PIN y convertirse en propietario; ahora ya no es posible.

En el paso de configuración de red se define si DisPatch debe ser accesible únicamente desde este ordenador (valor predeterminado) o desde toda su red doméstica. El asistente le indica cómo iniciar el servidor para que así sea. La dirección en la que escucha el servidor sigue dependiendo de cómo lo lance usted; el asistente advierte si ambos valores no coinciden. Los teléfonos requieren HTTPS para la instalación, las notificaciones push y el uso del micrófono. El archivo docs/remote-access.md del repositorio explica cómo usar un proxy inverso o Tailscale Serve.
Conectar una IA
El paso 2 del asistente busca StudioForge, LM Studio y Ollama en el mismo ordenador. Si no encuentra nada, solicita manualmente un tipo, una dirección, una clave y un modelo: OpenAI-compatible, StudioForge, LM Studio, Ollama, OpenAI, Anthropic, DeepSeek u OpenRouter. La opción Probar y guardar verifica la conexión, la establece como predeterminada y la asigna a Atlas. En Configuración → Conexiones hay trece tipos disponibles; entre ellos, MiniMax y xAI. Ahí fue donde añadí la conexión a MiniMax que Atlas utiliza en estas capturas de pantalla.

Ahora cada servidor es un registro independiente, en lugar de una copia repetida para cada personaje. La clave se almacena en el llavero del sistema operativo o en un archivo al que solo su usuario puede acceder; nunca vuelve a aparecer en pantalla ni en ninguna API. Una conexión también puede obtener su clave desde una variable de entorno definida por el usuario. La opción Buscar servidores escanea los puertos habituales en busca de servidores tipo StudioForge, LM Studio, Ollama y OpenAI. No analiza direcciones de metadatos en la nube ni direcciones link-local, por lo que una dirección mal escrita no podría utilizarse para acceder a servicios internos.
Si ejecuta StudioForge 2.x, este requiere una clave API cada vez que DisPatch se conecte desde otro equipo o contenedor. Cree una clave de inferencia en la página “Usuarios y Claves” de StudioForge y péguela en la configuración de la conexión. La función “Buscar servidores” detecta automáticamente a StudioForge protegido por clave y lo marca como necesitando dicha clave.
Packs de inicio

Animal Friends son seis personajes amables destinados a perfiles Restringidos. Nunca solicitan datos personales, guían a los niños preocupados hacia un adulto y cuentan con voces integradas sin necesidad de búsquedas externas, además de acciones rápidas y reacciones predefinidas. Assistants son cuatro ayudantes para Miembros: explicar, escribir, programar y planificar. Cada personaje tiene asignado un público (todos, miembros o restringidos) y una lista opcional de perfiles autorizados a verlo. El servidor aplica esta regla a todas las listas y actualizaciones en tiempo real, no solo a la barra lateral.
Voz para Miembros
El chat de voz sigue siendo un complemento aparte: DisPatch Voice. Su versión actual, 1.5.0, es compatible con la versión 3.0; estas son las versiones que se utilizan en estas capturas de pantalla. Se ejecutaron los modelos de voz en la CPU de la misma máquina, sin necesidad de un servidor GPU. Lo que cambió en DisPatch el 19 de octubre de 2026: ahora los Miembros pueden abrir la pantalla de llamadas, acceder a Configuración → Voz y navegar por la lista de voces y sus muestras. La clonación de voces, el servidor de voz basado en GPU y el interruptor de activación/desactivación siguen siendo funciones exclusivas para el Propietario y los Administradores.

El perfil Restringido también puede usar la función de voz, con sus propios personajes. La conexión de voz sigue las mismas reglas que el texto: se verifican los horarios permitidos al iniciar la llamada y nuevamente durante su transcurso; además, los minutos de la llamada se contabilizan dentro del límite diario del niño. La versión 1.6 de Voice, que agrupa todas las configuraciones de voz en una sola página, ya está en la rama principal del complemento, pero aún no ha sido lanzada.
Todos los ajustes en un solo lugar

Ahora cada ajuste se describe una sola vez: su tipo, valor predeterminado, rango permitido, si requiere reinicio del sistema y qué variable de entorno puede sobrescribirlo. La página 'Todos los ajustes' se genera a partir de esa descripción; asimismo, el archivo docs/settings.md del repositorio se crea a partir de la misma fuente. Las pestañas antiguas siguen disponibles para aquellos ajustes que aún no han sido migrados. Al actualizar el sistema, cualquier ajuste que DisPatch no reconozca se conserva y se muestra en la lista, en lugar de eliminarse.
Copias de seguridad cifradas

Al hacer clic en “Hacer copia de seguridad ahora”, se genera un archivo cifrado que contiene todo lo necesario para transferir el sistema a otro ordenador: la base de datos, los personajes y configuraciones, los avatares y las claves de conexión; además de imágenes y archivos si se marca la casilla correspondiente. El archivo se cifra mediante AES-256-GCM, y la clave proviene de su frase de contraseña. Si no proporciona ninguna frase de contraseña, DisPatch genera una clave de recuperación y la muestra una sola vez. Yo mismo creé un archivo de copia de seguridad en una instalación de prueba y ejecuté la función “Verificar”; todo resultó correcto.
El detalle importante: la frase de contraseña se guarda en la instalación para que las copias de seguridad programadas puedan realizarse sin su intervención. Esto significa que el cifrado protege únicamente la copia que se mueve fuera del equipo, no el propio equipo. Cualquiera que tenga acceso a la carpeta de datos y al archivo de claves ya cuenta con la clave necesaria para descifrarla. Por eso, guarde la clave de recuperación o la frase de contraseña en otro lugar, como un gestor de contraseñas o en papel. Sin ella, cualquier archivo copiado a otro sitio resultará inutilizable. Las copias de seguridad programadas permanecen desactivadas hasta que usted las active (por defecto, se realizan cada 24 horas y se conservan las 7 más recientes). La restauración verifica primero el archivo de copia de seguridad y luego se aplica en el siguiente inicio del programa, tras guardar una copia del estado actual.
También es nueva la opción de generar un paquete de soporte para informes de errores: este paquete elimina claves, tokens, PINs y contraseñas, y excluye las conversaciones; además permite exportar o borrar los datos del perfil de una persona concreta.
Agentes y tareas
Un agente es un trabajador configurado: un backend, un modelo, instrucciones, las herramientas que puede utilizar, un presupuesto y una política de aprobación. Una tarea es un trabajo que le asignas, ya sea desde la página de Tareas, mediante el botón Asignar tarea en cualquier chat, o con una mención @agent. Cada tarea muestra una línea de tiempo en tiempo real, los subagentes que inicia, sus archivos, un costo estimado y su estado actual. Los propietarios y administradores pueden ver todas las tareas; los miembros solo ven los agentes publicados para ellos y sus propias tareas, siempre y cuando les hayas concedido ese permiso. Los perfiles restringidos no ven nada al respecto.

Existen dos backends. OpenClaw se ejecuta en la misma máquina y mantiene su propia política de herramientas. El Agente Claude, por su parte, se ejecuta mediante el SDK del Agente Claude, utilizando una clave API de Anthropic o credenciales de Amazon Bedrock, Google Cloud o Microsoft Foundry. No se admite el inicio de sesión mediante suscripción a Claude; además, es necesario instalar el paquete adicional (uv sync --extra agents-claude). En el Agente Claude, toda acción destructiva requiere autorización explícita en cada ocasión y solo permite la opción “permitir una vez”: comandos de shell, escritura de archivos, o cualquier operación que envíe, publique, elimine o cree datos. Recibirás una notificación sin contenido, una línea en el chat y un indicador visual en la barra lateral. Los presupuestos pueden detener una tarea según dólares, turnos, minutos o tokens, y también limitan el uso diario por agente y por persona.
Estos límites son reales; la sección “Límites conocidos” que sigue detalla los mismos. En resumen: solo he probado el Agente Claude con flujos de datos grabados y predefinidos, ya que durante el desarrollo no contaba con una clave API. Además, los comandos de shell aprobados no se ejecutan en un entorno aislado. De forma predeterminada, el enrutamiento de los chats normales de OpenClaw a través del modelo de tareas (agents.unified_dispatch) está desactivado; por lo tanto, si nunca accedes a la página de Tareas, el chat seguirá funcionando tal como siempre lo hizo.
Instalación de la versión 3.0
Si desea tomar el camino más sencillo, utilice Docker. El artículo sobre Docker explica todo paso a paso con capturas de pantalla; además, el archivo README del repositorio incluye instrucciones de instalación para Windows y Linux, incluso para Raspberry Pi 4 o 5. Sin Docker, se trata de un proyecto uv normal.
git clone https://github.com/LaserLloyd/DisPatch_Chat.git
cd DisPatch_Chat/backend
uv sync
uv run uvicorn app.main:app --port 8765
Abra http://localhost:8765 en la misma máquina; el asistente de configuración no requiere ningún token. Use --host 0.0.0.0 únicamente cuando quiera permitir el acceso desde otros dispositivos, y lea el token de configuración en esa terminal. Según el README, la imagen de Docker ocupa aproximadamente 840 MB; si incluye la funcionalidad de voz, el tamaño asciende a unos 1,7 GB. El backend también se ejecuta de forma nativa en Windows, pero toda la suite de pruebas solo funciona en Linux; por eso, considere la instalación nativa en Windows como algo experimental.
Actualización desde la versión 2.x
Para iniciar la versión 3.0, haga lo mismo que hizo con la 2.x. Antes de servir nada, el sistema migra su carpeta de datos:
- Si lo desea, puede echar un vistazo primero. Desde
backend/:uv run python -m app.migrate --dry-run --data-dir <your data folder>muestra cada paso del proceso sin realizar ningún cambio. - Inicie la versión 3.0. Si hay datos que migrar, primero copia
chats.db,config.yaml,security.yamlytrusted-devices.yamla<data>/backups/3.0.0-<time>/, conservando las cinco copias más recientes. - Su PIN pasa a ser el identificador del Propietario. El PIN no cambia y sigue funcionando igual; los dispositivos autorizados también permanecen registrados. El Propietario aún no tiene contraseña. DisPatch le pedirá que la establezca la primera vez que realice una acción que la requiera, como crear un Administrador.
- Sus bots se convierten en “personajes”. Cada bot recibe un tipo de acceso basado en los ajustes anteriores:
safemáshide_unlockedequivale a “Restringido”; solosafesignifica “todos”; el resto pasa a ser “miembros”. Las claves de API se trasladan desdeconfig.yamlal almacén de secretos; DisPatch las lee antes de eliminarlas. - Para deshacer la migración: detenga el servidor y ejecute
uv run python -m app.migrate --restore <data>/backups/3.0.0-<time>, luego vuelva a iniciar la versión 2.x.
Probé todo este proceso en una copia de prueba. Inicié DisPatch 2.2.0 en una carpeta vacía, establecí un PIN y envié un mensaje; después inicié la versión 3.0 en la misma carpeta. Se creó el respaldo, se ejecutó la migración, y el antiguo PIN permitió acceder como Propietario, solicitando una contraseña. Luego detuve el servicio, ejecuté la restauración, y la versión 2.2.0 volvió a funcionar correctamente en esa carpeta.
Existen tres posibles problemas tras una actualización:
- Los proxies inversos deben conservar el encabezado
Host. Ahora las cookies tienenSameSite=Strict; cualquier solicitud que modifique datos debe provenir del propio origen de DisPatch. Caddy y Tailscale Serve conservanHostpor defecto; un proxy que lo modifique será rechazado. - Las secuencias de comandos en el mismo equipo siguen funcionando sin clave mientras
machine_loopback_trustesté activado, que es el valor por defecto tras la actualización. Asigne la clave de API a sus tareas programadas y luego desactive esa opción. - Para volver a la versión 2.x después de mover las claves, es necesario restaurar el respaldo. La versión 2.x no puede leer las claves del almacén de secretos.
Corregido desde la fusión en la versión 3.0
Utilizo la versión 3.0 en casa; tras un día de uso real, encontré problemas que el conjunto de pruebas no detectó. Todos estos problemas se han solucionado en main:
- Las respuestas en tiempo real desde OpenClaw 2026.10 vuelven a funcionar. Esa versión envía únicamente el texto nuevo después del primer bloque de datos. DisPatch leía todo el mensaje en cada ocasión, por lo que una respuesta mostraba primero sus primeras palabras, se congelaba y luego aparecía completa.
- Los mensajes ya no fallan bajo carga elevada. Cuando varios dispositivos enviaban datos simultáneamente mientras un proceso en segundo plano escribía en la base de datos, algunos envíos fallaban con el error “la base de datos está bloqueada”. En mi prueba, 7 de cada 24 envíos fallaron antes de la corrección; después, ninguno de los 48 envíos falló.
- Una tableta que permanece conectada durante días ahora aplica los nuevos límites. Los horarios de silencio configurados o los perfiles desactivados ahora se aplican a una conexión abierta en la siguiente acción del dispositivo.
- Los administradores obtuvieron permisos completos, los miembros ganaron acceso para hablar, y el bloqueo ya no restablece los límites de los usuarios secundarios (todo ello ya mencionado anteriormente).
- El código de recuperación solicita un nuevo PIN en instalaciones familiares, en lugar de eliminar la única credencial de Propietario.
Limitaciones conocidas
- Las conversaciones se comparten entre todos los miembros del hogar. Los roles determinan los personajes y acciones disponibles, no hilos de conversación individuales.
- Detrás de un proxy TLS que reescribe el campo
Host, se rechazan todos los cambios. Es necesario corregir el proxy. - El Agente Claude solo se ha ejecutado con flujos de datos grabados y predefinidos; por eso, su primera ejecución real podría encontrarse con situaciones que esos flujos no modelan. Aún no existen sesiones alojadas de Claude ni un agente CLI genérico. Las tareas tampoco pueden programarse para repetirse según un horario. Los comandos de shell aprobados no están aislados en un entorno seguro.
- Por el momento, no hay ninguna versión etiquetada como 3.0.0 ni archivo ZIP de descarga disponible. Se debe instalar desde
main. - La ejecución nativa en Windows es experimental; se recomienda usar Docker Desktop en ese sistema.
Relacionado: DisPatch: una aplicación de chat autohospedada para agentes de IA locales · todos los módulos en Docker · StudioForge · mi pila de agentes de IA locales en OpenClaw