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 introduciendo los detalles de conexión paso a paso.
Open WebUI es una interfaz de chat autohospedada que se puede instalar en tu propio ordenador 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 empezar
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 conocer 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
- Menor tamaño de descarga
- Cambia la etiqueta a :slim
- La funcionalidad de chat permanece disponible
No cubierto aquí
Otras dos opciones
- Instalación manual de Python
- Despliegue en Kubernetes
- Consulta el Inicio rápido oficial
Antes de empezar, prepara lo siguiente:
- Docker instalado y en ejecución.
- Una cadena secreta utilizada solo por ti. Ejecuta
openssl rand -hex 32para generar una, luego introdúcela comoWEBUI_SECRET_KEY. Guarda este valor permanentemente. Si lo cambias al reconstruir el contenedor, los usuarios que ya hayan iniciado sesión cerrarán la 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 sustituye your-secret-key por 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 este ordenador. Si el puerto 3000 ya está en uso, cambia el número de 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 se actualice el contenedor. No elimines esta opción.--add-host=host.docker.internal:host-gateway: Permite que el contenedor acceda a otros servicios que se ejecutan en este ordenador.--restart always: Inicia el contenedor de nuevo después de que el ordenador 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. Sigue usando :main si necesitas esas capacidades locales.
Para actualizaciones manuales, ejecuta primero 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 ese ordenador 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; 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 a fecha de 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 introduzcas una clave de proveedor en Open WebUI. Si la 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
Mismo ordenador
OmniProxy
- Mantener la clave en la gateway
- Usar la lista de modelos de la gateway
- Luego revisar los registros de solicitudes
Si el servicio de modelos se ejecuta en el host mientras Open WebUI se ejecuta en un contenedor Docker, sustituye localhost en la URL por host.docker.internal. El host es el ordenador que ejecuta Docker directamente. Si OmniProxy escucha solo en este ordenador, la URL puede escribirse como http://host.docker.internal:port/v1, sustituyendo port por el puerto que OmniProxy utiliza realmente.
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.
Introducir la configuración
En la interfaz en 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, introduce 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, introdúcela bajo API Key. Si la 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, se recuperará la lista de modelos 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, introduce 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í solo 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 de un error aunque el chat pueda seguir funcionando. En ese caso, añade el ID del modelo manualmente.
Verificar una tarea real
Vuelve 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
- Connections se ha 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 la gateway
- La fuente es esta conexión
- El ID del modelo coincide
- No se introdujo ninguna clave en la página
Errores comunes
- Se utilizó
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 incluye--add-host=host.docker.internal:host-gateway. Lo contrario 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 termine la descarga del modelo de embedding. Puedes usar
docker pspara confirmar si el contenedor se está ejecutando. 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 frase. Algunos servicios no proporcionan
/models, por lo que el chat puede seguir funcionando cuando la validación informa de 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 los 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 utilizados 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 total del Agente. Comprueba el origen y el modelo en el registro de llamadas de OmniProxy.