Полная инструкция
по использованию Nodeolite

Установка, типы нод, логика auto_execute и циклов, импорт воркфлоу из JSON.

1. Установка и быстрый старт

Окружение

Скопируйте .env.example в .env, выполните php artisan key:generate. Для SQLite создайте database/database.sqlite и укажите DB_CONNECTION=sqlite, DB_DATABASE="database/database.sqlite" в .env.

Миграции и сидеры

Выполните php artisan migrate:fresh --seed. Создаётся пользователь test@example.com / password и FlowTab «Default» (id=1).

Фронтенд

npm install && npm run build. Запустите приложение (например, php artisan serve) и откройте в браузере.

Демо-воркфлоу Сидеры NameTranslationSeeder, TestNameTextGenerationSeeder, NameDescriptionGenerationSeeder создают примеры воркфлоу. Запуск: php artisan db:seed --class=ИмяКласса.

2. Типы нод

Краткий справочник. Подробное описание, переменные и примеры — во вкладке «Документация» в настройках каждой ноды (иконка шестерёнки).

  • Transform Node — преобразование данных через JavaScript.
  • HTTP Request / API Post — GET, POST, PUT, DELETE к API. Заголовки, тело, логи, автовыполнение.
  • Condition Node — проверка условия, ветвление TRUE/False.
  • Ollama / OpenAI Node — генерация текста (локальная Ollama или GPT).
  • Delay Node — задержка перед передачей данных.
  • Regex, JSON, Template, Variable — обработка данных, подстановка переменных.
  • Website / Server — получение данных с сайта; сервер для входящих запросов.
  • Splitter, Loop, Merge, Switch — ветвление, итерации, объединение потоков.
  • Queue, Counter, Filter — очереди, счётчики, фильтрация.
  • Debug, Response Viewer — просмотр данных и ответов.
  • Webhook, Trigger, Scheduler — входящие запросы, периодический запуск.
  • Email, Whisper, TTS, Image Gen — почта, распознавание речи, синтез, генерация изображений.

3. Логика нод: auto_execute, циклы

Общий принцип

Нода по умолчанию остановлена (is_enabled = false). При получении новых данных: если auto_execute = true, нода автоматически выполняется и передаёт результат следующей; если false — только обновляет input_data, запуск вручную (Run) или в цикле.

Циклы (GET → … → Save)

GET-нода включается вручную (Run). Она получает запись, передаёт дальше, ждёт сигнал завершения от Save, затем запрашивает следующую запись. У GET включите wait_for_completion_signal и wait_for_signal_from_node_id (ID ноды Save). У Save (PUT/PATCH) — send_completion_signal: true.

Пример

Get Names (Run) → получает имя #1 → Translate (auto) → Save (auto) → сигнал → Get Names → имя #2 → … Все записи обрабатываются по очереди.

Отладка Если нода не запускается автоматически — проверьте auto_execute = true, наличие данных от предыдущей ноды. Если цикл не идёт — убедитесь в настройках wait_for_completion_signal и send_completion_signal.

4. Импорт воркфлоу из JSON

В Dashboard нажмите «Импорт JSON». Можно загрузить файл, встроенный пример или вставить JSON в поле.

Формат

Корневой объект: nodes (массив нод) и edges (массив связей). У каждой ноды — type (например, website-node, api-post-node, transform-node), position ({ "x", "y" }), data (label, настройки). У каждого edge — source, target (индексы в nodes), sourceHandle, targetHandle (порты).

{ "nodes": [ { "type": "api-post-node", "position": { "x": 0, "y": 0 }, "data": { "label": "Get" } } ], "edges": [ { "source": 0, "target": 1, "sourceHandle": "response-output", "targetHandle": "data-input" } ] }
После импорта Проверьте ноды и связи на канвасе. Настройте URL, токены, модель Ollama и т.п. в соответствующих нодах. При цикле включите GET и нажмите «Run».

Документация проекта в docs/: nodes.md, nodes-logic.md, workflow-json.md, setup.md.