Проблема JSON и решение на Python
Основная задача VibeComfy — трансляция: импорт графа ComfyUI, представление его в виде редактируемого Python-кода, валидация и компиляция обратно в API JSON для очереди ComfyUI. JSON остается форматом импорта/экспорта, но Python становится «поверхностью авторства».
Генерируемый Python-код намеренно сделан «обычным», так как это язык, который даже легкие локальные агенты понимают лучше всего. Вместо того чтобы заставлять агента разбираться в запутанной структуре графового JSON, VibeComfy предоставляет шаблон с функцией build(), которая создает объект VibeWorkflow, вызывает типизированные обертки узлов или сгенерированные подграфы, а затем завершает контракт рабочего процесса.
Как это выглядит в коде
Вот как выглядит сгенерированный шаблон для генерации изображений. Агенты могут изменять параметры (prompt, seeds, steps, модели) прямо в Python-вызовах, а не в сыром JSON:
| Элемент | Значение/Пример | Примечание |
|---|---|---|
| Функция | build() |
Точка входа для создания графа |
| Параметры | width=1024, steps=25, cfg=... |
Типизированные аргументы узлов |
| Модели | unet_name="z_image_bf16.safetensors" |
Явное указание путей к моделям |
| Вывод | SaveImage с filename_prefix="z-image" |
Настройка сохранения артефактов |
Архитектура и рабочий процесс
Центральным элементом контракта является объект VibeWorkflow. Вся архитектура строится вокруг преобразования:
- Импорт: ComfyUI JSON → Python ready template или scratchpad.
- Редактирование: AI-агент вносит изменения в Python-код (изменение промптов, связей, параметров).
- Валидация: Проверка корректности графа и зависимостей.
- Компиляция: Преобразование обратно в API JSON, который принимает
queue_promptComfyUI.
Важно отметить, что сгенерированные файлы помечаются комментарием # vibecomfy: generated. Их следует считать только для чтения; для редактирования нужно скопировать шаблон в локальное рабочее пространство recipes/ с помощью команды copy-to-recipe.
Интеграция с агентами и установка
VibeComfy фокусируется на слое авторства (понимание графов, поиск паттернов, сложные правки), в то время как Comfy MCP предоставляет слой доступа агентов для управления ComfyUI. Для интеграции агентов используется файл docs/agent-skill/SKILL.md, который можно установить глобально через scripts/sync_agent_skill.py, поддерживая Claude, Codex и Hermes.
Установка включает:
- Клонирование репозитория и установку в режиме editable:
pip install -e .. - Для встроенной панели агента в ComfyUI требуется установка с опцией
[agent]для получения пакета Arnold runtime. - Синтаксический анализ существующих графов:
port convertдля перевода JSON в Python-скретчпады. - Валидация рецептов:
validate recipes/my_z_image.py.
Этот подход позволяет агентам безопасно редактировать сложные пайплайны, сохраняя семантику графа, что было критически сложно при прямой манипуляции JSON-структурой ComfyUI.
Источник: Github ↗
