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

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

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

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

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

У кожного модуля Ed25519-підпис над md5-маніфестом файлів. Executor відмовляється запускати непідписаний чи застарілий модуль — захист від випадкового пошкодження та supply-chain підмін. Разом з MCP-сервером ШІ-агенти теж можуть писати модулі безпечно.
Пишете модуль, підписуєте, кидаєте у сценарій — ваш код, підписаний і ізольований, працює на реальному браузері.
Модулі в Afina дозволяють писати справжній Node.js-код, що виконується в контексті антидетект-браузера, викликати його з RPA-флоу, перевикористовувати на профілях і постачати з криптопідписами, щоб нічого не запускалося без підпису. Підключіть npm-екосистему до автоматизації, не жертвуючи безпекою.
Візуальні RPA-блоки покривають 80% автоматизації; локальний HTTP API покриває engineering-heavy 10%. Модулі закривають gap — коли flow потрібен кастомний API-виклик, крипто-підпис, складний парсер або приватний SDK, ви пишете Node.js-модуль один раз, підписуєте, кладете в RPA-бібліотеку, і кожен flow може його використовувати.
Стандартні CommonJS / ESM-модулі. Використовуйте будь-який npm-пакет (axios, ethers, jsonwebtoken, sharp, ваш приватний SDK). Модулі запускаються в Node.js-субпроцесі з контекстом профілю всередині.
Викликайте модуль з будь-якого RPA-флоу через блок executeModule. Передав input, отримав output, продовжуєш flow. Один модуль — кожен скрипт виграє. Іде копі-паст пекло з 30 скриптів з однією й тією ж Puppeteer-логікою.
Кожен модуль несе Ed25519-підпис над md5-маніфестом своїх файлів. Executor звіряє перед кожним запуском. Один змінений байт — відмова. Частина zero-knowledge моделі: жодних тихих supply-chain підмін, жодних шкідливих dependency-update нишком.
Через MCP-сервер LLM може створити модуль, відредагувати файли, запустити і перепідписати через інструмент resign_module. Агенти збирають флоу end-to-end, не покидаючи хост-редактор.
Модулі живуть у вашому 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-бібліотеці.