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-пакет

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

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

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

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

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

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

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

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

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

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 всередині антидетект-браузера

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

Модулі в Afina дозволяють писати справжній Node.js-код, що виконується в контексті антидетект-браузера, викликати його з RPA-флоу, перевикористовувати на профілях і постачати з криптопідписами, щоб нічого не запускалося без підпису. Підключіть npm-екосистему до автоматизації, не жертвуючи безпекою.

Чому модулі — ланка між RPA-блоками й API

Візуальні RPA-блоки покривають 80% автоматизації; локальний HTTP API покриває engineering-heavy 10%. Модулі закривають gap — коли flow потрібен кастомний API-виклик, крипто-підпис, складний парсер або приватний SDK, ви пишете Node.js-модуль один раз, підписуєте, кладете в RPA-бібліотеку, і кожен flow може його використовувати.

Що всередині модулів Afina

1. Пишіть на Node.js з повною npm-екосистемою

Стандартні CommonJS / ESM-модулі. Використовуйте будь-який npm-пакет (axios, ethers, jsonwebtoken, sharp, ваш приватний SDK). Модулі запускаються в Node.js-субпроцесі з контекстом профілю всередині.

2. Перевикористання між RPA-скриптами

Викликайте модуль з будь-якого RPA-флоу через блок executeModule. Передав input, отримав output, продовжуєш flow. Один модуль — кожен скрипт виграє. Іде копі-паст пекло з 30 скриптів з однією й тією ж Puppeteer-логікою.

3. Ed25519-підписаний запуск

Кожен модуль несе Ed25519-підпис над md5-маніфестом своїх файлів. Executor звіряє перед кожним запуском. Один змінений байт — відмова. Частина zero-knowledge моделі: жодних тихих supply-chain підмін, жодних шкідливих dependency-update нишком.

4. AI-friendly генерація коду

Через MCP-сервер LLM може створити модуль, відредагувати файли, запустити і перепідписати через інструмент resign_module. Агенти збирають флоу end-to-end, не покидаючи хост-редактор.

5. Local-first, опціональна синхронізація

Модулі живуть у вашому moduleDirAbs на диску. Push у Afina cloud або Google Drive для шерингу між командою і машинами — opt-in на модуль.

Де модулі сяють

Крипто-флоу з підписом транзакцій на пристрої (ключ не покидає машину). Кастомні інтеграції з внутрішніми SaaS-API без публічного web UI. Важкий парсинг — PDF-extract, OCR post-processing, парсинг HTML маркетплейсів. Інтеграція CAPTCHA-сольверів. Усюди, де ви написали б скрипт на Puppeteer або Playwright, але хочете per-profile fingerprint-контекст і спільну перевикористовуваність у RPA-бібліотеці.