UNPKG

comfyui-mcp

Version:

Local-first, agent-native control plane for ComfyUI — MCP server + autonomous sidebar agent that drives your live graph in natural language on ANY LLM: Claude/ChatGPT/Gemini on your subscription (no API key), free local models via Ollama (fully offline),

220 lines (219 loc) • 32.1 kB
{ "banner": { "ready": { "antigravity": "🟢 Агент comfyui-mcp готов — {label} через Antigravity CLI, на вашей подписке Google AI. Примечание: ходы agy показывают только итоговый ответ, без живого прогресса инструментов. Спрашивайте.", "atlascloud": "🟢 Агент comfyui-mcp готов — {label} через Atlas Cloud. Спрашивайте.", "chatgpt": "🟢 Агент comfyui-mcp готов — {label} на вашей подписке ChatGPT (прямой OAuth). Спрашивайте.", "claude": "🟢 Агент comfyui-mcp готов — {label} на вашей подписке Claude. Спрашивайте.", "codex": "🟢 Агент comfyui-mcp готов — {label} на вашем аккаунте Codex (ChatGPT). Спрашивайте.", "copilot": "🟢 Агент comfyui-mcp готов — {label} на вашей подписке GitHub Copilot (⚠️ экспериментально, риск нарушения условий использования — вы включили это сами). Спрашивайте.", "custom": "🟢 Агент comfyui-mcp готов — {label} через ваш собственный эндпоинт ({url}). Спрашивайте.", "gemini": "🟢 Агент comfyui-mcp готов — {label} на вашем аккаунте Google (Gemini Code Assist). Спрашивайте.", "glm": "🟢 Агент comfyui-mcp готов — {label} на вашем тарифе Z.AI GLM Coding Plan. Спрашивайте.", "grok": "🟢 Агент comfyui-mcp готов — {label} на вашем аккаунте Grok (xAI). Спрашивайте.", "kimi": "🟢 Агент comfyui-mcp готов — {label} на вашей подписке Kimi Code. Спрашивайте.", "llamacpp": "🟢 Агент comfyui-mcp готов — {label} работает локально через llama.cpp (без аккаунта и без ключа API). Небольшие локальные модели медленнее и проще передовых — возможностей будет меньше. Спрашивайте.", "lmstudio": "🟢 Агент comfyui-mcp готов — {label} работает локально через LM Studio (без аккаунта и без ключа API). Небольшие локальные модели медленнее и проще передовых — возможностей будет меньше. Спрашивайте.", "minimax": "🟢 Агент comfyui-mcp готов — {label} на вашем ключе API платформы MiniMax. Спрашивайте.", "moonshot": "🟢 Агент comfyui-mcp готов — {label} на вашем ключе API платформы Moonshot (Kimi K3). Спрашивайте.", "ollama": "🟢 Агент comfyui-mcp готов — {label} работает локально через Ollama (без аккаунта и без ключа API). Небольшие локальные модели медленнее и проще передовых — возможностей будет меньше. Спрашивайте.", "openrouter": "🟢 Агент comfyui-mcp готов — {label} через OpenRouter (размещённый API, ваш OPENROUTER_API_KEY). Спрашивайте.", "pi": "🟢 Агент comfyui-mcp готов — {label} через pi CLI на вашем собственном ключе провайдера (найден на этой машине; pi проверит его при первом сообщении). Примечание: у pi нет инструментов ComfyUI (нет MCP) — он работает своими инструментами разработчика в локальном рабочем каталоге, а не с холстом панели. Спрашивайте." } }, "cli": { "cannot_start": "ComfyUI MCP — не удалось запуститься: {error}", "connect_bridge_secure": "защищённый туннель Cloudflare (wss:// — копировать нечего)", "connect_label_bridge": "Мост агента", "connect_label_driving": "Управляет", "connect_label_secure": "Защита", "connect_next_steps": "Дальнейшие шаги:", "connect_quiet_note": "Пока вы не нажмёте «Подключиться», это окно молчит — так и должно\nбыть, это не зависание. Агент работает ЗДЕСЬ, на вашем логине\nClaude/Codex; на машине с ComfyUI ничего не устанавливается.\nНе закрывайте этот терминал.", "connect_secure_note": "HTTPS-панель пода подключается автоматически по\nшифрованному туннелю — URL вставлять не нужно,\nработает в любом браузере.", "connect_step_click_connect": "Нажмите «Подключиться» в панели (меню подключения в панели Agent).", "connect_step_open_comfyui": "Откройте этот ComfyUI в браузере: {url}", "connect_title": "запускается локальный мост агента", "connect_url_invalid": "В `connect` передан некорректный URL ComfyUI: \"{url}\" ({reason}). Укажите полный http(s) URL, например https://abcd-3000.proxy.runpod.net или http://127.0.0.1:8188.", "help_active": "(сейчас: {locale})", "help_allow_unauth": "разрешить ОТКРЫТЫЙ /mcp на нелокальном хосте", "help_comfyui_url": "указать конкретный (в том числе удалённый) ComfyUI", "help_compact": "зарегистрировать только три мета-инструмента", "help_default": "(по умолчанию: {value})", "help_full": "зарегистрировать полный набор прямых инструментов", "help_full_reference": "Полный справочник: {url}", "help_help": "показать эту справку и выйти", "help_host": "хост привязки HTTP", "help_http": "транспорт streamable-HTTP", "help_insecure_bridge": "разрешить мост панели без аутентификации", "help_lang": "язык вывода самого CLI", "help_panel_orchestrator": "запустить фоновый оркестратор, управляющий панелью", "help_port": "порт привязки HTTP", "help_same_as_value": "то же самое, но значением", "help_section_panel": "ПАНЕЛЬ / COMFYUI", "help_section_tool_surface": "НАБОР ИНСТРУМЕНТОВ", "help_section_transport": "ТРАНСПОРТ", "help_section_usage": "ИСПОЛЬЗОВАНИЕ", "help_stdio": "транспорт stdio", "help_tagline": "управляйте ComfyUI из ИИ-агента", "help_token": "требовать этот общий секрет на /mcp", "help_tunnel": "открыть быстрый туннель cloudflared (включает --http)", "help_usage_connect": "запустить оркестратор панели для (возможно, удалённого) ComfyUI", "help_usage_launcher": "управлять помощником автозапуска панели", "help_usage_server": "запустить сервер MCP", "help_usage_setup": "записать запись comfyui в конфиг этого клиента и выйти", "launcher_failed": "Не удалось выполнить {action} для запуска ComfyUI MCP: {error}", "launcher_installed": "✓ Средство запуска панели ComfyUI MCP установлено для этого пользователя.", "launcher_installed_note": "Сам MCP запускается только по запросу панели Agent.", "launcher_uninstalled": "✓ Средство запуска панели ComfyUI MCP удалено.", "launcher_usage": "Использование: {command}", "setup_copilot_check": "Запустите `copilot` и проверьте сервер командой /mcp show.", "setup_dry_run": "— пробный запуск: в {path} было бы записано —", "setup_failed": "не удалось настроить comfyui-mcp: {error}", "setup_hermes_reload": "В работающей сессии Hermes введите /reload-mcp (или перезапустите Hermes).", "setup_hermes_tool_names": "Инструменты отображаются как mcp_comfyui_list_tools / _describe_tool / _call_tool.", "setup_next_steps": "Дальнейшие шаги:", "setup_note_compact": "Компактный режим инструментов ВКЛЮЧЁН: модель получает list_tools/describe_tool/call_tool вместо ~200 схем (запустите с --full, чтобы получить полный набор).", "setup_note_full": "Полный режим инструментов: ~200 схем — подходит для передовых моделей (для небольших локальных моделей запустите с --compact).", "setup_note_local_models": "Локальные модели: gemma4 (e4b и старше), qwen3, llama3.1+ поддерживают вызов инструментов; gemma3 — нет.", "setup_openclaw_restart": "Перезапустите шлюз OpenClaw, чтобы он увидел новый сервер.", "setup_unknown_agent": "Неизвестный клиент \"{agent}\".", "setup_usage": "Использование: {command}", "setup_what_it_does": "Записывает запись MCP-сервера comfyui в собственный конфиг клиента.", "setup_wrote": "✓ MCP-сервер \"comfyui\" добавлен в {path}", "tunnel_desktop_connector_path": "Claude Desktop → Settings → Connectors → добавить свой коннектор:", "tunnel_field_header": "Заголовок", "tunnel_field_name": "Имя", "tunnel_field_url": "URL", "tunnel_header_alt": "(или Authorization: Bearer {token})", "tunnel_headless_snippet": "Фрагмент конфига для headless / программного использования:", "tunnel_keep_open": "Не закрывайте этот терминал — туннель закроется вместе с процессом.", "tunnel_label_public_url": "Публичный URL MCP", "tunnel_label_token": "Токен доступа", "tunnel_title": "Удалённый / размещённый коннектор РАБОТАЕТ" }, "console": { "credentials": { "advanced": "Дополнительно ↗", "badge_set": "задан · {masked}", "badge_unset": "не задан", "close": "Закрыть", "load_failed": "Не удалось загрузить состояние — переподключите панель.", "paste_key": "Вставьте ключ…", "privacy": "Хранится локально, отдельно для каждого экземпляра. Значения никогда не покидают эту машину.", "save": "Сохранить", "save_failed": "не удалось сохранить", "saved": "Сохранено ✓", "saving": "Сохранение…", "title": "Ключи API" }, "landing": { "api": { "heading": "API" }, "connection": { "endpoints": "Мост {bridge} · ComfyUI {comfyui}", "heading": "Подключение" }, "here": { "a2ui": "Интерфейсы инструментов на A2UI", "heading": "Переезжает сюда (панель остаётся в ComfyUI)", "library": "Библиотека LoRA, коллекции изображений, инструменты в духе Photomap", "lifecycle": "Запуск / остановка / перезапуск оркестратора", "mcp": "Привязки MCP-серверов и унаследованные инструменты {file}", "oauth": "OAuth и вход к провайдерам API", "prompts": "Редактируемые системные промпты — {link}", "prompts_link": "открыть редактор" }, "panel": { "connect": "Подключение / отключение этого моста", "heading": "Остаётся в панели ComfyUI", "pickers": "Выбор провайдера / модели / усилия и индикатор контекстного окна", "storyboards": "Раскадровки видео и живое редактирование графа" }, "status": { "failed": "Не удалось загрузить состояние", "install_cli": "установить CLI", "loading": "Загрузка готовности провайдеров…", "none": "нет бэкендов", "ready": "готов", "running": "Оркестратор работает", "sign_in": "войти" }, "subtitle": "Панель управления оркестратором — MCP-серверы, OAuth и настройки сервисов. Боковая панель ComfyUI остаётся сосредоточенной на чате, провайдерах и живом холсте.", "title": "Консоль ComfyUI MCP" }, "prompts": { "advanced": "Дополнительно ↗", "badge_custom": "изменён", "badge_default": "встроенный промпт", "close": "Закрыть", "copy_default": "Скопировать его в редактор", "empty": "Редактируемые промпты пока не зарегистрированы. Запустите оркестратор и обновите эту страницу.", "intro": "Все системные промпты, которыми управляет оркестратор, — ровно в том виде, в каком их получает агент. Ваш текст хранится в {file}, а встроенный промпт остаётся нетронутым, поэтому сброс всегда возвращает его.", "load_failed": "Не удалось загрузить промпты — переподключите панель.", "placeholder": "Используется встроенный промпт — введите здесь, чтобы заменить его.", "reset": "Вернуть встроенный", "reset_failed": "не удалось сбросить", "resetting": "Сброс…", "save": "Сохранить", "save_failed": "не удалось сохранить", "saved": "Сохранено ✓", "saving": "Сохранение…", "title": "Системные промпты", "view_default": "Показать встроенный промпт" }, "unauthorized": "Нет доступа — переподключите панель." }, "say": { "blind_cli_native_tools": "Внимание: CLI {backend} сохраняет собственные встроенные файловые инструменты, которые слепой режим не может заблокировать механически — инструменты comfyui по-прежнему не отдают пиксели, но сама CLI может читать файлы изображений. Для строгой гарантии без пикселей используйте бэкенд Claude или API/локального провайдера.", "blind_off": "Слепой режим ВЫКЛЮЧЕН — инструменты изображений агента снова отдают пиксели (вступит в силу после текущего хода).", "blind_on": "Слепой режим ВКЛЮЧЁН — инструменты изображений агента больше не отдают пиксели (вступит в силу после текущего хода; сессия продолжится автоматически).", "custom_no_base_url": "Эндпоинт не настроен — задайте базовый URL в Настройки → Свой эндпоинт (включая /v1, например http://192.168.1.20:8000/v1 для vLLM или OpenAI-совместимый URL размещённого провайдера), а также «Задать ключ API…», если сервер его требует. И то и другое применяется сразу — после этого подключитесь снова.", "degraded": { "antigravity": "Фоновый агент не отвечает — Antigravity CLI не смог выполнить `agy models`. Установите его с https://antigravity.google, запустите `agy` один раз и завершите вход через Google, затем «Отключиться» → «Подключиться», чтобы повторить.", "atlascloud": "Фоновый агент не отвечает — не удалось запустить Atlas Cloud. Задайте ATLASCLOUD_API_KEY, затем «Отключиться» → «Подключиться», чтобы повторить.", "chatgpt": "Фоновый агент не отвечает — не удалось запустить прямой OAuth ChatGPT. Убедитесь, что файл ~/.codex/auth.json существует (выполните `codex login`), затем «Отключиться» → «Подключиться», чтобы повторить.", "claude": "Фоновый агент не отвечает — не удалось запустить Claude Agent SDK. Убедитесь, что вы вошли в систему (выполните `claude` один раз), затем «Отключиться» → «Подключиться», чтобы повторить.", "codex": "Фоновый агент не отвечает — не удалось запустить app-server Codex. Убедитесь, что Codex установлен и выполнен вход (`codex login`), затем «Отключиться» → «Подключиться», чтобы повторить.", "copilot": "Фоновый агент не отвечает — не удалось запустить GitHub Copilot (экспериментально). Войдите из экспериментальной строки панели, затем «Отключиться» → «Подключиться», чтобы повторить.", "custom": "Фоновый агент не отвечает — ваш собственный эндпоинт не отвечает по адресу {url}. Проверьте базовый URL в Настройки → Свой эндпоинт (он должен быть OpenAI-совместимым и содержать /v1) и ключ API, если сервер его требует, затем нажмите «Подключиться», чтобы повторить.", "gemini": "Фоновый агент не отвечает — не удалось запустить Gemini CLI. Убедитесь, что Gemini CLI установлен и выполнен вход (запустите `gemini` один раз и завершите вход через Google), затем «Отключиться» → «Подключиться», чтобы повторить.", "glm": "Фоновый агент не отвечает — не удалось запустить GLM Code API. Задайте ZAI_API_KEY (Z.AI Coding Plan), затем «Отключиться» → «Подключиться», чтобы повторить.", "grok": "Фоновый агент не отвечает — не удалось запустить Grok CLI. Убедитесь, что Grok установлен и выполнен вход (запустите `grok` один раз и завершите вход через xAI), затем «Отключиться» → «Подключиться», чтобы повторить.", "kimi": "Фоновый агент не отвечает — не удалось запустить Kimi Code. Выполните вход в Kimi Code (~/.kimi/credentials/kimi-code.json) или задайте KIMI_API_KEY, затем «Отключиться» → «Подключиться», чтобы повторить.", "llamacpp": "Фоновый агент не отвечает — llama-server недоступен по адресу {url}. Запустите его командой `llama-server -m <model>.gguf -c 16384` (наши GGUF gemma4-comfyui-mcp отлично подходят; на старых сборках добавьте --jinja — там он обязателен для вызова инструментов) или задайте COMFYUI_MCP_LLAMACPP_HOST — затем «Отключиться» → «Подключиться», чтобы повторить.", "lmstudio": "Фоновый агент не отвечает — LM Studio недоступен по адресу {url}. Откройте LM Studio → Developer → Start Server и загрузите модель с поддержкой вызова инструментов (наши GGUF gemma4-comfyui-mcp с Hugging Face отлично подходят) либо задайте COMFYUI_MCP_LMSTUDIO_HOST, если сервер работает в другом месте — затем «Отключиться» → «Подключиться», чтобы повторить.", "minimax": "Фоновый агент не отвечает — не удалось запустить MiniMax. Задайте MINIMAX_API_KEY с platform.minimax.io, затем «Отключиться» → «Подключиться», чтобы повторить.", "moonshot": "Фоновый агент не отвечает — не удалось запустить Moonshot (Kimi K3). Задайте MOONSHOT_API_KEY с platform.kimi.ai, затем «Отключиться» → «Подключиться», чтобы повторить.", "ollama": "Фоновый агент не отвечает — Ollama недоступна. Запустите её командой `ollama serve` и загрузите нашу дообученную модель (`ollama pull artokun/gemma4-comfyui-mcp:e4b` — gemma4, обученная на наборе инструментов comfyui-mcp, лучшая локальная модель по результатам арены; `:12b` для примерно 8 ГБ видеопамяти), затем «Отключиться» → «Подключиться», чтобы повторить.", "pi": "Фоновый агент не отвечает — pi CLI не смог выполнить `pi --list-models`. Установите его с https://pi.dev (`curl -fsSL https://pi.dev/install.sh | sh`), настройте провайдера (задайте ключ API провайдера или запустите `pi` один раз и выполните `/login`), затем «Отключиться» → «Подключиться», чтобы повторить.", "qwen": "Фоновый агент не отвечает — Qwen Code CLI не удалось запустить. Убедитесь, что Qwen Code установлен (npm i -g @qwen-code/qwen-code) и выполнен вход (запустите `qwen` один раз и завершите /auth или задайте DASHSCOPE_API_KEY), затем «Отключиться» → «Подключиться», чтобы повторить." }, "llamacpp_no_jinja": "Ваш llama-server запущен БЕЗ `--jinja`, поэтому вызов инструментов отключён — любое действие агента завершится ошибкой. Перезапустите его с поддержкой инструментов: `llama-server -m <model>.gguf --jinja -c 16384` (в свежих сборках jinja включён по умолчанию, старым нужен флаг), затем «Отключиться» → «Подключиться».", "llamacpp_small_context": "Контекст вашего llama-server составляет {tokens} токенов (флаг запуска -c). Инструментам агента нужно не меньше 16384 — ниже этого длинные ходы будут молча обрезаться. Стоит перезапустить с `-c 16384` или больше.", "local_agent_resumed": "Рендер завершён — локальный агент снова доступен. Отвечаю на ваше сообщение из очереди.", "message_queued_during_render": "Идёт рендер, поэтому я поставил ваше сообщение в очередь, чтобы не занимать GPU. Отвечу, как только он закончится.", "message_queued_opt_out": "Если хотите общаться прямо во время рендера, задайте COMFYUI_MCP_PAUSE_LOCAL_ON_GEN=0 в ~/.comfyui-mcp/.env и перезапустите — тогда локальная модель и ComfyUI будут делить GPU, из-за чего рендер может замедлиться или упереться в нехватку VRAM.", "new_chat_durable_clear_failed": "Новый чат начат, но сохранённую сессию предыдущего разговора не удалось удалить с диска (ошибка записи — возможно, диск заполнен или заблокирован). Если оркестратор перезапустится до того, как в этом разговоре завершится первый обмен сообщениями, может восстановиться СТАРЫЙ разговор; в этом случае начните новый чат ещё раз.", "oauth_signin_failed": "Не удалось войти в {provider}: {message}", "openrouter_no_key": "У OpenRouter нет ключа API — подключение оборвётся на вашем первом сообщении. Задайте его в Настройки → OpenRouter → «Задать ключ API…» (значение маскируется и хранится оркестратором, применяется сразу, переподключение не нужно) либо задайте переменную окружения OPENROUTER_API_KEY и перезапустите оркестратор. Ключи: https://openrouter.ai/keys", "options_change_failed": "Не удалось изменить модель или усилие: {message}", "pi_no_credential": "У pi нет пригодного ключа провайдера — подключение поздоровается как готовое, а затем оборвётся на вашем первом сообщении. Настройте провайдера: задайте ключ API провайдера (например, ANTHROPIC_API_KEY / OPENAI_API_KEY / CEREBRAS_API_KEY) и перезапустите оркестратор либо запустите `pi` один раз и выполните `/login` (сохраняется в ~/.pi/agent/auth.json), затем «Отключиться» → «Подключиться». Если вы уже сделали это, проверьте полноту записи — запись в ~/.pi/agent/auth.json без `key`, провайдер в models.json без `apiKey` или GOOGLE_APPLICATION_CREDENTIALS, указывающий на несуществующий файл, не позволят пройти аутентификацию. https://pi.dev", "restart_lost": { "answers": "Ответов на карточке вопроса, которые так и не дошли до агента: {count} — {answers}. Ответ не является рендером: искать его НЕГДЕ, и после перезапуска агент никак не сможет его восстановить. Пожалуйста, сообщите свой выбор снова (или вставьте текст выше), когда агент вернётся.", "header": "Бэкенд агента перезапускается.", "runs": "Готовых результатов рендера, которые не удалось доставить: {count} ({runs}). С точки зрения агента их исход НЕИЗВЕСТЕН — попросите его после переподключения проверить эти запуски через `get_history (action:\"list\")`, а не считать, что он их видел.", "withheld": "Ещё {count} ответов на этой вкладке относятся к более раннему разговору, который уже заменён; они также не были доставлены, но здесь не показаны, потому что были даны не тому разговору, в котором вы находитесь сейчас." }, "start_failure": { "hint": { "custom": "Проверьте базовый URL и ключ API в Настройки → Свой эндпоинт, затем «Отключиться» → «Подключиться», чтобы повторить.", "generic": "Проверьте учётные данные или вход у провайдера, затем «Отключиться» → «Подключиться», чтобы повторить.", "key_provider": "Проверьте ключ API {provider} в карточке «Ключи API» ({env}), затем «Отключиться» → «Подключиться», чтобы повторить.", "openrouter": "Проверьте ключ API OpenRouter в карточке «Ключи API» (OPENROUTER_API_KEY), затем «Отключиться» → «Подключиться», чтобы повторить." }, "notice": "Агент {backend} не смог запуститься: {message} — {hint}" }, "too_many_question_cards": "На этой вкладке одновременно открыто слишком много карточек с вопросами, поэтому самые старые больше не принимают ответ — клик по ним ничего не сделает. Ответьте на самую свежую карточку или просто напишите свой выбор в чат, и агент его подхватит." } }