Model or dataset
A9T9/RPA avatar
A9T9/RPA

Ui.Vision RPA (A9T9/RPA): a browser extension that runs Selenium IDE macros and a uiv.* JavaScript API

Ui.Vision Open-Source RPA Software with Computer Vision, OCR, Anthropic Computer Use/LLM. Selenium IDE import/export.

2,055 stars415 forksJavaScriptNOASSERTION

At a glance

What is it?
Ui.Vision RPA is an open-source browser extension for Chrome, Edge and Firefox that plays Selenium IDE style macros, adds visual finders and OCR, and now exposes a JavaScript API plus an MCP bridge for AI clients. It installs from the browser stores, which is also where most of its limits begin.
Who is it for?
Adopt Ui.Vision RPA if your automation lives in a browser, you already have Selenium IDE macros, or you want an AI client to drive a browser through the MCP bridge in mcp/README.md. Do not adopt it for headless server-side pipelines, for parallel execution across many machines, or where you need a support contract, because the README points users to the public forum instead.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What A9T9/RPA actually is, and who ends up using it

The repository is the source of the Ui.Vision RPA browser extension, published under the A9T9/RPA name and described in the README as "Modern Robotic Process Automation, Selenium IDE compatible". The problem it addresses is narrow and practical: you have a repetitive task that only exists inside a browser, and you do not want to stand up Selenium, a driver, a language runtime and a CI job to click through it. Ui.Vision puts the recorder and the player inside the browser itself, as an extension.

The audience follows from that. People who already have Selenium IDE .side files, people migrating from iMacros (the repository carries an iMacros topic), and people who want a macro they can edit and rerun on a laptop without a build pipeline. The README states the software is free for personal and commercial use, which removes the licensing conversation that usually precedes a commercial RPA purchase. It is a poor fit for anyone whose automation must run on a headless server, because the extension needs a browser session to live in.

Two ways to write a macro: the command table and the uiv.* JavaScript API

The classic model is a command table: rows of command, target and value, the same shape Selenium IDE uses, and the README links a list of supported Selenium IDE commands. That table is the compatibility surface. If a macro was written for Selenium IDE, the command table is where it lands.

The newer model is JavaScript. According to the README, macros can be written as modern JavaScript against the uiv.* API, which exposes DOM and visual finders (uiv.$, uiv.findImage, uiv.ocr.findText, uiv.ai.find), input tiers (uiv.page.*, uiv.browser.*, uiv.desktop.*), plus screenshots, tabs, CSV and downloads. The behavioural detail worth noting is that every call auto-waits and throws a real JavaScript exception on failure, so try/catch works. That is a meaningful difference from the command table, where a failed step is a row that did not complete and error handling is a separate command.

The bridge between the two is documented in uiv-commands.md in the repository, which maps every classic command-table command to its uiv.* equivalent, or to a legacy call through uiv.run('command', 'target', 'value') where no native method exists yet. That file is the migration map, and it is also the honest list of what has not been ported.

Installing Ui.Vision RPA from the Chrome, Edge or Firefox store

The README is explicit that building the extension is not required if you only want to use it, and that installing from the stores is the easiest and recommended path. The store links in the README are the Chrome Webstore, the Firefox add-on page and the Microsoft Edge add-on page. Older versions live in the RPA software archive on ui.vision.

After installation you get a side panel and the macro player. A macro is a sequence of command rows, and the recorder writes them as you click. The README does not document a first-run wizard, so the practical starting point is the command list it links to.

Building from source is a separate track, intended for developers. The README pins Node V20.11.1 and NPM V10.2.4:

bash
npm i -f

Then one of the build scripts. The README states that npm run build creates the Chrome/Edge build in dist, and npm run build-ff creates the Firefox build in dist_ff:

bash
npm run build
npm run build-ff

For iterative work, npm start runs webpack in watch mode and rebuilds dist on every change; npm run start-ff is the Firefox variant. The README then says to load the result through chrome://extensions with "Load unpacked" for Chrome/Edge, or about:debugging with "Load Temporary Add-on" for Firefox. One release note is worth knowing here: V9.6.1 added an unlimited hard-drive storage mode, which suggests the default storage ceiling was previously a real constraint for long recordings.

The MCP bridge, and where the AI layer sits in the architecture

Release V10.0.31 introduced AI macro creation, the uiv.* API and the MCP bridge. The bridge lives in the mcp/ directory, and per the README it lets Claude Code and other MCP clients create, edit and run Ui.Vision macros in your browser. Setup instructions are in mcp/README.md rather than the top-level README.

The design detail that matters is what the AI is given. The published AI system prompt page is the complete uiv.* API reference plus the automation recipes the assistant works from, and the README says it is the same text the AI in the side panel uses. You can override it in Settings > AI > System Prompt. The same material is mirrored as llms-full.txt for feeding into an assistant.

