Model or dataset
pmh1314520/WebRPA avatar
pmh1314520/WebRPA

WebRPA for offline no-code workflow automation

A powerful no-code automation tool. Build workflows via drag-and-drop modules for web scraping, form filling and automated testing. | 一款功能强大的自动化工具,通过拖拽模块的方式快速构建自动化工作流,无需编写任何代码即可实现网页数据采集、表单填写、自动化测试等任务。【QQ交流群:115069513】

1,907 stars192 forksPythonNOASSERTION

At a glance

What is it?
WebRPA is a Windows-only visual automation platform for building browser, desktop, and Android workflows through drag-and-drop modules. Its bundled runtimes and offline packaging simplify deployment, but the Windows restriction, modular add-ons, and custom commercial licensing terms require careful evaluation.
Who is it for?
WebRPA fits Windows users who need a local visual editor for browser, desktop, or Android automation without assembling Python and Node.js themselves. It is unsuitable for macOS or Linux teams and for organizations that require a plainly documented, standard open source license without separate commercial terms.
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 last received commits 8 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

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

Editorial analysis

WebRPA's target problems and supported environments

WebRPA addresses repetitive work that would otherwise require hand-built scripts. Its stated use cases include collecting data from websites, filling forms, executing automated tests, processing files and documents, and connecting external services. The intended users include operations, testing, data, office, and development staff, particularly people who want a visual workflow definition rather than a Python or TypeScript program. Browser automation is central to the project, but it also supports a limited amount of Windows desktop control and Android automation.

The platform targets Windows 10 and Windows 11 only. That restriction affects more than the editor. Browser interaction, desktop input through simulated mouse and keyboard control, screen recording, image recognition, Android device operations, executable packaging, and the supplied launcher all place the project within a Windows operating environment. A team with mixed operating systems cannot assume that a workflow authored on Windows will have an equivalent supported runtime elsewhere.

The distribution model is unusually self-contained. The README says release archives contain the source code and runtime environment, including Python 3.13, Node.js, browser engines, media tools, and document-processing tools. It also presents WebRPA as suitable for offline and local-network operation. This design targets users who want the application available without installing a separate development stack or depending on a hosted automation service. It also makes the release archive, rather than a package-manager installation, the primary adoption path.

Drag-and-drop workflows across the WebRPA architecture

Based on the repository layout, WebRPA separates the workflow experience into a React and TypeScript frontend and a Python FastAPI backend. The frontend contains the workflow editor, configuration panels, Zustand state, API clients, WebSocket communication, and search utilities. The backend owns API routes, data models, service logic, and the executors that implement module behavior. This split places visual workflow construction in the browser while execution remains in the Python process.

A workflow is represented through modules and connections on the editor canvas. Module implementations under `backend/app/executors/` provide the actions invoked by the backend, while models represent workflows, variables, and configuration. Variables created through modules are added to the editor's autocomplete list, and the canvas can also present workflow logic as a Mermaid diagram. Conditions, loops, subflows, assertions, schedules, webhooks, file monitoring, email, images, and sounds are listed as control-flow or trigger capabilities.

The editor also provides local version snapshots containing nodes, connections, and global variables. According to the README, these snapshots support comparison and restoration, and the AI assistant creates an archive before major changes. Debugging includes breakpoints, single-step execution, and starting at an arbitrary node while skipping its upstream path. That last feature matters for long workflows because it avoids forcing an editor to replay earlier browser or desktop actions merely to reach the failing section.

WebRPA's AI assistant is described as OpenAI-compatible, with documented support for OpenAI, Zhipu, Deepseek, and Ollama. It can generate, diagnose, repair, and rerun workflows. Three permission modes are listed: item-by-item confirmation, intelligent approval, and unrestricted execution. These controls materially affect trust requirements. A permissive mode is different from an assistant that asks before each external action, so deployment policy should account for the selected mode rather than treating AI access as one undifferentiated feature.

Installing WebRPA and creating a first browser workflow

