Instalación de Open WebUI y configuración de OmniProxy
¿Quieres usar modelos locales y en la nube en la misma ventana de chat pero te preocupa que el despliegue y la configuración de la conexión sean demasiado complicados? Open WebUI ofrece una interfaz de chat familiar. Una vez instalado, puedes empezar a usarlo ingresando los detalles de conexión paso a paso.
Open WebUI es una interfaz de chat autohospedada que se puede instalar en tu propia computadora o servidor y también puede ejecutarse completamente sin conexión. No está vinculada a ningún proveedor de modelos: puede conectarse a herramientas como Ollama que ejecutan modelos localmente, así como a endpoints compatibles con OpenAI (direcciones que proporcionan servicios de modelos utilizando el mismo formato de solicitud). Esto te permite cambiar entre modelos locales y en la nube en la misma ventana.
Es adecuado para el uso a largo plazo por parte de equipos y organizaciones. Las capacidades que reciben actualizaciones más rápidas aparecen primero en Computer, el producto que Open WebUI utiliza para probar nuevas funciones.
Antes de comenzar
Open WebUI está disponible en macOS, Linux y Windows. Puedes instalarlo usando Docker, Python o Kubernetes. Docker empaqueta la aplicación y su entorno de ejecución en un contenedor relativamente aislado y es el método recomendado. Si Docker no está disponible, también puedes usar el comando de Python probado a continuación. Kubernetes es un sistema para desplegar y gestionar contenedores; consulta el Inicio rápido vinculado al final de esta guía para ver los pasos correspondientes.
Recomendado oficialmente
Docker
- Un comando docker run
- Abrir 3000 en el navegador
- Los datos se almacenan en el volumen
Solo quiero chatear
imagen slim
- Tamaño de descarga menor
- Cambia la etiqueta a :slim
- La funcionalidad de chat permanece disponible
No cubierto aquí
Dos opciones más
- Instalación manual de Python
- Despliegue en Kubernetes
- Consulta el Inicio rápido oficial
Antes de comenzar, prepara lo siguiente:
- Docker instalado y en ejecución.
- Una cadena secreta utilizada solo por ti. Ejecuta
openssl rand -hex 32para generar una, luego ingrésala comoWEBUI_SECRET_KEY. Guarda este valor permanentemente. Si lo cambias al reconstruir el contenedor, se cerrará la sesión de todos los usuarios que ya hayan iniciado sesión. - Una instancia de OmniProxy en ejecución y un ID de modelo de su lista de modelos actual. El ID del modelo es el nombre completo utilizado para seleccionar un modelo específico.
Instalación y primer inicio
Abre una terminal y ejecuta el comando del Inicio rápido. Primero reemplaza your-secret-key con el secreto que acabas de generar:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data -e WEBUI_SECRET_KEY=your-secret-key --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Las siguientes partes de este comando sirven para diferentes propósitos:
-p 3000:8080: Te permite abrir la interfaz a través del puerto 3000 en esta computadora. Si el puerto 3000 ya está en uso, cambia el número a la izquierda.-v open-webui:/app/backend/data: Almacena chats, usuarios y ajustes en un volumen de datos. Un volumen de datos es una ubicación fuera del contenedor donde los datos se conservan a largo plazo, por lo que su contenido permanece después de que el contenedor se actualiza. No elimines esta opción.--add-host=host.docker.internal:host-gateway: Permite que el contenedor acceda a otros servicios que se ejecutan en esta computadora.--restart always: Inicia el contenedor de nuevo después de que la computadora se reinicie.
Después de que el comando termine, abre http://localhost:3000 en un navegador y sigue las instrucciones en pantalla para crear la primera cuenta.
Si solo necesitas chatear a través de una API, puedes cambiar la etiqueta de la imagen de :main a :slim. slim es una imagen más pequeña que no incluye modelos locales de voz y embedding dentro del contenedor, pero la interfaz de chat permanece disponible. Continúa usando :main si necesitas esas capacidades locales.
Para actualizaciones manuales, primero ejecuta docker rm -f open-webui, luego ejecuta docker pull ghcr.io/open-webui/open-webui:main y reinícialo con el mismo comando docker run. Mantén tanto el volumen de datos como WEBUI_SECRET_KEY sin cambios.
Si Docker no está disponible
El Inicio rápido también proporciona un método de instalación de Python. El 09-10-2026, se utilizó el siguiente comando en macOS para instalar Open WebUI v0.11.4 y completar una conversación. Docker Desktop no estaba instalado en esa computadora en ese momento.
DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve
Después del inicio, abre http://localhost:8080 en un navegador. Este es el puerto utilizado por la instalación de Python, no el puerto 3000 de Docker.
Se descarga un modelo de embedding durante el primer inicio, lo que puede tardar varios minutos. Un modelo de embedding convierte texto en datos que son más fáciles de buscar y comparar. Espera a que aparezca la página de inicio de sesión antes de continuar. La primera cuenta registrada se convierte en el administrador. El idioma de la interfaz sigue el idioma del sistema; el chino simplificado se mostró durante esta prueba.
DATA_DIR debe apuntar a un directorio que se conservará a largo plazo y se utilizará para almacenar los datos de Open WebUI. Si no se establece, los datos pueden almacenarse en un directorio temporal y perderse después del apagado. Si WEBUI_SECRET_KEY no se establece, el programa escribe .webui_secret_key en el directorio actual. Inícialo desde un directorio que pretendas conservar, o establece esta variable tú mismo.
Obtener detalles de conexión de OmniProxy
Copia los siguientes tres elementos de tu propia instancia de OmniProxy:
URL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: Copy from the current OmniProxy model list
La URL es la dirección que Open WebUI utiliza para conectarse al endpoint y debe terminar con /v1. No añadas /chat/completions después de ella; Open WebUI añade esa parte automáticamente.
Copia el ID completo del modelo de la lista actual de OmniProxy. Si el ID incluye un prefijo de fuente y una barra diagonal, consérvalos también. Los siguientes dos nombres cortos son solo referencias de la documentación del proveedor al 09-10-2026. No los uses si no están en la lista actual:
- ID de API de Claude para Claude Sonnet 5.5:
claude-sonnet-5-5 - Nombre de API para Gemini 3.8 Flash:
gemini-3.8-flash
No ingreses una clave de proveedor en Open WebUI. Si el gateway no valida las claves, deja la clave API en blanco en lugar de inventar otra clave.
Navegador
Puerto local 3000
- Abrir la página de chat
- Completar el registro primero
- Luego abrir ajustes
Dentro del contenedor
Open WebUI
- No usar localhost
- Usar el nombre de la máquina host en su lugar
- La URL termina con /v1
Misma computadora
OmniProxy
- Mantener la clave en el gateway
- Usar la lista de modelos del gateway
- Luego revisar los registros de solicitudes
Si el servicio de modelo se ejecuta en el host mientras Open WebUI se ejecuta en un contenedor Docker, reemplaza localhost en la URL con host.docker.internal. El host es la computadora que ejecuta Docker directamente. Si OmniProxy escucha solo en esta computadora, la URL se puede escribir como http://host.docker.internal:port/v1, reemplazando port con el puerto que OmniProxy realmente utiliza.
Si Open WebUI se ejecuta localmente a través del comando de Python en la sección anterior y OmniProxy también se ejecuta localmente, usa 127.0.0.1 o localhost en la dirección. No uses host.docker.internal en este caso.
Ingresar la configuración
En la interfaz de chino simplificado de la v0.11.4 probada el 09-10-2026, los nombres diferían de Settings > Admin > Connections en las instrucciones en inglés. Sigue las opciones que se muestran en la interfaz probada, traducidas a continuación:
- Expande la barra lateral izquierda.
- Haz clic en el menú de usuario en la parte inferior.
- Haz clic en Settings.
- En la sección de administrador a continuación, haz clic en External Connections.
- Abre OpenAI API.
- Haz clic en + a la derecha de Manage OpenAI API Connections.
- En el cuadro de diálogo Edit Connection, ingresa la URL que termina en
/v1. Mantén el tipo de API establecido en Chat Completions. - Mantén Authentication Method establecido en Key (Bearer). La autenticación Bearer coloca la clave API en la solicitud para la verificación de identidad. Si OmniProxy te dio una clave, ingrésala bajo API Key. Si el gateway no valida las claves, deja este campo en blanco. El 09-10-2026, tanto la validación como una conversación tuvieron éxito con el campo dejado en blanco.
- Haz clic en Verify Connection junto a la URL. Si OmniProxy proporciona
/models, la lista de modelos se recuperará aquí. - Abre Advanced. Si Model ID se deja en blanco, se utilizarán todos los modelos devueltos por
/modelsen esa dirección. Solo si la validación falla, ingresa un ID completo de la lista bajo Add Model ID, luego haz clic en Add. Añade cada ID solo una vez; los espacios iniciales y finales se eliminan. - Haz clic en Save en esta ventana, luego haz clic en Save en la esquina inferior derecha de la página External Connections.
Guardar la configuración por sí sola no reemplaza la validación. Verify Connection solicita el endpoint /models del otro servicio, que enumera los modelos disponibles. Algunos servicios no proporcionan este endpoint, por lo que la validación puede informar un error aunque el chat aún pueda funcionar. En ese caso, añade el ID del modelo manualmente.
Verificar una tarea real
Regresa a la página de chat, abre el menú de modelos junto al cuadro de entrada y selecciona el ID completo de la lista de OmniProxy. Envía un mensaje muy corto, como pedirle que responda con una sola palabra. Debe aparecer una respuesta real en el cuadro de chat.
El 09-10-2026, esta conversación se completó utilizando la instalación de Python de la v0.11.4. Docker sigue siendo el método recomendado, pero la prueba no se repitió en Docker.
A continuación, abre los registros de solicitudes de OmniProxy y confirma la fuente y el ID del modelo para esta solicitud. Ver solo un guardado exitoso, o ver solo el modelo en el menú, no cuenta como finalización.
Interfaz
El modelo se puede seleccionar
- Las conexiones se han guardado
- El modelo aparece en la lista
- Enviar una pregunta corta
Respuesta
El cuadro de chat muestra una respuesta
- No es un mensaje en blanco
- No es un error de conexión
- Intentar de nuevo con otro modelo
Registros
Visible en el gateway
- La fuente es esta conexión
- El ID del modelo coincide
- No se ingresó ninguna clave en la página
Errores comunes
- Se usó
localhosto127.0.0.1dentro del contenedor: Estas direcciones apuntan al contenedor mismo, no al host. Cambia la dirección ahost.docker.internaly confirma que el comando de inicio incluya--add-host=host.docker.internal:host-gateway. Lo inverso se aplica cuando Open WebUI no se ejecuta en un contenedor: usa una dirección local en su lugar. - El navegador no puede abrir la página: Para Docker, comprueba el puerto 3000; para Python, comprueba el puerto 8080. Durante el primer inicio, espera a que finalice la descarga del modelo de embedding. Puedes usar
docker pspara confirmar si el contenedor está en ejecución. Si el puerto 3000 ya está en uso, cambia el puerto en el lado izquierdo de-p. - El ID en el menú de modelos es más largo que el nombre corto del proveedor: Usa el ID completo del menú, incluyendo cualquier barra diagonal.
- Todos cierran sesión después de una actualización:
WEBUI_SECRET_KEYcambió. Reinicia usando el secreto generado la primera vez. - Verify Connection falla: Primero añade manualmente el ID del modelo bajo Advanced, luego confírmalo con un chat real de una oración. Algunos servicios no proporcionan
/models, por lo que el chat puede seguir funcionando cuando la validación informa un error. - El modelo no existe: Copia el ID de nuevo de la lista actual de OmniProxy en lugar de seguir usando un nombre desactualizado.
Referencias oficiales
Para comandos de instalación, consulta Open WebUI Quick Start. Para los pasos de conexión, consulta las OpenAI-compatible connection instructions. Para los IDs de modelo usados en los ejemplos, consulta el Claude model overview y Gemini model list.
Reemplaza cada marcador de posición con valores de tu propia configuración de OmniProxy. Nunca publiques una clave real.
Un resultado guardado o HTTP 200 por sí solo no prueba la compatibilidad completa del Agente. Verifica el origen y el modelo en el registro de llamadas de OmniProxy.