Skip to main content
Агент боковой панели не привязан к провайдеру. Выберите Claude, ChatGPT, Gemini или Ollama (локально) — и соответствующий агент запустится в фоне: подпискам не нужен API-ключ, а локальным моделям не нужен аккаунт вообще. Бэкенд Ollama также говорит с любым OpenAI-совместимым эндпоинтом (OpenRouter, DeepSeek, GLM, MiMo, vLLM, LM Studio), так что «принесите свою модель» покрывает всё от бесплатной 4B на вашем GPU до передовых. Все провайдеры делят одни и те же инструменты живого холста, те же знания о моделях, те же одноразовые загрузки воркфлоу, ту же защиту от лишних трат. LLM Arena оценивает любого из них на настоящих задачах ComfyUI.

Выберите провайдера, а не порт

Панель показывает выбор бэкенда — чипы Claude / ChatGPT / Gemini / Antigravity / Grok / Kimi / GLM / Ollama / LM Studio / llama.cpp / OpenRouter / Свой эндпоинт (экспериментальные провайдеры вроде Copilot появляются за экспериментальным переключателем). Нажатие на один подключает этого провайдера на одном общем оркестраторе (один порт моста обслуживает всех провайдеров; каждая вкладка панели выбирает своего провайдера в рукопожатии). URL моста живёт в «Дополнительно» для оркестраторов, которыми управляет пользователь. Смена провайдера начинает новый чат — разговоры не общие между провайдерами — и панель публикует системную заметку об этом. Плейсхолдер поля ввода следует за активным бэкендом («Спросите Claude…» / «Спросите Ollama…»).

