Cómo programar un agente de programación en Open WebUI en un servidor doméstico

Eva Wong es la redactora técnica y manitas residente en ZimaSpace. Es una geek de toda la vida apasionada por los laboratorios domésticos y el software de código abierto, y se especializa en traducir conceptos técnicos complejos en guías prácticas y fáciles de seguir. Eva cree que alojar servicios propios debería ser divertido, no intimidante. A través de sus tutoriales, ayuda a la comunidad a desmitificar la configuración del hardware, desde montar su primer NAS hasta dominar los contenedores Docker.

Open WebUI v0.13.3 puede programar un agente de programación para que trabaje en un terminal y un directorio de trabajo seleccionados. Empieza con una tarea que solo genere un informe en una copia de trabajo desechable: ejecuta un comando de prueba conocido, resume los fallos y envía el resultado a un chat. Esa prueba verifica el programador, los permisos y la vía de entrega antes de conceder a una tarea recurrente acceso a archivos importantes.

Necesitas una instalación compatible de Open WebUI, una integración de terminal accesible que ofrezca el agente previsto y un espacio de trabajo accesible. Las notas de la versión v0.13.3 indican que las ejecuciones programadas comprueban que el terminal guardado y el agente sigan disponibles. Trata el terminal, el sistema de archivos y la conexión al modelo subyacente como componentes independientes de la configuración.

¿Qué cambió en la versión de noviembre?

El editor de automatizaciones permite seleccionar un terminal y un directorio, y luego elegir un agente ofrecido por ese terminal. El terminal y la carpeta configurados se mantienen en la ejecución programada. Los resultados de las automatizaciones de agentes se envían a un chat, mientras que otros tipos de automatización pueden tener distintas opciones de destino. La versión anterior v0.13.1 incorporó agentes de programación al selector de modelos cuando un terminal conectado los ofrece.

Un terminal seleccionado puede ejecutarse en el mismo host que Open WebUI o ser un servicio independiente accesible. Para la tarea, importa el sistema de archivos del terminal. Puede que un directorio que se muestra en tu portátil no esté disponible en un contenedor. Un archivo disponible en un terminal puede no existir en otro. Verifica la ruta en el terminal exacto que seleccionaste para la automatización.

Captura de pantalla de la documentación de Open WebUI que muestra la selección de terminal en un chat
Captura de pantalla de la documentación de Open WebUI que muestra la selección de terminal en un chat. Fuente original

¿Cómo debes preparar el espacio de trabajo?

Crea una copia de prueba dedicada, idealmente para un repositorio pequeño sin secretos de producción. Fija una revisión conocida e incluye en la configuración una prueba sencilla que pase y otra que se sepa que falla. Para el primer informe, expón la copia de entrada como de solo lectura, si el ejecutor de pruebas lo admite. Proporciona una ubicación temporal con permisos de escritura para las cachés y los registros de las pruebas. Algunas herramientas de compilación insisten en escribir en el árbol, así que configúralas para que escriban en otro lugar o usa una copia temporal con permisos de escritura.

Límite Opción práctica predeterminada Verificación
Repositorio Copia de trabajo dedicada o árbol de trabajo El agente solo puede ver la revisión y el directorio previstos.
Escrituras en el sistema de archivos Directorio temporal o copia de trabajo desechable Los directorios principales y los montajes sensibles son inaccesibles.
Credenciales Sin claves de implementación ni tokens de producción para la primera tarea El entorno y las rutas montadas contienen únicamente entradas aprobadas.
Modelo del agente Elige y documenta el proveedor concreto Comprueba qué instrucciones o resultados de herramientas pueden salir del equipo anfitrión.
Resultados Informe del chat con el estado y un breve extracto del registro La tarea proporciona pruebas útiles incluso cuando las pruebas fallan.

Si compartes un repositorio entre varias tareas, crea un árbol de trabajo por agente o tarea. Mantén las copias de seguridad y el directorio de trabajo separados. Lee por qué las copias de seguridad pueden fallar cuando se comparte el acceso antes de conceder a una tarea permisos de escritura amplios en un servidor de archivos.

¿Cómo se configura la primera tarea programada?

Abre el editor de automatización en una versión que incluya la automatización de agentes. Selecciona tu terminal, elige el directorio visible desde esa terminal y, a continuación, selecciona el agente. Para la primera prueba, programa una ejecución única a corto plazo si tu instalación ofrece esa opción. Consulta el horario en la zona horaria que hayas configurado. Establece un límite moderado de tiempo de ejecución o de pasos, según los controles disponibles para tu agente y despliegue.

Proporciona a la tarea una entrada concreta, un comando y un formato para el resultado. Por ejemplo:

Inspecciona el repositorio clonado en el directorio de trabajo seleccionado.
Ejecuta una vez el comando local existente para la prueba de humo.
Informa del comando, el código de salida y la primera prueba que haya fallado.
Si el comando o la carpeta no están disponibles, informa de ese error.
No instales dependencias, no modifiques el repositorio ni contactes con servicios externos.

Las instrucciones guían al agente. Configura los límites del sistema de archivos y la red por separado mediante la configuración de la terminal y del contenedor. Confirma que la falta de una dependencia provoque un error claro y no una instalación inesperada. La documentación de Open WebUI es el punto de partida para la configuración de la terminal y del administrador.

¿Qué debes verificar después de la primera ejecución?

Abre el chat resultante y comprueba la identidad del agente, la ruta de trabajo, el comando de prueba, el código de salida y la revisión que se probó. Compara el resultado con una ejecución manual del mismo comando en esa terminal. Que una automatización se complete solo demuestra que terminó el flujo de trabajo. El informe aún necesita pruebas de que se ejecutó la prueba prevista.

Provoca deliberadamente una situación de error. Configura una tarea de prueba para que use una entrada inexistente e inocua o detén brevemente la terminal desechable y observa el estado resultante. Restáurala después de la prueba. El operador debe poder distinguir entre un agente no disponible, un directorio inexistente, una prueba fallida y un tiempo de espera agotado del modelo sin tener que leer todo el historial del chat. Verifica que la siguiente ejecución legítima no reutilice en silencio resultados obsoletos.

¿Mantener el código en local con Open WebUI mediante autoalojamiento?

Open WebUI y su terminal pueden alojarse en tus propios servidores, mientras que el agente de programación seleccionado utiliza un modelo remoto. Averigua dónde envía el agente las instrucciones del sistema, los fragmentos de archivos y los registros de pruebas. Comprueba la configuración de su proveedor antes de conectarlo a un repositorio privado. Guarda las credenciales del proveedor en la configuración de secretos designada por el servicio y evita compartirlas en instrucciones o registros.

Empieza con un endpoint de modelo local si tus requisitos prohíben el procesamiento externo. Verifica el endpoint y la configuración de contingencia del agente; después, comprueba las restricciones de red que se apliquen a la terminal. Para obtener más información sobre cómo limitar la exposición, consulta esta guía para clasificar vulnerabilidades con IA y proteger los secretos.

¿Cómo se convierte una tarea que solo genera informes en un flujo de trabajo periódico?

Cuando puedas entender tanto las primeras ejecuciones correctas como las fallidas, añade un horario periódico que no se solape con otra tarea que use el mismo directorio. Incluye en los informes una marca de tiempo y la revisión del repositorio. Mantén las alertas sencillas: destaca los fallos que requieran acción y conserva suficiente contexto para reproducirlos. Comprueba periódicamente que las credenciales del agente, la conexión de la terminal y el directorio programado sigan funcionando tras las actualizaciones.

Si más adelante permites parches, mantenlos en una rama aislada y exige una revisión antes de fusionarlos. De lo contrario, un reintento del planificador podría duplicar efectos secundarios. Es más fácil reintentar una tarea que solo genera informes, porque únicamente escribe un resultado, mientras que las actualizaciones de dependencias y los comandos de despliegue cambian el estado. Trata ese cambio como una decisión de permisos independiente.

Preguntas frecuentes

¿Qué versión incorporó las automatizaciones de agentes?

La función pertinente figura en Open WebUI v0.13.3. La función de selección de agentes de la versión v0.13.1 está relacionada, pero es distinta.

¿Por qué no aparece el agente en el selector?

Comprueba que se pueda acceder a la terminal seleccionada, que indique que tiene ese agente disponible y que tu versión instalada y los permisos de tu cuenta permitan usar esta función.

¿Puedo elegir una carpeta de mi portátil?

Elige una ruta en la terminal donde realmente se vaya a ejecutar la tarea. Si hace falta, monta o copia allí primero el repositorio.

¿El resultado de una automatización se envía a un canal?

Las notas de la versión v0.13.3 especifican que las automatizaciones de agentes envían mensajes por chat. Consulta las opciones de la versión actual antes de confiar en un destino distinto de ese chat.

¿Qué debo hacer si se solapan dos ejecuciones?

Utiliza worktrees separados o elige un horario y un límite de ejecución que eviten solapamientos. Inspecciona cualquier ejecución que haya usado una revisión incorrecta antes de confiar en su informe.

Conclusión

Utiliza una sola terminal, un directorio de trabajo delimitado y una tarea pequeña que solo genere informes para validar todo el flujo. Verifica el proveedor del modelo, prueba tanto el éxito como el fallo y mantén las credenciales de producción fuera de la terminal. Cuando el resultado sea reproducible, la misma configuración podrá encargarse de comprobaciones periódicas del repositorio.

Soporte y consejos

Más para leer

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.