AI-translated from English; not yet reviewed by a fluent editor.
# Настройте Ollama, Open WebUI и Continue на одном Mac
> Скачайте локальную модель в Ollama, подключите сохраняемый чат Open WebUI и Continue в VS Code, затем проверьте ответ в браузере и предложенную правку собственного файла.
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

AI-generated conceptual illustration by BIG CHANGE.
Это руководство для владельца Mac, у которого есть разрешение устанавливать приложения и использовать собственный пробный файл без конфиденциальных данных. Вы скачаете одну модель в Ollama, подключите сохраняемый браузерный чат Open WebUI и расширение Continue в VS Code к одному сервису выполнения, затем рассмотрите реальное предложение правки, прежде чем принять его. Команды и проверки основаны на актуальной документации разработчиков. BIG CHANGE не запускала эту конфигурацию и не измеряла скорость, расходы или сетевой трафик.
## Главное изменение
- **Что меняется:** Скачанная модель Ollama может через локальный API обслуживать и чат в браузере, и помощника редактирования в VS Code. Подключение каждого клиента нужно проверять отдельно.
- **Почему это важно:** Одна установка модели может поддерживать разговор и проверенное изменение кода на одном Mac, при этом окончательное решение остаётся у владельца файла.
- **На что обратить внимание:** Название модели в меню не доказывает, какой сервер ответил. Проверяйте подключение провайдера и реальные ответы, особенно если настроены другие провайдеры или облачные функции.
## 1. Проверьте Mac и выберите модель
Вам нужны [macOS 14 или новее для Ollama](https://docs.ollama.com/macos), [Docker Desktop для Mac](https://docs.docker.com/desktop/setup/install/mac-install/), VS Code с [расширением Continue](https://docs.continue.dev/ide-extensions/install)и Python 3 для небольших проверок JSON и файлов ниже. Ollama поддерживает выполнение на CPU и GPU Apple M; для Intel Mac документация указывает только CPU. Установите Ollama со страницы для Mac, переместите приложение в Applications, запустите и разрешите создать ссылку для командной строки, если появится запрос. Установите и запустите Docker Desktop, затем Continue через представление Extensions в VS Code. Установите Python 3 с [Python.org](https://www.python.org/downloads/macos/) , если `python3` недоступен. На Mac VS Code не добавляет `code` в путь поиска оболочки автоматически. Следуйте [инструкции настройки на Mac](https://code.visualstudio.com/docs/setup/mac): откройте Command Palette сочетанием **Cmd+Shift+P**, выполните **Shell Command: Install 'code' command in PATH**и перезапустите Terminal. Убедитесь, что нужные инструменты доступны:
```bash
sw_vers -productVersion
ollama --version
docker version
code --version
python3 --version
```
Запишите установленные версии. Остановитесь, если какое-либо приложение не работает или на Mac нет места для модели и данных Docker. На [странице модели qwen2.5-coder:7b](https://ollama.com/library/qwen2.5-coder:7b) сейчас указаны загрузка 4,7 GB и лицензия Apache 2.0. Размер загрузки не равен полной потребности в оперативной памяти. Это конкретный пример, а не рекомендация для любого Mac. При необходимости выберите документированный меньший локальный тег и замените `qwen2.5-coder:7b` этим точным тегом во всех командах, выборе в браузере и полях YAML ниже. Проверьте также лицензию другой модели.
Скачайте модель и убедитесь, что Ollama показывает точный тег:
```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"]])'
```
В списке должна быть `qwen2.5-coder:7b`. Затем запросите у [локального API чата](https://docs.ollama.com/api/chat) короткий ответ. Команда завершается ошибкой при HTTP-ошибке и проверяет возвращённую модель и непустое содержимое помощника; точная формулировка не важна. [Параметр выполнения Ollama](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml) `num_predict` ограничивает проверку 64 сгенерированными токенами. Даже обрезанное предложение может подтвердить получение содержимого; пустой ответ означает неудачу проверки и требует расследования.
```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"])'
```
Если тега нет, завершите скачивание и повторно проверьте список. Если API недоступен, запустите Ollama и посмотрите [журнал сервера на Mac](https://docs.ollama.com/macos) по пути `~/.ollama/logs/server.log`. Скачанный тег и успешный локальный ответ составляют первую из трёх проверок.
## 2. Запустите Open WebUI с постоянным локальным хранением
Это [краткое руководство Open WebUI](https://docs.openwebui.com/getting-started/quick-start/) сохраняет аккаунты, настройки и чаты в `/app/backend/data` и требует постоянного значения `WEBUI_SECRET_KEY`. Используем стабильный [выпуск v0.12.3](https://github.com/open-webui/open-webui/releases/tag/v0.12.3) вместо постоянно обновляемого тега `main` . Docker выберет образ для архитектуры Mac; после загрузки запишите его идентификатор.
Сначала проверьте используемые здесь имена. Если имя уже существует, изучите соответствующий контейнер или том и определите, относится ли он к прежней настройке. Не заменяйте существующий контейнер и не удаляйте его том лишь ради выполнения команды.
```bash
docker ps -a --filter name=^/bc-open-webui$
docker volume inspect bc-open-webui-data
```
При первой настройке нормально, если вторая команда сообщает об отсутствии тома. Следующие шаги сохраняют созданный ключ в закрытом файле аккаунта Mac. Храните его безопасно для повторного создания контейнера. Не отправляйте содержимое в репозиторий, не вставляйте его в сообщения и не делитесь им. Если ключ этой установки уже есть, продолжайте использовать его.
```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}}'
```
В выводе портов должно быть `127.0.0.1:3000->8080/tcp`. Именованный том сохраняет чаты и настройки при повторном создании контейнера. Ключ защищает непрерывность сеансов и зашифрованные значения приложения, поэтому сохраните его закрытую копию. Люди с доступом к Docker могут увидеть переменные окружения в конфигурации контейнера. Это локальная установка для одного пользователя, а не хранилище секретов общего сервера.
Откройте `http://127.0.0.1:3000` в браузере. При первом запуске создайте аккаунт администратора. В меню аватара откройте **Settings → Admin → Connections**. Проверьте **Manage Ollama API Connections** и оставьте одно включённое подключение к `http://host.docker.internal:11434`; удалите или выключите непредусмотренных провайдеров для этой проверки. Open WebUI [может распределять запросы между несколькими подключениями Ollama](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/), поэтому одного совпадающего имени в списке недостаточно. Выберите `qwen2.5-coder:7b` в новом чате и спросите: «Как проверить, что ответила локальная модель?» Убедитесь, что появился непустой ответ, затем снова откройте сохранённый чат. Запишите выбранную модель и URL подключения. Это проверка браузера; конкретный ответ не задан.
Если страница не загружается, проверьте `docker logs bc-open-webui` и привязку порта. Если список моделей пуст, убедитесь, что Ollama по-прежнему отвечает на `/api/tags`, изучите сохранённое подключение Open WebUI и проверьте, достигает ли эта версия Docker Desktop сервиса на Mac-хосте. `host.docker.internal` — это [адрес хоста Docker Desktop](https://docs.docker.com/desktop/features/networking/), а `localhost` внутри контейнера означает сам контейнер. Ollama [по умолчанию привязывается к 127.0.0.1](https://docs.ollama.com/faq); перенаправление между хостом и контейнером может различаться в зависимости от настроек. Не считайте неудачное подключение успешной установкой и не открывайте Ollama на `0.0.0.0` как стандартное исправление. Прежде чем продолжать, решите вопрос локального сетевого пути согласно своей политике безопасности. Сохраняйте том и существующие чаты при поиске ошибки.
## 3. Подключите Continue к тому же тегу Ollama
Continue работает в VS Code на Mac, поэтому адрес API Ollama — `http://localhost:11434`. Откройте Continue, воспользуйтесь списком конфигураций справа вверху поля чата и нажмите шестерёнку рядом с **Local Config**. Откроется `~/.continue/config.yaml`; [актуальная справка Continue](https://docs.continue.dev/reference) использует YAML. Сохраните копию существующей конфигурации и оставьте необходимые модели и правила. Для новой локальной конфигурации полный минимальный текст такой:
```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
```
В существующем файле добавьте эту модель в список `models:` и сохраните текущую конфигурацию верхнего уровня. Сохраните файл, выберите **Local Config** и именованную локальную модель, затем задайте короткий вопрос в Continue Chat. Убедитесь, что вернулось содержимое. Это проверяет подключение расширения, но ответ чата не является правкой файла. Роли `chat` и `edit` включают два используемых действия; инструкция не обещает функции Agent или автодополнение.
Создайте собственный пробный каталог и файл с простым поведением, которое можно проверить независимо. Команда сохраняет существующий файл или оригинальную копию; изучите их или выберите другой каталог, если имя уже занято:
```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
```
Исходная проверка после успешного утверждения должна вывести `Hello, Ada` . Откройте `greeting.py` в VS Code, выделите только функцию и нажмите **Cmd+I** для [Continue Edit](https://docs.continue.dev/ide-extensions/edit/quick-start). Попросите добавить короткую строку документации, не меняя возвращаемый текст. Сравните постепенно появляющийся встроенный diff с `greeting.original.py`; Edit для выделенного кода может включить в контекст весь файл, поэтому используйте только собственный файл без конфиденциальных данных. Модель может изменить больше, чем просили. Просмотрите каждую изменённую строку и примите подходящий вариант через **Cmd+Opt+Y**, либо отклоните через **Cmd+Opt+N**. В Continue также есть принятие и отклонение всех изменений, но небольшой diff удобнее разбирать по одному изменению.
После принятия сохраните файл и выполните:
```bash
diff -u "$HOME/continue-local-check/greeting.original.py" "$HOME/continue-local-check/greeting.py" || true
python3 "$HOME/continue-local-check/greeting.py"
```
Убедитесь, что diff содержит только нужное изменение, а исходное утверждение всё ещё проходит. Если вы отклонили предложение, проверьте совпадение с оригиналом и запишите отказ; не заявляйте о выполненной правке. Файл, diff и независимая проверка Python показывают результат надёжнее, чем описание самой модели.
## 4. Ясно обозначьте границы
У Ollama, Open WebUI и Continue отдельные настройки. Чтобы отключить только облако Ollama, добавьте следующее поле в `~/.ollama/server.json`аккаунта, запускающего сервер Ollama, сохранив имеющиеся поля JSON. Для нового файла полный текст такой:
```json
{
"disable_ollama_cloud": true
}
```
Перезапустите приложение Ollama и проверьте журнал сервера:
```bash
grep 'Ollama cloud disabled: true' "$HOME/.ollama/logs/server.log"
```
Эта [FAQ Ollama](https://docs.ollama.com/faq) описывает указанную строку журнала. Если её нет, перепроверьте запускающий Mac-аккаунт, JSON и перезапуск, прежде чем утверждать, что облачные функции выключены. Эта настройка не проверяет других провайдеров Open WebUI, дополнительные онлайн-функции и трафик Continue. [Руководство по автономной работе](https://docs.continue.dev/guides/running-continue-without-internet) Continue рекомендует выключить **Allow Anonymous Telemetry**, использовать локальные модели и перезапустить VS Code. Проверьте подключения каждого приложения до работы с чувствительными данными. Один loopback-URL не является сетевым аудитом.
Проверьте [лицензию Docker Desktop](https://docs.docker.com/subscription-billing/desktop-license/) для реального применения. Программа бесплатна для личного, образовательного и некоммерческого open-source использования, а также для малых предприятий с **менее чем 250 сотрудниками И годовым доходом менее 10 миллионов долларов**. Профессиональное применение в более крупных организациях и государственных учреждениях требует платной подписки. Лицензия модели Apache 2.0 действует отдельно. Диск, память, пропускная способность загрузки и электричество всё равно нужны; расходы и производительность для этого руководства не измерялись.
Более узкое руководство только по терминалу и API Ollama — [Запустите локальную модель Ollama и проверьте её API чата](https://bigchange.ai/blog/run-local-ollama-model-chat-api-guide). [Выполните одну проверенную правку Claude Code с локальной моделью Ollama](https://bigchange.ai/blog/claude-code-local-ollama-checked-change-guide) описывает другой клиент программирования.
## Источники и дополнительное чтение
- [Требования Ollama к macOS](https://docs.ollama.com/macos), [API чата](https://docs.ollama.com/api/chat), [API списка моделей](https://docs.ollama.com/api/tags) и [FAQ](https://docs.ollama.com/faq): ограничения установки, наблюдаемые поля API, стандартный адрес прослушивания и отдельная облачная настройка Ollama. Проверено 21 октября 2026 года.
- [Спецификация API Ollama](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml): поле выполнения `options.num_predict` ограничивает короткую проверку локального чата. Ограниченный ответ может закончиться посередине предложения. Проверено 21 октября 2026 года.
- [Карточка модели Qwen2.5-Coder 7B](https://ollama.com/library/qwen2.5-coder:7b): пример тега, указанный размер загрузки и лицензия. Перед скачиванием проверьте актуальные сведения и доступные ресурсы Mac. Проверено 21 октября 2026 года.
- [Быстрый старт Open WebUI](https://docs.openwebui.com/getting-started/quick-start/), [Руководство подключения Ollama](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/) и [выпуск v0.12.3](https://github.com/open-webui/open-webui/releases/tag/v0.12.3): хранилище и ключ контейнера, настройки провайдеров и идентичность стабильного выпуска. Это документы о настройке, а не доказательство успешного соединения этого Mac. Проверено 21 октября 2026 года.
- [Конфигурация Continue](https://docs.continue.dev/customize/deep-dives/configuration), [справка YAML](https://docs.continue.dev/reference), [быстрый старт Edit](https://docs.continue.dev/ide-extensions/edit/quick-start) и [автономное руководство](https://docs.continue.dev/guides/running-continue-without-internet): актуальные пути и ключи, управление правками и телеметрией. Проверено 21 октября 2026 года.
- [Сеть Docker Desktop](https://docs.docker.com/desktop/features/networking/), [установка на Mac](https://docs.docker.com/desktop/setup/install/mac-install/) и [лицензия](https://docs.docker.com/subscription-billing/desktop-license/): адрес хоста, установка и границы делового использования. Проверьте действующие условия организации. Проверено 21 октября 2026 года.
- [Настройка VS Code на Mac](https://code.visualstudio.com/docs/setup/mac) и [загрузки Python 3](https://www.python.org/downloads/macos/): необязательная установка команды оболочки и интерпретатор для проверок. Проверено 21 октября 2026 года.
## Sources
- [Ollama macOS](https://docs.ollama.com/macos) — Описывает macOS 14+, CPU/GPU Apple M в сравнении с Intel только CPU, установку приложения, CLI-ссылку и путь локального серверного журнала. Не подтверждает достаточную память Mac читателя.
- [Ollama FAQ](https://docs.ollama.com/faq) — Описывает стандартную привязку 127.0.0.1:11434, отключение только облака Ollama, необходимый перезапуск и проверку соответствующего журнала. Не проверяет другие приложения.
- [API чата Ollama](https://docs.ollama.com/api/chat) — Описывает POST /api/chat, model/messages запроса и возвращённые поля model и содержимого помощника. Статья требует реальной проверки ответа читателем; BIG CHANGE не отправляла запрос.
- [API списка моделей Ollama](https://docs.ollama.com/api/tags) — Описывает GET /api/tags и models[].name для локальной проверки точно скачанного тега перед подключением остальных клиентов.
- [Страница модели Qwen2.5-Coder 7B](https://ollama.com/library/qwen2.5-coder:7b) — Указывает qwen2.5-coder:7b, загрузку 4,7 GB и Apache 2.0. Размер загрузки не равен всей требуемой оперативной памяти и не является результатом производительности.
- [Быстрый старт Open WebUI](https://docs.openwebui.com/getting-started/quick-start/) — Описывает Docker run, постоянный том /app/backend/data, фиксированный WEBUI_SECRET_KEY и первый браузерный аккаунт. Статья фиксирует выпуск и требует проверить действительный порт.
- [Подключение Ollama в Open WebUI](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/) — Описывает Settings > Admin > Connections, Ollama URL Docker-хоста и возможную балансировку между соединениями. Выбранная подпись модели сама не доказывает маршрутизацию.
- [Выпуск Open WebUI v0.12.3](https://github.com/open-webui/open-webui/releases/tag/v0.12.3) — Официальная страница стабильного выпуска для используемого тега. Docker выбирает платформенный образ; читатель записывает digest реально установленного образа.
- [Справка YAML Continue](https://docs.continue.dev/reference) — Определяет обязательные name/version/schema верхнего уровня и name/provider/model модели, необязательный apiBase и роли chat/edit. Инструкция избегает устаревших JSON-ключей.
- [Continue Local Config](https://docs.continue.dev/customize/deep-dives/configuration) — Описывает Mac-путь ~/.continue/config.yaml, шестерёнку Local Config и автообновление после сохранения. Существующую конфигурацию следует сохранить.
- [Быстрый старт Continue Edit](https://docs.continue.dev/ide-extensions/edit/quick-start) — Описывает Cmd+I Edit выделенного кода, постепенный встроенный diff и сочетания принятия/отклонения на Mac. Читатель должен изучить весь вариант и повторить исходную проверку.
- [Автономное руководство Continue](https://docs.continue.dev/guides/running-continue-without-internet) — Описывает Allow Anonymous Telemetry, выбор локальной модели и перезапуск VS Code. Не доказывает, что весь трафик приложения остаётся локальным.
- [Сеть Docker Desktop](https://docs.docker.com/desktop/features/networking/) — Описывает host.docker.internal и публикацию портов на loopback хоста в Docker Desktop. Доступность Ollama на loopback этого Mac по-прежнему нужно подтвердить ответом браузера.
- [Установка Docker Desktop на Mac](https://docs.docker.com/desktop/setup/install/mac-install/) — Описывает установку на поддерживаемых Mac и базовые ресурсы; не подтверждает общую достаточную мощность для модели и приложений.
- [Лицензия Docker Desktop](https://docs.docker.com/subscription-billing/desktop-license/) — Описывает бесплатные личные, образовательные и некоммерческие open-source применения и условие малого бизнеса: менее 250 сотрудников И менее 10 миллионов долларов дохода в год. Более крупное профессиональное и государственное использование платное.
- [Загрузки Python 3 для macOS](https://www.python.org/downloads/macos/) — Официальный источник установщика Python 3 для проверки JSON и пробных файлов читателем. BIG CHANGE не устанавливала и не запускала Python для этой статьи.
- [Спецификация API Ollama](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml) — Определяет options.num_predict как максимальное число генерируемых токенов; единственная проба локального чата ограничена 64. Непустой ответ может оборваться посередине предложения.
- [Настройка VS Code Mac](https://code.visualstudio.com/docs/setup/mac) — Описывает ручную установку команды оболочки code через Command Palette на Mac и перезапуск терминала перед code --version.
Рассылка BIG CHANGE
Общая картина. В вашем темпе.
Свежие материалы об ИИ и робототехнике, важные перемены и практические идеи. Выберите ежедневную сводку, еженедельный дайджест или ежемесячный обзор.
Следующая запланированная отправка (UTC): . Первый выпуск придёт при следующей запланированной отправке после подтверждения подписки.
Ваша конфиденциальность — ваш выбор.
Необходимое хранилище помогает защитить сайт и запомнить ваши настройки. Необязательная Google Analytics отключена, пока вы её не разрешите. Все статьи доступны для чтения только с необходимым хранилищем. Подробнее о конфиденциальности