AI-translated from English; not yet reviewed by a fluent editor.

# Configura Ollama, Open WebUI y Continue en un mismo Mac

> Descarga un modelo local en Ollama, conecta el chat persistente de Open WebUI y Continue en VS Code, comprueba una respuesta del navegador y revisa una modificación de un archivo propio.

By BIG CHANGE Editorial

Published: 2026-10-21T07:20:39.085Z
Updated: 2026-10-21T07:20:39.085Z
Canonical: https://bigchange.ai/blog/ollama-open-webui-continue-local-stack-guide

![Conceptual charcoal illustration of one open laptop with two empty work areas on its screen, one light and one dark.](https://bigchange.ai/api/media/file/mac-local-browser-editor-hero-v2.png)
AI-generated conceptual illustration by BIG CHANGE.

Esta guía es para quien tenga un Mac, permiso para instalar aplicaciones y un archivo de prueba propio sin información sensible. Descargarás un modelo en Ollama, conectarás un chat persistente de Open WebUI y la extensión Continue de VS Code al mismo servicio, y revisarás una modificación propuesta antes de decidir si conservarla. Los comandos y comprobaciones siguen la documentación actual de los desarrolladores; BIG CHANGE no ha ejecutado este conjunto ni medido su velocidad, coste o tráfico de red.

## El gran cambio

- **Qué cambia:** Un modelo Ollama descargado puede servir tanto a un chat del navegador como a un asistente de edición de VS Code mediante su API local. Cada cliente necesita su propia comprobación de conexión.
- **Por qué importa:** Una sola instalación del modelo puede permitir una conversación y un cambio de código revisado en el mismo Mac, dejando la decisión final al propietario del archivo.
- **Qué vigilar:** El nombre de un modelo en un menú no demuestra qué servidor respondió. Comprueba la conexión al proveedor y las respuestas reales, especialmente si hay otros proveedores o funciones en la nube configurados.

## 1. Comprueba el Mac y elige un modelo

Necesitas [macOS 14 o posterior para Ollama](https://docs.ollama.com/macos), [Docker Desktop para Mac](https://docs.docker.com/desktop/setup/install/mac-install/), VS Code con la [extensión Continue](https://docs.continue.dev/ide-extensions/install), y Python 3 para las pequeñas comprobaciones de JSON y archivos siguientes. Ollama admite ejecución en CPU y GPU de Apple M; en los Mac Intel su documentación solo indica CPU. Instala Ollama desde su descarga para Mac, mueve la aplicación a Applications, ábrela y permite su enlace de línea de comandos si se solicita. Instala e inicia Docker Desktop y después instala Continue desde la vista Extensions de VS Code. Instala Python 3 desde [Python.org](https://www.python.org/downloads/macos/) si `python3` no está disponible. En un Mac, VS Code no añade automáticamente `code` a la ruta de búsqueda del shell. Sigue sus [instrucciones de instalación para Mac](https://code.visualstudio.com/docs/setup/mac): abre Command Palette con **Cmd+Shift+P**, ejecuta **Shell Command: Install 'code' command in PATH**y reinicia Terminal. Confirma que están disponibles las herramientas que usarás:

```bash
sw_vers -productVersion
ollama --version
docker version
code --version
python3 --version
```

Anota las versiones instaladas. Detente si alguna aplicación no está en marcha o el Mac no tiene espacio para el modelo y los datos de Docker. La [ficha del modelo qwen2.5-coder:7b](https://ollama.com/library/qwen2.5-coder:7b) indica actualmente una descarga de 4,7 GB y licencia Apache 2.0. Ese tamaño no representa toda la memoria necesaria para ejecutarlo. Es un ejemplo concreto de esta guía, no una recomendación válida para todos los Mac. Si hace falta, elige una etiqueta local más pequeña y documentada, y sustituye `qwen2.5-coder:7b` por esa etiqueta exacta en cada comando, selección del navegador y campo YAML siguientes. Comprueba también la licencia del modelo sustituto.

Descarga el modelo y confirma que Ollama muestra su etiqueta exacta:

```bash
ollama pull qwen2.5-coder:7b
ollama list
curl --fail-with-body --silent --show-error http://127.0.0.1:11434/api/tags | python3 -c 'import json,sys; d=json.load(sys.stdin); print([m["name"] for m in d["models"]])'
```

La lista debe contener `qwen2.5-coder:7b`. A continuación pide a la [API de chat local](https://docs.ollama.com/api/chat) una respuesta breve. El comando falla ante un error HTTP y comprueba el modelo devuelto y que el contenido del asistente no esté vacío; las palabras exactas de la respuesta no importan. La [opción de ejecución de Ollama](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml) `num_predict` limita esta comprobación a 64 tokens generados. Una frase truncada puede demostrar que llegó contenido; una respuesta vacía hace fallar la comprobación y requiere investigación.

```bash
set -o pipefail
curl --fail-with-body --silent --show-error http://127.0.0.1:11434/api/chat \
  -H 'Content-Type: application/json' \
  -d '{"model":"qwen2.5-coder:7b","messages":[{"role":"user","content":"Reply with one short sentence about checking a local connection."}],"stream":false,"options":{"num_predict":64}}' \
  | python3 -c 'import json,sys; d=json.load(sys.stdin); assert d.get("model")=="qwen2.5-coder:7b",d.get("model"); assert d.get("message",{}).get("content","").strip(); print("Model:",d["model"],"Reply:",d["message"]["content"])'
```

Si falta la etiqueta, termina la descarga y vuelve a consultar la lista. Si la API es inaccesible, inicia Ollama y consulta su [registro del servidor en Mac](https://docs.ollama.com/macos) en `~/.ollama/logs/server.log`. Una etiqueta descargada y una respuesta local correcta completan la primera de tres comprobaciones.

## 2. Inicia Open WebUI con datos locales persistentes

La [guía de inicio rápido de Open WebUI](https://docs.openwebui.com/getting-started/quick-start/) guarda cuentas, ajustes y conversaciones en `/app/backend/data` y exige un valor fijo de `WEBUI_SECRET_KEY`. Aquí usamos la [versión estable v0.12.3](https://github.com/open-webui/open-webui/releases/tag/v0.12.3) en vez de la etiqueta cambiante `main` . Docker seleccionará la imagen para la arquitectura del Mac; registra su identidad tras descargarla.

Inspecciona primero los nombres usados aquí. Si alguno ya existe, revisa ese contenedor o volumen y determina si pertenece a una instalación anterior. No sustituyas un contenedor ni elimines su volumen solo para que funcione este comando.

```bash
docker ps -a --filter name=^/bc-open-webui$ 
docker volume inspect bc-open-webui-data
```

En una primera instalación es normal que el segundo comando indique que el volumen no existe. Los siguientes pasos guardan una clave generada en un archivo privado de tu cuenta de Mac. Consérvalo de forma segura para recrear el contenedor. No envíes su contenido a un repositorio, no lo pegues ni lo compartas. Si ya tienes una clave para esta instancia, sigue usando la misma.

```bash
mkdir -p "$HOME/.config/bc-open-webui"
chmod 700 "$HOME/.config/bc-open-webui"
umask 077
if [ ! -s "$HOME/.config/bc-open-webui/webui-secret" ]; then
  openssl rand -hex 32 > "$HOME/.config/bc-open-webui/webui-secret"
fi
chmod 600 "$HOME/.config/bc-open-webui/webui-secret"
export WEBUI_SECRET_KEY="$(cat "$HOME/.config/bc-open-webui/webui-secret")"
docker pull ghcr.io/open-webui/open-webui:v0.12.3
docker image inspect ghcr.io/open-webui/open-webui:v0.12.3 --format '{{json .RepoDigests}}'
docker volume create bc-open-webui-data
docker run -d --name bc-open-webui --restart unless-stopped \
  -p 127.0.0.1:3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v bc-open-webui-data:/app/backend/data \
  -e WEBUI_SECRET_KEY \
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
  ghcr.io/open-webui/open-webui:v0.12.3
unset WEBUI_SECRET_KEY
docker ps --filter name=^/bc-open-webui$ --format 'table {{.Names}}\t{{.Image}}\t{{.Ports}}'
```

La salida de puertos debe mostrar `127.0.0.1:3000->8080/tcp`. El volumen con nombre conserva conversaciones y ajustes al recrear el contenedor. La clave protege la continuidad de las sesiones y los valores cifrados de la aplicación, así que conserva su copia privada. La configuración del contenedor puede exponer variables de entorno a quienes tengan acceso a Docker; es una instalación local para una persona, no un almacén de secretos de un servidor compartido.

Abre `http://127.0.0.1:3000` en el navegador. En el primer inicio crea la cuenta de administrador. En el menú del avatar abre **Settings → Admin → Connections**. Revisa **Manage Ollama API Connections** y deja una sola conexión habilitada a `http://host.docker.internal:11434`; elimina o desactiva los proveedores que no correspondan a esta comprobación. Open WebUI [puede repartir peticiones entre varias conexiones Ollama](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/), así que un nombre coincidente en el desplegable no basta. Selecciona `qwen2.5-coder:7b` en una conversación nueva y pregunta: «¿Cómo puedo comprobar que respondió un modelo local?». Confirma que aparece una respuesta no vacía y vuelve a abrir la conversación guardada. Anota el modelo seleccionado y la URL de conexión. Esta es la comprobación del navegador; no se exige una respuesta concreta.

Si la página no carga, revisa `docker logs bc-open-webui` y la vinculación del puerto. Si la lista de modelos está vacía, comprueba que Ollama sigue respondiendo a `/api/tags`, revisa la conexión guardada de Open WebUI y prueba si esta versión de Docker Desktop alcanza el servicio del Mac anfitrión. `host.docker.internal` es [la dirección del anfitrión en Docker Desktop](https://docs.docker.com/desktop/features/networking/), mientras que `localhost` dentro de un contenedor se refiere al propio contenedor. Ollama [se vincula a 127.0.0.1 por defecto](https://docs.ollama.com/faq); la comunicación entre anfitrión y contenedor puede variar según la configuración. No consideres exitosa una conexión fallida ni expongas Ollama en `0.0.0.0` como solución habitual. Resuelve la ruta de red local conforme a tu política de seguridad antes de continuar. Conserva el volumen y las conversaciones existentes durante el diagnóstico.

## 3. Conecta Continue a la misma etiqueta Ollama

Continue se ejecuta en VS Code en el Mac, por lo que la dirección de su API Ollama es `http://localhost:11434`. Abre Continue, usa el desplegable de configuración situado arriba a la derecha del cuadro de chat y pulsa el engranaje junto a **Local Config**. Esto abre `~/.continue/config.yaml`; la [referencia actual de Continue](https://docs.continue.dev/reference) utiliza YAML. Guarda una copia de cualquier configuración existente y conserva los modelos o reglas que aún necesites. Para una configuración local nueva, este es el contenido mínimo completo:

```yaml
name: Local Ollama check
version: 1.0.0
schema: v1
models:
  - name: Qwen2.5 Coder 7B local
    provider: ollama
    model: qwen2.5-coder:7b
    apiBase: http://localhost:11434
    roles:
      - chat
      - edit
```

En un archivo existente, añade esta entrada de modelo a su lista `models:` y conserva la configuración superior actual. Guarda, selecciona **Local Config** y el modelo local con nombre, y formula una pregunta breve en Continue Chat. Confirma que devuelve contenido. Esto comprueba la conexión de la extensión, pero una respuesta de chat no es una edición del archivo. Los roles `chat` y `edit` habilitan las dos acciones usadas aquí; esta receta no promete funciones Agent ni autocompletado.

Crea un directorio y un archivo de prueba propios con un comportamiento sencillo que puedas comprobar por separado. El comando preserva un archivo o copia original existente; examínalos o elige otro directorio si alguno de los nombres ya está en uso:

```bash
mkdir -p "$HOME/continue-local-check"
if [ -e "$HOME/continue-local-check/greeting.py" ] || [ -e "$HOME/continue-local-check/greeting.original.py" ]; then
  printf '%s\n' 'Scratch file already exists; inspect it or choose a new directory.'
else
  cat > "$HOME/continue-local-check/greeting.py" <<'PY'
def greeting(name):
    return "Hello, " + name

if __name__ == "__main__":
    assert greeting("Ada") == "Hello, Ada"
    print(greeting("Ada"))
PY
  if python3 "$HOME/continue-local-check/greeting.py"; then
    cp "$HOME/continue-local-check/greeting.py" "$HOME/continue-local-check/greeting.original.py"
  else
    printf '%s\n' 'Original check failed; inspect the file before requesting an edit.'
  fi
fi
```

La comprobación original debe imprimir `Hello, Ada` tras superar la aserción. Abre `greeting.py` en VS Code, selecciona solo la función y pulsa **Cmd+I** para [Continue Edit](https://docs.continue.dev/ide-extensions/edit/quick-start). Pídele una docstring breve sin modificar el texto devuelto. Revisa el diff integrado que aparece progresivamente comparándolo con `greeting.original.py`; Edit sobre código seleccionado puede incluir todo el archivo en el contexto, así que usa únicamente un archivo propio sin datos sensibles. El modelo podría cambiar más de lo solicitado. Examina cada línea modificada y acepta una propuesta adecuada con **Cmd+Opt+Y**, o recházala con **Cmd+Opt+N**. Continue también ofrece controles para aceptar o rechazar todo, pero un diff pequeño facilita revisar un cambio cada vez.

Tras aceptar, guarda el archivo y ejecuta:

```bash
diff -u "$HOME/continue-local-check/greeting.original.py" "$HOME/continue-local-check/greeting.py" || true
python3 "$HOME/continue-local-check/greeting.py"
```

Comprueba que el diff solo contiene el cambio previsto y que la aserción original sigue pasando. Si rechazas la propuesta, verifica que el archivo coincide con el original y registra el rechazo; no declares una edición completada. El archivo, el diff y la comprobación independiente de Python muestran lo ocurrido de forma más fiable que la descripción del modelo.

## 4. Mantén claros los límites

Ollama, Open WebUI y Continue tienen ajustes independientes. Para desactivar únicamente la nube de Ollama, añade el siguiente campo al `~/.ollama/server.json`de la cuenta que ejecuta el servidor Ollama, conservando los campos JSON existentes. Si es un archivo nuevo, este es todo su contenido:

```json
{
  "disable_ollama_cloud": true
}
```

Reinicia la aplicación Ollama y después revisa su registro del servidor:

```bash
grep 'Ollama cloud disabled: true' "$HOME/.ollama/logs/server.log"
```

La [FAQ de Ollama](https://docs.ollama.com/faq) documenta esa línea del registro. Si no aparece, vuelve a comprobar qué cuenta de Mac ejecuta Ollama, el JSON y el reinicio antes de afirmar que la nube está desactivada. Este ajuste no inspecciona otros proveedores de Open WebUI, sus funciones opcionales en línea ni el tráfico de Continue. La [guía sin conexión](https://docs.continue.dev/guides/running-continue-without-internet) de Continue indica que desactives **Allow Anonymous Telemetry**, uses modelos locales y reinicies VS Code. Revisa las conexiones de cada aplicación antes de utilizar información sensible. Una URL de bucle local no constituye por sí sola una auditoría de red.

Comprueba la [licencia de Docker Desktop](https://docs.docker.com/subscription-billing/desktop-license/) para tu uso real. Es gratuito para uso personal, educativo y de código abierto no comercial, así como para pequeñas empresas con **menos de 250 empleados Y menos de 10 millones de dólares de ingresos anuales**. El uso profesional en organizaciones mayores y administraciones exige suscripción de pago. La licencia Apache 2.0 del modelo es independiente. El espacio, la memoria, el ancho de banda y la electricidad siguen siendo recursos necesarios; esta guía no midió costes ni rendimiento.

Para una explicación limitada al terminal y la API de Ollama, consulta [Ejecuta un modelo Ollama local y comprueba su API de chat](https://bigchange.ai/blog/run-local-ollama-model-chat-api-guide). [Realiza un cambio comprobado en Claude Code con un modelo Ollama local](https://bigchange.ai/blog/claude-code-local-ollama-checked-change-guide) trata otro cliente de programación.

## Fuentes y lecturas adicionales

- [Requisitos de macOS para Ollama](https://docs.ollama.com/macos), [API de chat](https://docs.ollama.com/api/chat), [API de lista de modelos](https://docs.ollama.com/api/tags) y [FAQ](https://docs.ollama.com/faq): límites de instalación, campos observables de la API, escucha por defecto y ajuste de nube específico de Ollama. Consultados el 21 de octubre de 2026.
- [Especificación de la API Ollama](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml): el campo de ejecución `options.num_predict` limita la breve comprobación de chat local. Una respuesta limitada puede terminar a mitad de frase. Consultada el 21 de octubre de 2026.
- [Ficha del modelo Qwen2.5-Coder 7B](https://ollama.com/library/qwen2.5-coder:7b): etiqueta de ejemplo, descarga indicada y licencia. Comprueba la información actual de la etiqueta y los recursos disponibles del Mac antes de descargar. Consultada el 21 de octubre de 2026.
- [Inicio rápido de Open WebUI](https://docs.openwebui.com/getting-started/quick-start/), [Guía de conexión de Ollama](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/) y [versión v0.12.3](https://github.com/open-webui/open-webui/releases/tag/v0.12.3): almacenamiento y clave del contenedor, ajustes de proveedores e identidad de la versión estable. Documentan un procedimiento, no demuestran que este Mac concreto se conectó correctamente. Consultados el 21 de octubre de 2026.
- [Configuración de Continue](https://docs.continue.dev/customize/deep-dives/configuration), [referencia YAML](https://docs.continue.dev/reference), [inicio rápido de Edit](https://docs.continue.dev/ide-extensions/edit/quick-start) y [guía sin conexión](https://docs.continue.dev/guides/running-continue-without-internet): ruta y claves actuales, controles de edición y ajuste de telemetría. Consultados el 21 de octubre de 2026.
- [Red de Docker Desktop](https://docs.docker.com/desktop/features/networking/), [instalación en Mac](https://docs.docker.com/desktop/setup/install/mac-install/) y [licencia](https://docs.docker.com/subscription-billing/desktop-license/): dirección del anfitrión, instalación y límites de uso empresarial. Comprueba las condiciones vigentes para tu organización. Consultados el 21 de octubre de 2026.
- [Configuración de VS Code en Mac](https://code.visualstudio.com/docs/setup/mac) y [descargas de Python 3](https://www.python.org/downloads/macos/): instalación opcional del comando shell e intérprete usado en las comprobaciones. Consultados el 21 de octubre de 2026.

## Sources

- [Ollama en macOS](https://docs.ollama.com/macos) — Documenta compatibilidad con macOS 14+, CPU/GPU Apple M frente a Intel solo CPU, instalación, enlace CLI y ruta del registro local del servidor. No demuestra que el Mac del lector tenga memoria suficiente.
- [FAQ de Ollama](https://docs.ollama.com/faq) — Documenta la vinculación por defecto a 127.0.0.1:11434, el ajuste para desactivar solo la nube de Ollama, el reinicio necesario y la verificación de su registro. No audita otras aplicaciones.
- [API de chat Ollama](https://docs.ollama.com/api/chat) — Documenta POST /api/chat, model/messages de la petición y los campos model y contenido del asistente devueltos. El artículo exige al lector comprobar una respuesta real; BIG CHANGE no la solicitó.
- [API de lista de modelos Ollama](https://docs.ollama.com/api/tags) — Documenta GET /api/tags y models[].name, usados para verificar localmente la etiqueta exacta descargada antes de conectar otros clientes.
- [Ficha de Qwen2.5-Coder 7B](https://ollama.com/library/qwen2.5-coder:7b) — Indica qwen2.5-coder:7b, descarga de 4,7 GB y licencia Apache 2.0. El tamaño de descarga no es toda la memoria de ejecución necesaria ni un resultado de rendimiento.
- [Inicio rápido de Open WebUI](https://docs.openwebui.com/getting-started/quick-start/) — Documenta el procedimiento Docker run, el volumen persistente /app/backend/data, WEBUI_SECRET_KEY fijo y la primera cuenta del navegador. El artículo fija una versión y pide comprobar el puerto real.
- [Conexión Ollama de Open WebUI](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/) — Documenta Settings > Admin > Connections, la URL Ollama del anfitrión Docker y el posible reparto entre varias conexiones. La etiqueta seleccionada no demuestra por sí sola la ruta.
- [Versión v0.12.3 de Open WebUI](https://github.com/open-webui/open-webui/releases/tag/v0.12.3) — Página oficial de la versión estable correspondiente a la etiqueta usada. Docker selecciona una imagen de plataforma; el lector registra el digest realmente instalado.
- [Referencia YAML de Continue](https://docs.continue.dev/reference) — Define name/version/schema superiores obligatorios y name/provider/model del modelo, apiBase opcional y roles chat/edit. La receta evita claves JSON obsoletas.
- [Continue Local Config](https://docs.continue.dev/customize/deep-dives/configuration) — Documenta la ruta de Mac ~/.continue/config.yaml, el engranaje Local Config y la actualización automática al guardar. Debe conservarse la configuración existente.
- [Inicio rápido de Continue Edit](https://docs.continue.dev/ide-extensions/edit/quick-start) — Documenta Cmd+I Edit sobre código seleccionado, diff integrado progresivo y atajos de aceptación y rechazo en Mac. El lector debe revisar el cambio completo y repetir la comprobación original.
- [Guía sin conexión de Continue](https://docs.continue.dev/guides/running-continue-without-internet) — Documenta Allow Anonymous Telemetry, selección de modelos locales y reinicio de VS Code. No demuestra que todo el tráfico de la aplicación sea local.
- [Red de Docker Desktop](https://docs.docker.com/desktop/features/networking/) — Documenta host.docker.internal y publicación de puertos en el bucle local del anfitrión. La accesibilidad del Ollama ligado al bucle local de este Mac aún debe comprobarse con la respuesta del navegador.
- [Instalación de Docker Desktop en Mac](https://docs.docker.com/desktop/setup/install/mac-install/) — Documenta la instalación en Mac compatibles y los recursos mínimos; no demuestra capacidad suficiente para el modelo y las aplicaciones juntos.
- [Licencia de Docker Desktop](https://docs.docker.com/subscription-billing/desktop-license/) — Documenta los usos gratuitos personales, educativos y de código abierto no comerciales y la condición de pequeñas empresas de menos de 250 empleados Y menos de 10 millones de dólares de ingresos anuales; el uso profesional mayor y gubernamental es de pago.
- [Descargas de Python 3 para macOS](https://www.python.org/downloads/macos/) — Fuente oficial del instalador Python 3 para las comprobaciones de JSON y archivos del lector. BIG CHANGE no instaló ni ejecutó Python para este artículo.
- [Especificación de la API Ollama](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml) — Define options.num_predict como máximo de tokens generados, usado para limitar a 64 la única petición de prueba de chat local; una respuesta no vacía puede acabar a mitad de frase.
- [Configuración de VS Code en Mac](https://code.visualstudio.com/docs/setup/mac) — Documenta la instalación manual del comando shell code en Mac mediante Command Palette y el reinicio del terminal necesario antes de code --version.
