Полная инструкция
по использованию 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" } ]
}
Документация проекта в docs/: nodes.md, nodes-logic.md, workflow-json.md, setup.md.