Выберите провайдера, а не порт
Панель показывает выбор бэкенда — чипы Claude / ChatGPT / Gemini / Antigravity / Grok / Kimi / GLM / Ollama / LM Studio / llama.cpp / OpenRouter / Свой эндпоинт (экспериментальные провайдеры вроде Copilot появляются за экспериментальным переключателем). Нажатие на один подключает этого провайдера на одном общем оркестраторе (один порт моста обслуживает всех провайдеров; каждая вкладка панели выбирает своего провайдера в рукопожатии). URL моста живёт в «Дополнительно» для оркестраторов, которыми управляет пользователь. Смена провайдера начинает новый чат — разговоры не общие между провайдерами — и панель публикует системную заметку об этом. Плейсхолдер поля ввода следует за активным бэкендом («Спросите Claude…» / «Спросите Ollama…»).Войти (один раз на провайдера — или вообще не входить)
- Claude —
claude(или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один раз. - Gemini —
gemini— вход 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 этого не наблюдался. Путь отправки, который никогда не может быть использован, чей режим отказа — вложение, о неприбытии которого пользователю никогда не говорят, хуже честного отказа — поэтому он не поставляется.
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), которая является отдельным репозиторием — этой части
нет в этом релизе. Пока она не приземлится, проводной контракт выше — то, что
отправляет клиент, а маршрут упражняется от конца до конца со стороны
оркестратора./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. См.
Скиллы, пакеты и стоимость выполнения.
См. также
- Боковая панель — полный UX панели
- Локальные LLM и другие агенты — роутер из 6 инструментов, требования к модели, настройка Hermes/OpenClaw/Copilot
- Арена LLM — оцените СВОЮ модель на настоящих задачах ComfyUI
- Скиллы, пакеты и стоимость выполнения — инструменты паритета + стоимости
- Документ дизайна:
design/agent-backend-injection.md