AI
Yesterday

Свой ИИ без абонентских плат: как связать локальную LLM на MacBook и облачный VPS

Когда ИИ становится ежедневным инструментом для решения продуктовых задач — от проектирования метрик до фасилитации команд и построения архитектуры стартапа — встает вопрос стоимости и приватности. Запускать тяжелые пайплайны по конвертации PDF-документов и видео в интерактивные курсы через API коммерческих моделей дорого, а отдавать им чувствительные данные компании небезопасно.

Решение — развернуть мощную open-source модель прямо на своем железе. Но как сделать так, чтобы к ней имели доступ ваши облачные сервисы автоматизации, а вы сами могли писать промпты со смартфона из любой точки мира?

Ниже — пошаговый гайд по сборке гибридной ИИ-инфраструктуры, которая объединяет дешевый облачный VPS и вычислительную мощность вашего MacBook.

Архитектура решения

Мы не будем переносить саму нейросеть в облако. Аренда сервера с мощной видеокартой для работы тяжелых моделей обойдется в сотни долларов ежемесячно. Мы пойдем умным путем:

  1. Вычислительное ядро (Локально): MacBook Pro. Процессоры Apple Silicon идеально справляются с локальной генерацией. Здесь мы развернем Ollama и тяжелые модели вроде qwen2.5-coder:14b или deepseek-r1:14b.
  2. Оркестратор (В облаке): Дешевый VPS-сервер. Он работает 24/7 и крутит n8n — систему автоматизации, которая будет принимать внешние запросы, обрабатывать вебхуки и управлять бизнес-логикой.
  3. Мост (VPN): Tailscale. Защищенный туннель, который объединит облачный сервер и домашний ноутбук в единую виртуальную локальную сеть.

Шаг 1. Локальная нейросеть и фоновый режим на macOS

Первым делом устанавливаем Ollama на Mac и скачиваем нужную модель командой в терминале: ollama run qwen2.5-coder:14b.

По умолчанию Ollama принимает запросы только изнутри самого устройства (с localhost). Чтобы к ней мог достучаться облачный сервер, нужно открыть порты и сделать так, чтобы процесс не умирал при закрытии окна терминала. Настраиваем Ollama как системную службу (демона).

Создаем конфигурационный файл:

Bash

sudo nano /Library/LaunchAgents/com.ollama.server.plist

Вставляем в него следующие параметры, где ключевую роль играет OLLAMA_HOST="0.0.0.0" — разрешение принимать внешние подключения:

XML

<?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>

Запускаем службу:

Bash

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-ботах.

  1. Создаем новый Workflow.
  2. Добавляем узел Ollama Chat Model.
  3. В настройках узла в поле Base URL прописываем Tailscale-адрес вашего Mac: [http://100.](http://100.)x.x.x:11434.
  4. В поле 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.

Вы получаете абсолютно автономную, бесплатную и сверхбыструю экосистему. Ваши алгоритмы на облачном сервере круглосуточно парсят данные и готовят образовательные материалы, а вы можете прямо на ходу с телефона тестировать промпты и консультироваться со своей приватной нейросетью. Вся вычислительная нагрузка при этом бесшумно ложится на процессор домашнего компьютера.