Войти (один раз на провайдера — или вообще не входить)

  • Claudeclaude (или claude setup-token) — OAuth claude.ai (подписка).
  • ChatGPT (Codex)codex login — вход ChatGPT (подписка); работает через app-server Codex.
  • ChatGPT (прямой OAuth) — лишний шаг не нужен, если вы когда-либо выполняли codex login: бэкенд chatgpt переиспользует ~/.codex/auth.json и говорит с ChatGPT напрямую (без процесса Codex). Если ack говорит, что файла аутентификации нет, выполните codex login один раз.
  • Geminigemini — вход Google. Заметьте: бесплатный индивидуальный вход Google сняли 2026-06-18: бэкенду Gemini CLI теперь нужен GEMINI_API_KEY или корпоративный / Code Assist аккаунт. Индивидуальным подписчикам: используйте Antigravity ниже.
  • Antigravity (подписка Google) — установите официальный Antigravity CLI с antigravity.google, один раз выполните agy и завершите Google Sign-In (тарифы AI Pro/Ultra и бесплатные). Бэкенд ведёт agy -p на каждый ход с непрерывностью разговора --continue, читает живой каталог моделей из agy models и подключает инструменты ComfyUI + панели MCP через безопасный для слияния .agents/mcp_config.json рабочей области. Возможности снижены нарочно (нет задокументированного машиночитаемого потока событий): финальный текст ответа стримится, но нет прогресса по инструментам и нет входа изображений. Непрерывность разговора использует agy --continue (последний разговор аккаунта), поэтому гоняйте ОДНУ вкладку antigravity за раз — вторая вкладка или интерактивная сессия agy в терминале может украсть тред. COMFYUI_MCP_ANTIGRAVITY_MODEL закрепляет модель, COMFYUI_MCP_ANTIGRAVITY_PATH указывает на нестандартную установку.
  • Grok — установите Grok CLI (xAI / Grok Build) и один раз выполните grok, чтобы войти; бэкенд ведёт его в режиме ACP. Панель также предлагает строку OAuth-входа в панели, когда Grok не готов.
  • Kimi (рекомендуется) — установите Kimi Code CLI и выполните kimi login (поток device-code); бэкенд переиспользует этот вход из ~/.kimi-code/credentials/kimi-code.json (устаревший путь ~/.kimi всё ещё читается как запасной). Это использует вашу подписку Kimi Code и предпочтительный способ гонять Kimi — дешевле и с более высоким лимитом, чем ключ Moonshot с оплатой за токен ниже. Задавайте KIMI_API_KEY вместо этого только для CI / использования без CLI, или KIMI_CODE_HOME, чтобы указать на нестандартный каталог учётных данных (KIMI_SHARE_DIR всё ещё чтится для тех, кто задал старое имя). OAuth-вход в панели тоже предлагается.
  • GLM — задайте ZAI_API_KEY (Z.AI Coding Plan; также принимаются GLM_API_KEY / ZHIPUAI_API_KEY). Без CLI.
  • Kimi K3 (Moonshot)альтернатива с оплатой за токен, когда нет подписки Kimi Code (если она есть, предпочитайте маршрут Kimi выше). Задайте MOONSHOT_API_KEY с platform.kimi.ai. Без CLI. Это ключ платформы Moonshot (модель по умолчанию kimi-k3, база https://api.moonshot.ai/v1) — отдельно от провайдера Kimi выше, который является coding-подпиской Kimi Code. Переопределите модель через COMFYUI_MCP_MOONSHOT_MODEL и базу через COMFYUI_MCP_MOONSHOT_BASE_URL.
  • MiniMax — задайте MINIMAX_API_KEY с platform.minimax.io. Без CLI. Модель по умолчанию — MiniMax-M3, база по умолчанию — глобальный эндпоинт https://api.minimax.io/v1 (совместимый с OpenAI, обычный Bearer). Для региона Китай задайте COMFYUI_MCP_MINIMAX_BASE_URL=https://api.minimaxi.com/v1. Переопределите модель через COMFYUI_MCP_MINIMAX_MODEL.
  • Copilot (экспериментально) — войдите из экспериментальной строки провайдера панели. По умолчанию выключен; сначала включите экспериментальные бэкенды в Настройках.
  • Ollama (локально) — без входа. Установите Ollama и подтяните модель с вызовом инструментов (ollama pull gemma4:e4b). Для размещённой модели вместо этого задайте COMFYUI_MCP_OLLAMA_API=openai, COMFYUI_MCP_OLLAMA_BASE_URL (например, https://openrouter.ai/api/v1) и API-ключ (COMFYUI_MCP_OLLAMA_API_KEY / OPENROUTER_API_KEY).
  • Свой эндпоинт — без потока входа. Нацельте на любой OpenAI-совместимый /v1 (vLLM, DeepSeek, Together, Azure, удалённый llama-server) в Настройки → Свой эндпоинт; добавьте API-ключ там, если сервер его требует (маскированный ввод, хранится 0600 оркестратором). См. Локальные LLM → Свой эндпоинт.

Готовность при подключении и онбординг

Каждый чип провайдера деградирует ЧЕСТНО, когда не готов: ack подключения говорит вам точный недостающий шаг («Задайте ZAI_API_KEY…», «выполните codex login…», «Войдите из экспериментальной строки…») вместо падения на первом сообщении — а провайдер, чьи учётные данные появляются позже, переключается в готовый на следующем «Подключить» без перезапуска. Панель определяет готовность каждого провайдера в момент «Подключить» — CLI в PATH плюс вход на диске для провайдеров с подпиской, присутствующий бинарник для Ollama (остановленный демон деградирует мягко при подключении). Вам не нужно гадать, какой провайдер настроен:
  • Карточка онбординга появляется, только когда ни один провайдер не готов, с одноразовым шагом настройки на провайдера (для Ollama это установка
    • подтягивание модели, а не вход).
  • Если сохранённый выбор провайдера непригоден, панель автоматически переключится на готового провайдера (сохранённое предпочтение восстанавливается, как только вы его настроите).
  • Строка неготового провайдера становится действием «настроить», которое подставляет шаг настройки работающему агенту.

Как ведётся каждый провайдер

Оркестратор зависит от нейтрального к провайдеру порта AgentBackend (внедрение зависимости). Каждый провайдер — адаптер: Определения инструментов panel_* живут в одном общем списке, зарегистрированном на каждый путь, поэтому поверхность живого холста (включая гейтинг подтверждения разрушительных операций для panel_clear / panel_restart_comfyui) одинакова между провайдерами. Паритет автоматический — ни один путь не перереализует инструмент. Бэкенд Ollama/любая-LLM дополнительно оборачивает обе поверхности инструментов за шестью инструментами роутера, чтобы небольшие модели не тонули в схемах — см. Локальные LLM и другие агенты.

Матрица возможностей

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

Вход аудио — какие бэкенды, честно

Агент может вести аудиоинструменты ComfyUI на каждом бэкенде. Слышать аудиофайл — уже, и таблица выше нарочно консервативна, потому что молча брошенное вложение хуже отказанного:
  • Ollama (бэкенд ollama, нативный /api/chat) — поддерживается, проверяется по возможностям и проверен от конца до конца. Аудио едет в массиве images[], который является собственным носителем Ollama для аудио, а не хаком. Подтверждено вживую против локальной Ollama с gemma4:e2b, которая транскрибировала настоящий WAV.
    • На модель, не на провайдера. Прежде чем что-либо отправить, бэкенд спрашивает POST /api/show, сообщает ли эта модель возможность audio. Если нет, вложение отклоняется по имени, заявленный список возможностей цитируется вам, и вам говорят, какие модели умеют слышать (ollama pull gemma4:e2b / gemma4:e4b / nemotron3:33b). Заметьте: GET /api/tags тоже возвращает массив capabilities и это не тот же ответ — та же модель не сообщала audio там и сообщала audio из /api/show — поэтому консультируется только /api/show.
    • Возможность перепроверяется на каждом ходе, который несёт аудио, потому что тег Ollama изменчив: ollama pull может заменить веса под тем же именем, и кэшированный вердикт мог пережить модель, которую описывал.
  • LM Studio / llama.cpp / OpenRouter / GLM / Kimi / Moonshot / MiniMax / Copilot / свои OpenAI-совместимые эндпоинты — пытаемся, НЕ проверяем возможности. Все они говорят на /v1/chat/completions, у которого нет эндпоинта возможностей, чтобы спросить, поэтому аудио отправляется как часть содержимого input_audio, и вам на этом ходе говорят, что доставка не подтверждена: «Я не могу подтвердить, что модель их реально получает — если ответ не отражает то, что в файле, она его не услышала.» Отказывать вместо этого значило бы отказать в аудио каждому эндпоинту, у которого просто нет API возможностей; страж, который не может сработать, — не вердикт. Сама форма input_audio была проверена против OpenAI-совместимого эндпоинта Ollama; чтит ли её данный сторонний хост — не то, что мы можем проверить, и мы этого не утверждаем.
  • Claude, ChatGPT (Codex), Codex CLI, Gemini, Grok, Antigravity, pi — нет входа аудио в этой сборке. Прикрепление аудио отклоняется, прежде чем ход собран, и и вам, и модели говорят, называя провайдера и что сработало бы вместо этого. На Gemini/Grok это намеренный пропуск, а не пробел протокола: ACP определяет ContentBlock audio, но требует, чтобы агент сначала заявил возможность промпта audio, и ни один CLI этого не наблюдался. Путь отправки, который никогда не может быть использован, чей режим отказа — вложение, о неприбытии которого пользователю никогда не говорят, хуже честного отказа — поэтому он не поставляется.
Переключатель «Вслепую» про пиксели: он удерживает изображения и не удерживает аудио. Принуждение «Вслепую» доходит и до нативных инструментов агента, не только до поверхности MCP comfyui: встроенный бэкенд Claude работает с гейтом PreToolUse, который отказывает собственным Read/WebFetch на содержимом изображений (растровые файлы по расширению и magic bytes, PDF, выходы ноутбуков и URL ComfyUI /view), когда «Вслепую» включён — читается вживую на каждый вызов, так что переключение посреди сессии связывает уже следующий вызов инструмента. Полосы API/локальные (семейство Ollama, GLM, Kimi, свои эндпоинты) несут только нашу поверхность инструментов, поэтому MCP-скруб покрывает их полностью. Полосы CLI (Codex, Gemini, Grok, Antigravity, pi, Copilot) гоняют свои собственные бинарники агентов, чьи встроенные файловые инструменты мы не можем хукнуть — включение «Вслепую» там публикует видимое предупреждение, которое говорит именно это, вместо того чтобы подразумевать гарантию, которую мы не можем держать.

Как аудиофайл попадает на ход

Оркестратор принимает аудио на кадре панели message двумя способами:
Вторая форма существует, потому что сборка панели, которая знает только про images, иначе отдала бы аудиофайл части содержимого vision. Всё с аудио- расширением автоматически переносится на путь аудио — включая форматы, которые мы не умеем кодировать (.wma, .mid, .aiff), так что вы получаете «конвертируйте в один из…», а не ошибку изображения. Отправка одного и того же файла в обоих массивах (как в примере выше) безопасна: ссылка идентифицируется по filename + subfolder + type, поэтому доставляется один раз и считается один раз против лимита двух вложений на ход. Её не принимают за второй файл и затем не отказывают за то, что не влезает.
Элемент управления поля ввода для выбора аудиофайла живёт в панели (comfyui-mcp-panel), которая является отдельным репозиторием — этой части нет в этом релизе. Пока она не приземлится, проводной контракт выше — то, что отправляет клиент, а маршрут упражняется от конца до конца со стороны оркестратора.
Только нативный путь Ollama выше проверен от конца до конца, и это единственный, где «эта модель умеет слышать» установлено, а не предположено. OpenAI- совместимый путь — честная попытка с честной оговоркой; всё остальное в этом разделе описывает отказ, а не возможность. Откат разговора (форк чата обратно к прошлому ходу) — только Claude; откат кода/графа (/revert, двойной Esc, снимки по ходам) работает на каждом бэкенде, потому что живёт в оркестраторе, а не у провайдера.

Усилие рассуждения при переключении

Выбор усилия/модели — на провайдера. Выбранное усилие переживает смену провайдера, отображаясь на ближайший валидный уровень целевого бэкенда (панель и бэкенды оркестратора делают одно и то же отображение):
  • Claude: low · medium · high · xhigh · max
  • ChatGPT (Codex): none · minimal · low · medium · high · xhigh · max · ultra (max / ultra на моделях класса GPT-5.6)
  • Gemini / Ollama: пользовательской шкалы усилия нет — селектор скрыт.

Паритет знаний и стоимости

Поскольку только Claude может загружать нативные скиллы, встроенная экспертиза публикуется как один MCP-инструмент, который может вызвать любой бэкенд — list_packs, чьи действия покрывают скиллы (skill_list, skill_read), установочные пакеты (list, read_workflow) и шаблоны сервера (list_templates) — плюс страховочная сетка локальный-GPU-vs-платный-API (action: "check_runtime") и одноразовый panel_load_workflow. См. Скиллы, пакеты и стоимость выполнения.

См. также