What the README does not describe is a sandbox. An MCP client that can create and run macros in your browser is an MCP client with the same reach as your own hands on that browser profile. The README also notes the published prompt page is generated from src/services/ai/macro_agent/service.ts via npm run gen:ai-prompt-page, so the documentation and the runtime prompt can drift if that script is not run at release time.

Limits: browser-bound, forum-supported, and licensed without a single SPDX id

The first limit is architectural. Ui.Vision is a browser extension in the Chrome, Edge and Firefox stores. It is not a scheduler, not a queue and not a headless runner. A macro that must execute at 03:00 on a server has nowhere to execute, and the README offers no server component to change that.

The second limit is support. The README asks users to post questions in the Ui.Vision RPA forum first, saying the forum is monitored by active users, tech support and the developers, and that the discussion should be concentrated there. That is a reasonable community model and a poor fit for a procurement process that expects a support contract with response times.

The third is licensing clarity. The repository contains GNU-AGPL-3.0.txt and LICENSE.txt, while the package.json declares "license": "ISC" and the repository metadata reports NOASSERTION. Those do not agree, and nothing in the repository reconciles them. If you plan to redistribute a modified extension, read both files rather than the package.json field.

Finally, version drift. The README documents that the AI prompt page is regenerated by a script at release time, which means the published reference is only as current as the last release that ran it.

How it compares with Selenium and Playwright

The closest reference point is Selenium itself, since Ui.Vision is Selenium IDE compatible. The difference is where the runtime lives. Selenium drives a browser from outside through a WebDriver process; you own the language, the driver version and the CI wiring. Ui.Vision lives inside the browser, so there is nothing to wire up and nothing to keep in sync, and in exchange the automation is tied to a real interactive browser profile on a real desktop.

Playwright takes the opposite bet from Ui.Vision on almost every axis: code-first instead of recorder-first, headless-capable, designed for parallel runs, and installed as a package rather than a store add-on. If your task is a regression suite, Playwright is the better shape. If your task is "log into this portal every morning and download the report", the extension model removes an entire layer of infrastructure that Playwright would require you to maintain.

The uiv.* API narrows the gap somewhat, because JavaScript with auto-waiting finders and real exceptions reads much like a modern automation library. It does not change the deployment story. The code still runs inside the extension.

Maintenance and upgrade cost

The last push to the repository was on 2026-08-09, and the most recent release listed is V10.0.31 from 2026-08-01, which added AI macro creation, the uiv.* API and the MCP bridge. Release V9.6.1 on 2026-07-03 added unlimited hard-drive storage mode, and V9.6.0 on 2026-05-15 improved the OCR commands. The repository is not archived.

For users installing from a store, upgrades arrive through the store and cost nothing beyond re-checking macros that touch changed commands. For anyone building from source, the README pins Node V20.11.1 and NPM V10.2.4, and the build is webpack driven through webpack.prod.config.js with separate Chrome/Edge and Firefox outputs, so a Node upgrade is a real maintenance task rather than a formality. The uiv-commands.md mapping file is the piece to watch across upgrades: a command that has no native uiv.* method yet is routed through uiv.run, and that routing is the part most likely to change.

Editorial conclusion

Adopt Ui.Vision RPA if your automation lives in a browser, you already have Selenium IDE macros, or you want an AI client to drive a browser through the MCP bridge in mcp/README.md. Do not adopt it for headless server-side pipelines, for parallel execution across many machines, or where you need a support contract, because the README points users to the public forum instead. Before committing, verify three things: that your target sites tolerate an extension-injected macro, that the commands you depend on have a uiv.* equivalent in uiv-commands.md, and that the licence files in the repository (GNU-AGPL-3.0.txt and LICENSE.txt) match how you intend to redistribute the code, since the repository metadata does not declare a single SPDX identifier.

Frequently asked questions

What is RPA and how does it work?

RPA stands for robotic process automation: software that replays recorded or scripted steps through an application's user interface instead of an API. Ui.Vision RPA implements this inside a browser extension, where a macro is a sequence of command, target and value rows that the player executes.

What are the three types of RPA?

The repository does not classify RPA into types. What it does distinguish is two ways of writing a Ui.Vision macro: the classic Selenium IDE style command table, and modern JavaScript written against the uiv.* API.

What are the top 5 RPA tools?

The repository does not publish a ranking of RPA tools. It positions Ui.Vision against Selenium, whose IDE format it is compatible with, and against code-first libraries such as Playwright, which run headless and outside the browser rather than as a store-installed extension.

Will RPA be replaced by AI?

Ui.Vision's own direction is toward combining the two rather than replacing one with the other. Release V10.0.31 added AI macro creation, the uiv.* API and an MCP bridge in the mcp/ directory that lets Claude Code and other MCP clients create, edit and run Ui.Vision macros in your browser.

Official sources

  1. A9T9/RPA on GitHub
  2. Issues
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/a9t9-rpa.svg)](https://hysenlabs.com/projects/a9t9-rpa)