Skip to main content
Нет локального GPU — или нужен побольше по запросу? Разверните ComfyUI на облачном GPU-поде и управляйте им на естественном языке из агента, который работает на вашей машине, на вашей собственной подписке Claude или ChatGPT.
Под обслуживает только ComfyUI + Manager + UI панели агента. Мозг агента (оркестратор панели) работает локально на вашей машине на вашей собственной подписке — так что облачный под никогда не сжигает GPU-часы на LLM, и ни API-ключ, ни вход агента никогда не касаются коробки. См. Топология.

Шаблон в один клик (самый быстрый путь)

Готовый образ грузится готовым к управлению панелью агента — ComfyUI + панель агента + ComfyUI-Manager v2 запечены, настройки нет: Deploy on RunPod
  1. Нажмите Deploy on RunPod и выберите GPU (RTX 5090 / любая карта Blackwell или Ada подойдёт — образ поставляет cu128 torch).
  2. Оставьте значения шаблона по умолчанию: HTTP-порт 3000 открыт и сетевой том смонтирован в /workspace.
  3. Дождитесь, пока под поднимется. Автообновляемая страница «ComfyUI is starting…» отдаётся, пока он не будет готов (~30–60 с инициализации ComfyUI).
Затем переходите к Подключение с вашей машины.

Развернуть и управлять из панели агента (v0.44+)

Начиная с comfyui-mcp 0.44, вам больше не нужно трогать консоль RunPod или запускать команду CLI вообще — у панели агента есть панель управления RunPod, которая разворачивает, подключает, следит и останавливает под за вас, и тот же лист управления едет в мобильном приложении.
  1. Задайте ключ один раз. В карточке «API-ключи» панели вставьте ваш RUNPOD_API_KEY. Он хранится на стороне сервера в ~/.comfyui-mcp/.env — никогда в браузере.
  2. Откройте панель управления RunPod с плашки хоста на панели инструментов (сначала она читается 🟢 Локально · ваша машина).
  3. Разверните или подключите. Нажмите «Развернуть» для пода в один тап (идёт через ссылку развёртывания шаблона и откатывается по типам GPU / COMMUNITY→SECURE, когда ёмкости мало) или выберите существующий под по имени из выпадающего списка и «Подключить».
  4. Смотрите вживую. Карточка статуса показывает GPU / VRAM / время работы / чиобратныйотсчётавтостопапопростою,аплашкахостапереключаетсяна🔵RunPod<pod>GPU·ч** и обратный отсчёт **автостопа по простою**, а плашка хоста переключается на **🔵 RunPod · `<pod>` · GPU · — так что где выполнится рендер, никогда не двусмысленно. Агент ставит ваши кастомные узлы + LoRA и скачивает ваши модели на под, так что вы получаете точный паритет холста с локальной установкой.
  5. Переключитесь обратно и остановите. «Перейти на локальный» сразу перенацеливает рендер на вашу установку; «Стоп» гасит под. Автостоп по простою (RUNPOD_IDLE_STOP_MINUTES, по умолчанию 15; считает только пока вы реально рендерите на поде) — страховочная сетка стоимости, если вы забудете.
Выключатель мертвеца (v0.47+). Автостоп по простою живёт в процессе comfyui-mcp — если этот процесс умрёт (краш, закрытый ноутбук), страховочная сетка раньше умирала вместе с ним, и под тарифицировался вечно. Поды, созданные через коннектор, теперь несут сторожевой таймер на стороне пода: пока comfyui-mcp следит за подом, он бьёт сердцем каждые несколько секунд; если удары прекращаются, под останавливает себя (никогда не терминирует — ваш /workspace выживает) после льготного периода (45 мин после загрузки без сердцебиения, затем 20 мин между ударами; RUNPOD_DEADMAN_BOOT_GRACE_S / RUNPOD_DEADMAN_BEAT_GRACE_S). «Слежение» переживает «Перейти на локальный» и Unwatch — они меняют только то, что показывает UI; сторожевой таймер срабатывает, только когда самого comfyui-mcp уже нет (или под выходит). Сторожевой таймер останавливает под ограниченным ключом API пода, который RunPod автоматически впрыскивает в каждый под — ваш ключ на весь аккаунт никогда не покидает вашу машину, и по учётным данным отказываться не от чего. Оставьте его безоружным через deadman:false на runpod / action: "create" (или RUNPOD_DEADMAN=0) либо DEADMAN_DISABLE=1 как env пода. Поды, развёрнутые из консоли, никогда не несут токен сердцебиения, а развёртывания кастомного шаблона (RUNPOD_TEMPLATE_ID) по умолчанию держат его выключенным — передайте deadman:true, только если этот образ поставляет наш сторожевой таймер.
Впервые арендуете GPU для ComfyUI? Блог проводит весь поток от конца до конца: Запускаем ComfyUI на арендованном облачном GPU.
Остальная часть этой страницы — ручной / CLI-путь — по-прежнему полностью поддерживается и то, чем панель управления гоняет под капотом.

Подключение с вашей машины