The supported installation starts from a release archive, not from a documented package-manager command. Download the latest 7z archive from Releases, extract it, and double-click `WebRPA启动器.exe`. The launcher lets you choose backend and frontend ports. Select "启动 WebRPA" to start both services, after which the launcher opens the frontend in a browser. The documented defaults are `http://localhost:5241` for the backend and `http://localhost:5921` for the frontend.

The first workflow can be created through the visual editor described in the README: drag modules onto the canvas, connect them in execution order, and configure the required values through module panels. A browser use case would begin with a navigation module, followed by the interaction or extraction modules needed by the target site, with subsequent modules assigned to store or transform the resulting data. The README does not publish an exact click-by-click recipe or a named starter workflow, so a more specific sequence cannot be documented without guessing.

Port and host settings can also be edited directly in `WebRPAConfig.json`:

json
{
  "backend": {
    "host": "0.0.0.0",
    "port": 5241,
    "reload": false
  },
  "frontend": {
    "host": "0.0.0.0",
    "port": 5921
  }
}

Restart the services after changing this file. `0.0.0.0` exposes the listening services on available network interfaces, while `127.0.0.1` restricts them to the local machine. Because the supplied configuration binds both services to `0.0.0.0`, verify firewall and local-network access before using the distribution on a shared network.

For source development, the README gives separate backend and frontend commands. The bundled runtime is referenced relative to the repository, so this procedure expects the extracted runtime layout described by the project:

bash
cd backend
../Python313/python.exe -m pip install -r requirements.txt
../Python313/python.exe run.py

Run those commands from the backend directory to install its Python requirements and start `run.py`. In a second terminal, the documented frontend commands are:

bash
cd frontend
../nodejs/npm install
../nodejs/npm run dev

The README describes these as development-mode commands. It does not document production reverse-proxy configuration, authentication controls, service installation, or Linux and macOS startup steps.

Core package boundaries and optional automation modules

WebRPA 3.2.6 can be distributed as a smaller core package with optional capability archives. The README says heavy features are separated into 13 packages covering areas such as OCR, speech recognition, face and gesture processing, media, document conversion, phone automation, and QQ bot functionality. Together, these packages are described as approximately 2.8GB. That separation reduces the initial archive, but it also means module availability depends on which package the user installs.

Packages are managed through the editor's "更多" menu and then "功能模块包". A local zip can be installed from a path, or the zip can be uploaded. The README states that installation does not require a restart and that unused packages can be removed to recover disk space. If a workflow calls a capability whose package is absent, the corresponding module should report that the required feature package must be installed; other modules remain available.

This design creates a meaningful adoption boundary. Purchasing or downloading the core archive does not necessarily provide every module shown in the project. An engineering team evaluating desktop OCR, Android control, or media conversion must inventory its actual requirements and map each one to a feature package. The workflow itself is not enough, because the runtime libraries and executables for some modules are deliberately outside the core distribution.

The repository includes bundled `ffmpeg.exe`, `ffprobe.exe`, `pandoc.exe`, and `m3u8.exe` under the backend area. The feature-package mechanism exists partly because not every organization needs the full set of media, document, and recognition tools. Smaller installations reduce download and storage requirements, but they introduce package-state checks into deployment planning.

Debugging, versioning, and AI failure boundaries

WebRPA provides several controls for diagnosing workflow failures. The editor offers breakpoints, single-step execution, arbitrary-node starts, detailed error cards, and one-click AI diagnosis. The README says a global error boundary prevents a module exception from blanking the entire editor. This does not guarantee that an automation action will succeed, but it does mean that the documented interface retains error information and access to diagnosis rather than treating every exception as a fatal editor failure.

Local version history follows a Git-like model and includes nodes, connections, and global variables. That scope covers more than visual layout, which is important when a failed run changes variables or workflow structure. Restoring a snapshot can therefore return an editor to a coherent prior state. The README does not document retention limits, snapshot storage size, conflict behavior between devices, or whether remote WebDAV synchronization merges history. Those details need verification before treating version history as a compliance or production audit system.

