ComfyUI только читается

NodeWise Studio читает ваш ComfyUI, чтобы узнать, какие в нём есть ноды и модели. Он никогда его не меняет: ничего там не устанавливает, не скачивает, не удаляет, не записывает, не переносит и не ставит в очередь. На этой странице сказано, что читается и как это обещание выполняется в коде.

Что читается

Из самого ComfyUI, по сохранённому вами адресу:

  • Ноды: каждый тип ноды с входами, выходами и допустимыми значениями (/object_info) и версии (/system_stats).
  • Модели: папки и файлы моделей с размерами (/experiment/models, у старого ComfyUI /models), метаданные в заголовке .safetensors (/view_metadata) и картинка-превью, которая есть у ComfyUI для модели. Не сами файлы моделей.
  • Паки: из списка установленных паков ComfyUI-Manager, если он стоит (/customnode/installed), иначе из списка нод.

Из MCP-сервера, только если вы его добавили:

  • Рядом с моделью: описание и картинка-пример, которые менеджеры моделей кладут рядом с файлом модели (<имя>.metadata.json, <имя>.civitai.info, <имя>.png и подобные), не больше 16 МБ на файл.
  • Отпечаток файла модели: только когда вы нажимаете «Найти в интернете» в его карточке. Отпечаток считает сервер; сам файл никуда не передаётся.
  • О паке нод: pyproject.toml и README.md в начале его папки внутри custom_nodes.
  • Серверы моделей, которые запускает ваш MCP-сервер: их список и модели каждого, для «Настройки ▸ Помощник ▸ Найти локальные серверы».

Как обещание выполняется

  • Одна проверка для ComfyUI. Каждый запрос к ComfyUI проходит через src/main/comfy/gate.ts: только GET, перенаправления не выполняются, есть предел размера и времени, и только адреса из постоянного списка. /prompt, /queue, /interrupt, /free, /history, загрузка файлов, данные пользователя, настройки и все адреса установки и перезапуска ComfyUI-Manager отклоняются до отправки, и никакой другой модуль не обращается к сети сам.
  • Один список для MCP-серверов. Каждый вызов MCP проходит через src/main/mcp/readOnly.ts. В нём немногие инструменты чтения, которые приложению можно вызывать, и точная форма их аргументов. Инструмент не из списка или вызов с одним лишним полем отклоняется, не выйдя из приложения; сервер с незнакомыми инструментами не вызывается вовсе.
  • Только чтение. Если инструмент сервера умеет и писать (например, файловый инструмент, который читает, пишет и удаляет), разрешено только его чтение и только для файлов, названных выше.
  • Никакого запуска. В приложении нет ни кнопки, ни инструмента помощника, которые ставили бы workflow в очередь. Результат вы запускаете в ComfyUI сами: Как запустить результат в ComfyUI.
  • Проверено тестами. Модульные тесты пробуют каждый запрещённый адрес, инструмент, действие и путь. Это проверено на тестовых серверах, которые говорят как ComfyUI, но ещё не на настоящей установке ComfyUI.

Что это значит для вас

  • Ваш ComfyUI, его модели, паки нод и очередь остаются ровно такими, какими были.
  • Недостающие ноды и модели называются, но не устанавливаются. Ставьте их в ComfyUI.
  • Граф, который вы собираете, живёт в NodeWise, пока вы не сохраните его как workflow и не откроете в ComfyUI.

Вызов, который что-то записал бы, это проблема безопасности: пожалуйста, сообщите о нём закрыто (Безопасность).

См. также

Страница перенесена из wiki репозитория приложения (docs/wiki/trust/Read-Only.ru.md, ревизия b8e3f71). То же руководство встроено в приложение: «Справка ▸ Руководство».

Чтобы обновить её, выполните npm run import, а затем npm run build в папке сайта.