Когда под поднят, возьмите его публичный proxy URL (RunPod → ваш под → HTTP-эндпоинт :3000, например https://<pod-id>-3000.proxy.runpod.net) и выполните одну команду на ноутбуке:
Для удалённого HTTPS-пода connect автоматически открывает защищённый зашифрованный туннель wss:// (через Cloudflare) к мосту агента на вашей машине и сам отдаёт панели пода этот URL — так что HTTPS-страница пода достукивается до агента без приглашения браузера, без копирования, в любом браузере. Для локального ComfyUI используется обычный петлевой мост ws://127.0.0.1:9180. В любом случае агент — и ваш вход Claude/ChatGPT — работает только на вашей машине; на под ничего не ставится. Чтобы закончить, пока connect ещё работает на вашей машине, откройте ComfyUI пода в браузере, откройте боковую панель агента и нажмите «Подключить». Теперь управляйте графом на естественном языке.
Зачем туннель? Страница пода отдаётся по https://, и браузеры блокируют защищённой странице открытие незащищённого сокета ws:// к вашей машине (mixed content / Private Network Access). Туннель даёт мосту URL wss:// с валидным TLS — с гейтингом случайным токеном на сессию — так что это просто работает везде без приглашения.
Если под сидит за аутентификацией, задайте COMFYUI_AUTH_TOKEN (плюс необязательные COMFYUI_AUTH_HEADER / COMFYUI_AUTH_SCHEME) на локальной команде connect. Для пода за Cloudflare Access создайте сервисный токен Access и задайте CF_ACCESS_CLIENT_ID + CF_ACCESS_CLIENT_SECRET — оба едут на каждом запросе ComfyUI (HTTP + WebSocket наблюдателя очереди), так что коннектор проходит шлюз, а страница человеческого входа остаётся для браузеров.

Держать всё на своей машине (без Cloudflare)

Предпочитаете не вести мост через Cloudflare? Доберитесь до пода через свой SSH port-forward, чтобы страница была петлевым origin (обычный ws:// работает, туннель не нужен):
Затем откройте http://localhost:3000. Или подключайтесь по прямому https URL пода, но принудительно используйте обычный петлевой мост через --insecure-bridge (тогда вы сами устраиваете путь, по которому страница пода достучится до ws://127.0.0.1:9180). Нужна стабильная, самостоятельно хостящаяся альтернатива быстрому туннелю Cloudflare по умолчанию — свой домен, без эфемерного имени хоста, полное владение этим прыжком — вместо любого из вариантов выше? См. Собственный релей.

Топология: где работает агент

Под нарочно не поставляет ни Node.js-агента, ни Agent SDK, ни LLM-клиента — они сжигали бы GPU-часы впустую. Цикл рассуждения живёт на вашей машине; под — чистый бэкенд ComfyUI. Это та же модель удалённого управления, которой пользуется локальная панель агента, только ComfyUI на облачном GPU вместо localhost.

Что переживает (а что нет)

Образ оптимизирован под быстрый stop/start. Тяжёлое ПО — ComfyUI, его venv, Manager v2 — запечено в неизменяемый образ и запускается из /opt/ComfyUI, а custom_nodes живёт на томе /workspace (симлинк), так что ваши установки переживают. Тёплый перезапуск не делает полной установки/синхронизации/сида и просто перезапускает ComfyUI.
Кастомные узлы, установленные в рантайме, переживают перезапуск. custom_nodes симлинкнут на /workspace/custom_nodes; при каждой загрузке запечённые узлы образа (панель агента + встроенные) сидятся/обновляются в него (так что обновление образа привозит актуальную панель, а ваши узлы сохраняются), и Python-зависимости каждого узла переустанавливаются в venv из постоянного pip-кэша на томе — быстро после первого раза. Модели тоже переживают. Чтобы запечь узел так, чтобы ему не нужна была работа при загрузке, добавьте его в Dockerfile и пересоберите образ (ниже).

Собрать и развернуть свой образ

Шаблон в один клик — это готовый образ. Стройный готовый образ — тот же ComfyUI + панель агента + Manager, но без необязательных donor extras (runpod-uploader/croc/app-manager) и без запечённого SDXL spotcheck-чекпоинта, собираемый непрерывно в CI — тоже публичный на ghcr.io/artokun/comfyui-mcp-runpod:cu128-lean, если вы просто хотите нацелить шаблон RunPod на что-то, ничего не собирая сами. Чтобы кастомизировать — закрепить версии, запечь дополнительные кастомные узлы, сменить раскладку моделей — соберите и запушьте свой из docker/runpod/:
GPU на этапе сборки не нужен. Затем создайте шаблон пода RunPod, нацеленный на ваш образ, с открытым HTTP-портом 3000 и сетевым томом в /workspace. docker/runpod/README.md — полный справочник сборки: многостадийный Dockerfile, точные флаги запуска ComfyUI, маппинг тома extra_model_paths.yaml, шлюз удалённой установки Manager, переменные окружения и компромиссы размера/пина.

Другие облачные цели

Поток connect не специфичен для RunPod — он работает против любого доступного ComfyUI, который отдаёт панель агента (другой облачный хост, VPS, коробка в вашей LAN). Нацельте connect на его URL и включите переключатель внешнего оркестратора:
Чтобы выставить сам comfyui-mcp как размещённый, аутентифицированный MCP-сервер (а не разворачивать ComfyUI), см. Удалённый / размещённый коннектор.