Свой ИИ без абонентских плат: как связать локальную LLM на MacBook и облачный VPS
Когда ИИ становится ежедневным инструментом для решения продуктовых задач — от проектирования метрик до фасилитации команд и построения архитектуры стартапа — встает вопрос стоимости и приватности. Запускать тяжелые пайплайны по конвертации PDF-документов и видео в интерактивные курсы через API коммерческих моделей дорого, а отдавать им чувствительные данные компании небезопасно.
Решение — развернуть мощную open-source модель прямо на своем железе. Но как сделать так, чтобы к ней имели доступ ваши облачные сервисы автоматизации, а вы сами могли писать промпты со смартфона из любой точки мира?
Ниже — пошаговый гайд по сборке гибридной ИИ-инфраструктуры, которая объединяет дешевый облачный VPS и вычислительную мощность вашего MacBook.
Архитектура решения
Мы не будем переносить саму нейросеть в облако. Аренда сервера с мощной видеокартой для работы тяжелых моделей обойдется в сотни долларов ежемесячно. Мы пойдем умным путем:
- Вычислительное ядро (Локально): MacBook Pro. Процессоры Apple Silicon идеально справляются с локальной генерацией. Здесь мы развернем Ollama и тяжелые модели вроде
qwen2.5-coder:14bилиdeepseek-r1:14b. - Оркестратор (В облаке): Дешевый VPS-сервер. Он работает 24/7 и крутит n8n — систему автоматизации, которая будет принимать внешние запросы, обрабатывать вебхуки и управлять бизнес-логикой.
- Мост (VPN): Tailscale. Защищенный туннель, который объединит облачный сервер и домашний ноутбук в единую виртуальную локальную сеть.
Шаг 1. Локальная нейросеть и фоновый режим на macOS
Первым делом устанавливаем Ollama на Mac и скачиваем нужную модель командой в терминале: ollama run qwen2.5-coder:14b.
По умолчанию Ollama принимает запросы только изнутри самого устройства (с localhost). Чтобы к ней мог достучаться облачный сервер, нужно открыть порты и сделать так, чтобы процесс не умирал при закрытии окна терминала. Настраиваем Ollama как системную службу (демона).
Создаем конфигурационный файл:
sudo nano /Library/LaunchAgents/com.ollama.server.plist
Вставляем в него следующие параметры, где ключевую роль играет OLLAMA_HOST="0.0.0.0" — разрешение принимать внешние подключения:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.ollama.server</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/ollama</string>
<string>serve</string>
</array>
<key>EnvironmentVariables</key>
<dict>
<key>OLLAMA_HOST</key>
<string>0.0.0.0</string>
</dict>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
launchctl bootstrap gui/$(id -u) /Library/LaunchAgents/com.ollama.server.plist
Теперь ваша модель всегда готова к работе в фоне, запускается вместе с системой и не боится сбоев. Обязательно зайдите в настройки аккумулятора macOS и включите запрет на переход в спящий режим при работе от сети.
Шаг 2. Настройка защищенного туннеля Tailscale
Чтобы VPS мог безопасно общаться с вашим Mac в обход провайдеров и серых IP-адресов, устанавливаем Tailscale на оба устройства и авторизуемся под одним аккаунтом.
MacBook получит постоянный внутренний IP-адрес (например, 100.75.31.60). Именно по нему облако будет отправлять задачи на генерацию.
Важный нюанс (Конфликт VPN-клиентов): Если на Mac вы параллельно используете VPN для обхода блокировок (например, десктопный клиент Amnezia), он неизбежно перехватит служебный трафик Tailscale. Статус изменится на Out of Sync, и туннель упадет.
Как это решить: Откажитесь от тяжелых десктопных VPN-клиентов, которые меняют глобальные системные маршруты macOS. Экспортируйте ваш конфиг-файл (.conf) и импортируйте его в официальное приложение WireGuard или AmneziaWG из Mac App Store. Эти легковесные клиенты работают точечно: они прозрачно шифруют внешний интернет-серфинг, позволяя Tailscale стабильно держать внутренний туннель без разрывов.
Шаг 3. Интеграция с n8n на VPS
Переходим на ваш облачный сервер, где развернут n8n. Мы будем использовать его для построения конвейеров: от парсинга данных до автоматических ответов в Telegram-ботах.
- Создаем новый Workflow.
- Добавляем узел Ollama Chat Model.
- В настройках узла в поле Base URL прописываем Tailscale-адрес вашего Mac:
[http://100.](http://100.)x.x.x:11434. - В поле Model ID указываем точное имя скачанной модели, например
qwen2.5-coder:14b.
Теперь при запуске сценария n8n мгновенно пробрасывает задачу по защищенному туннелю к вам домой. Ваш MacBook за доли секунды генерирует, например, структуру 15-минутного дейли-митинга для кросс-функциональной Agile-команды или рассчитывает базовую смету, и возвращает готовый текст обратно на VPS.
Шаг 4. Настройка удобных интерфейсов (Десктоп и Смартфон)
Для повседневной работы и личной переписки с нейросетью нужен удобный интерфейс мессенджера, который сохраняет историю контекста. Отличный выбор — опенсорсный клиент Chatbox AI.
- На Mac: Устанавливаем Chatbox, в настройках провайдера выбираем Ollama и указываем локальный хост
[http://127.0.0.1:11434](http://127.0.0.1:11434). - На смартфоне: Устанавливаем мобильное приложение Tailscale, чтобы телефон вошел в нашу виртуальную сеть. Затем скачиваем мобильную версию Chatbox AI (или Enchanted под iOS), выбираем Ollama и прописываем уже сетевой адрес мака:
[http://100.](http://100.)x.x.x:11434.
Вы получаете абсолютно автономную, бесплатную и сверхбыструю экосистему. Ваши алгоритмы на облачном сервере круглосуточно парсят данные и готовят образовательные материалы, а вы можете прямо на ходу с телефона тестировать промпты и консультироваться со своей приватной нейросетью. Вся вычислительная нагрузка при этом бесшумно ложится на процессор домашнего компьютера.