Afina

Скачати додаток

AppleWindows
UA

RPA-модулі — Node.js-код всередині ваших сценаріїв

Пишіть власні Node.js-модулі з npm-залежностями і викликайте їх з RPA-сценаріїв через блок executeModule. Підписане виконання, ізольований рантайм, повна перевикористовуваність — міст між no-code автоматизацією та справжньою розробкою.

RPA-модулі — Node.js-код всередині ваших сценаріїв
Node.js • npm • executeModule

Коли кліків мало — переходьте в код

Більшість RPA-сценаріїв живуть на візуальному полотні. Складні 10% — кастомні API-виклики, нішеві бібліотеки, серйозні трансформації даних — хочуть справжнього коду. Модулі Afina — це повноцінні Node.js-пакети з npm-залежностями, Ed25519-підписом для безпечного виконання та чистим form-based UI у батьківському сценарії.

Пишіть Node.js, доставляйте як npm-пакет

Кожен модуль — папка з index.js, package.json і будь-якими npm-залежностями. Правте файли в улюбленому редакторі — VS Code, Cursor, JetBrains — Afina слідкує і пере-підписує на запит.

Викликайте модулі з RPA-сценаріїв

Новий блок executeModule приймає hash модуля + form-payload. Функція модуля отримує args, спілкується з браузером через хелпери Afina, повертає значення у сценарій. Нативний interop з рештою стеку scripts-and-automation.

Повна екосистема npm

Беріть улюблені пакети — axios, cheerio, ethers, sharp, що завгодно. Afina ставить залежності у папку модуля; runtime allowlist обмежує поверхню Node API, щоб криво написаний модуль не поклав машину. Ідеальний супутник для локального API.

Ed25519-підпис виконання

У кожного модуля Ed25519-підпис над md5-маніфестом файлів. Executor відмовляється запускати непідписаний чи застарілий модуль — захист від випадкового пошкодження та supply-chain підмін. Разом з MCP-сервером ШІ-агенти теж можуть писати модулі безпечно.

FAQs

Скрипт — це граф блоків на візуальному полотні. Модуль — це Node.js-функція, чистий код, який ви загортаєте form-схемою і кличете зсередини скрипта через блок executeModule. Скрипт дає оркестрацію; модуль — імперативну логіку, коли блоків замало.

Викличте create_module через API, MCP або UI — Afina скаффолдить папку з index.js, utils.js, package.json та settings.json. Правте index.js у редакторі, додавайте npm-залежності, потім resign_module — executor приймає нові файли. Новий модуль з'являється у пікері executeModule.

Щоб executor не запускав підмінений код. Кожне збереження оновлює Ed25519-підпис над md5-маніфестом усіх файлів модуля. Якщо підпис не сходиться з маніфестом, executor відмовляється стартувати — віддає явний modules.error.signature_invalid.

Практично будь-які. Afina виконує npm install у папці модуля, тому залежності вашого package.json лежать там ізольовано. Список allowedFunctions runtime'а контролює, які Node-built-in'и доступні; можна розширювати чи обмежувати на модуль.

Так — через хелпери модулів Afina. Модуль отримує context, який дозволяє кликати ті ж примітиви, що і сценарії: navigate, click, eval, set/get змінних акаунта, смикнути локальний API. Працює у тій же задачі, що й батьківський сценарій.

Так. MCP-сервер віддає інструменти create_module/update_module/resign_module, а LLM використовує хостові файл-інструменти (Read/Edit/Write) для правки файлів модуля у moduleDirAbs. Підпис — це те, що гарантує, що ШІ викотив рівно те, що запуститься.

Кастомний Node.js всередині антидетект-браузера

Пишете модуль, підписуєте, кидаєте у сценарій — ваш код, підписаний і ізольований, працює на реальному браузері.

RPA-модулі — Node.js-код всередині сценаріїв | Afina