The AI assistant's self-healing path is described as failure diagnosis, repair, and rerun. The documentation gives permission levels but does not define rollback guarantees if an automated repair changes a workflow incorrectly. Version snapshots and pre-change archives are relevant safeguards, yet the project does not state that every AI repair is automatically reversible. Operators should also distinguish between a module exception, an incorrect successful result, and an external service rejection. The documented error card covers execution errors, but visual debugging and assertions are still needed when a workflow completes with the wrong data.

For long-running or unattended processes, the documented trigger set includes schedules, webhooks, hotkeys, file monitoring, email, image, and sound. The repository summary does not document retry policy, idempotency guarantees, concurrency limits, or recovery after a host restart. Those operational properties cannot be inferred from the presence of triggers and local snapshots.

License, maintenance, and upgrade implications

The repository metadata reports a custom license that GitHub cannot classify, while the README badge describes AGPL-3.0 plus commercial authorization and says personal and non-commercial use is free. A commercial license may be obtainable separately. These statements are not enough to determine exact obligations for a particular deployment, and they are not consistent enough to replace the repository's actual license text. Review `LICENSE` and obtain the applicable commercial terms before distributing WebRPA or using it in a business workflow.

The repository is not archived. Its last push was on 2026-10-10, and the listed releases include v3.2.6 on 2026-09-19, v3.2.0 on 2026-08-16, and v3.1.0 on 2026-07-27. This history indicates recent development activity, but it does not establish a long-term support policy or compatibility promise between releases.

Upgrades carry more than ordinary dependency risk. WebRPA packages Python 3.13, Node.js, browser engines, media utilities, document tools, workflows, AI models, and optional capability archives. The modular distribution system adds another state that administrators must track: which zips are installed and which are merely available. The README says upgraded full installations detect actual files rather than depending on installation records, which reduces one class of stale-state problem. It does not document automatic migration of saved workflows between major versions, rollback of an upgrade, or whether old feature packages remain compatible with a new core package.

WebRPA instead trades that code-level control for a visual module library, bundled runtimes, offline packaging, and non-programmer editing. The choice is therefore between editor convenience and direct control, not between two interchangeable drag-and-drop products.

Editorial conclusion

WebRPA fits Windows users who need a local visual editor for browser, desktop, or Android automation without assembling Python and Node.js themselves. It is unsuitable for macOS or Linux teams and for organizations that require a plainly documented, standard open source license without separate commercial terms. Before adoption, inspect the LICENSE file, confirm the required feature packages are included, test the workflow against the target applications, and verify that binding both ports to `0.0.0.0` matches the deployment's network policy.

Frequently asked questions

Which operating systems does WebRPA support?

WebRPA supports Windows 10 and Windows 11. The README does not document macOS or Linux installation, so the bundled launcher and desktop automation features should not be assumed to work on those systems.

Does a WebRPA core installation include every automation module?

No. Heavy capabilities are distributed through 13 optional feature packages, described as totaling about 2.8GB. Install the required zip through the editor's feature-package manager before using modules that depend on those packages.

Can WebRPA run without internet access?

The README describes WebRPA as fully offline and says the release archive includes Python 3.13, Node.js, browser engines, media tools, and document-processing tools. Connecting an AI assistant to a remote model is a separate capability and may require network access, depending on the configured provider.

Can WebRPA workflows start on Windows desktops and Android devices?

The README says WebRPA supports limited Windows desktop automation and Android automation, including mouse and keyboard simulation, image-based clicking, Android gestures, input, app management, and file transfer. It does not claim equal support for every desktop or Android operation.

What license applies to commercial use of WebRPA?

The README says personal and non-commercial use is free under AGPL-3.0 and says a commercial authorization is available. The repository metadata instead labels the license as a custom license, so the exact terms must be checked in `LICENSE` and the applicable commercial agreement.

Official sources

  1. Issues
  2. pmh1314520/WebRPA on GitHub
  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/pmh1314520-webrpa.svg)](https://hysenlabs.com/projects/pmh1314520-webrpa)

Was this useful?