MCPcopy
hub / github.com/pmh1314520/WebRPA

github.com/pmh1314520/WebRPA @v2.3.65 sqlite

repository ↗ · DeepWiki ↗ · release v2.3.65 ↗
7,422 symbols 22,230 edges 633 files 2,561 documented · 35%
README
<img src="https://github.com/pmh1314520/WebRPA/raw/v2.3.65/png/logo.png" width="100" alt="WebRPA Logo"/>

WebRPA - Web Robotic Process Automation Tool

version modules license author Python React TypeScript

中文 · EN

A powerful visual web automation tool (with some support for Windows desktop automation and Android automation). Build automation workflows quickly by dragging and dropping modules — no coding required — to accomplish web data scraping, form filling, automated testing and more.

Important notice: This software is provided only as a technical tool. Users must comply with all applicable laws and regulations; the developer assumes no liability for how users use it. See the Disclaimer.

【Please download the latest 7z archive from Releases — the latest source code and runtime are all inside; extract and run.】

Support WebRPA development: Afdian page

Overview

WebRPA is a fully open-source, offline-capable visual Robotic Process Automation (RPA) tool. Built around a drag-and-drop workflow editor, it lets you compose web, desktop and mobile automation flows without writing a single line of code — covering data scraping, form filling, file processing, office automation and system integration.

The project ships with 560+ built-in modules and a self-healing AI assistant: describe what you need in one sentence and the AI builds, debugs and re-runs the workflow for you. Every runtime (Python 3.13, Node.js, the browser engine, and the media/document tools) is bundled — extract, double-click the launcher, and go. No internet and no extra installation required, which makes it a natural fit for intranet and LAN deployments.

  • Who it's for: operations, QA, data, office and development staff who want to offload repetitive work — with or without a coding background.
  • What it is: a zero-code, visual, ready-to-use and fully offline all-in-one automation platform.
  • Licensing: free for personal and non-commercial use (AGPL-3.0); commercial licenses are available for business use.

Features

Core advantages

  • Zero-code development: Visual drag-and-drop, no programming background required
  • Ready to use: Bundled Python and Node.js runtimes, one-click start
  • Rich modules: 560+ functional modules covering 95% of automation scenarios (including DrissionPage-based anti-detection web automation modules)
  • AI Assistant: A built-in AI assistant that understands intent in chat, auto-builds/troubleshoots workflows, and has self-healing ability (on failure it diagnoses → fixes → re-runs). OpenAI-compatible protocol, supporting OpenAI / Zhipu / DeepSeek / Ollama and more. Three permission levels (Per-action confirm / Smart auto / Full access), and one-click AI Diagnosis when the editor errors out
  • Never goes blank: A global error boundary catches everything — any module exception shows an error card (with details and AI Diagnosis) instead of letting the editor white-screen
  • Version history: Git-style local snapshots (including nodes, edges and global variables) that can be restored / compared anytime; the assistant auto-saves a snapshot before big changes
  • WebDAV remote storage: Workflows can be saved to / loaded from NAS, Nextcloud, Jianguoyun, etc., shared across devices
  • Custom shortcuts: Common actions (run / stop / save / new, etc.) can be freely bound to key combinations
  • Beautiful UI: Modern UI design with lively Motion animations and smooth interactions, with Mermaid flowchart support
  • High performance: Built on FastAPI + React for fast responses
  • Easy to extend: Modular architecture, supports custom module development and MCP server integration
  • Complete docs: Built-in detailed tutorials covering all module categories
  • Completely free: Free for non-commercial use, open and transparent
  • Smart search: Modules and tutorials support fuzzy search by Chinese, Pinyin and Pinyin initials
  • Visual flow: Built-in Mermaid flowcharts intuitively show workflow logic
  • Variable autocomplete: Default variable names are added to the autocomplete list when modules are created
  • One-click EXE packaging: Compile any workflow into a standalone Windows executable, with a built-in visual "EXE runtime UI designer" to freely place controls — double-click to run, no runtime install needed on the target machine
  • Theme switching: Built-in default / dark / gray themes you can switch at will
  • Fully offline: All resources are local, no internet required, perfect for LAN deployment

Key module capabilities

Backed by 560+ built-in modules (organized by scenario, drag onto the canvas to use), WebRPA covers the following key capabilities:

  • Web automation: page navigation, element interaction and query, data scraping, network capture, plus DrissionPage-based anti-detection automation
  • Desktop automation: real mouse/keyboard simulation, image-recognition clicking, screen recording, desktop control operations, system operations
  • Mobile automation: Android tap / swipe / input, screen mirroring, app management, file push/pull, image recognition
  • Flow control & triggers: condition, loop, subflow reuse, assertions, scheduled tasks, and triggers for Webhook / hotkeys / file watch / email / image / sound
  • Data processing: variable operations, text processing, list / dict / math & statistics, tables and CSV
  • Excel & databases: full openpyxl Excel automation, WPS / Feishu bitables, and databases such as MySQL / PostgreSQL / Redis
  • AI capabilities: AI chat and vision, AI data processing (extract / classify / summarize / translate / sentiment / normalize / semantic dedup / smart routing), AI generation (text-to-image / text-to-video), AI smart crawler and element locating, OCR and CAPTCHA recognition
  • Media processing: image editing, blind watermarking, video and audio processing, media format conversion
  • Files & documents: file management, file/folder comparison, PDF processing (merge / split / encrypt / watermark / to Word, etc.), document format conversion
  • Integration & communication: HTTP requests, email, 17 notification channels, QQ / WeChat bots, SSH remote, SAP automation, LAN sharing
  • Utilities & testing: encryption/encoding, color & time conversion, script execution (JS / Python), Allure test reports

Screenshots









Quick start

Requirements

  • Windows 10/11 (this project supports Windows only)
  • Bundled Python 3.13 and Node.js (no extra installation needed)

How to start

Download the latest 7z archive from Releases, extract it, and launch the project with WebRPA启动器.exe (WebRPA Launcher):

  1. Double-click WebRPA启动器.exe
  2. Configure the backend and frontend ports in the launcher
  3. Click the "Start WebRPA" button to start the services
  4. The launcher automatically opens your browser to the frontend UI

Default URLs: - Backend: http://localhost:5241 (default port, configurable in the launcher) - Frontend: http://localhost:5921 (default port, configurable in the launcher)

Configuration file

The WebRPAConfig.json file in the project root lets you customize service ports and host addresses:

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

Configuration notes: - host: service listening address (0.0.0.0 allows LAN access, 127.0.0.1 is local-only) - port: service port (customizable to avoid conflicts) - reload: backend hot reload (true for development, false recommended for production)

Restart the services after changing the configuration for it to take effect.

Notes: - If a configured port is already in use, the service will fail to start and report a port conflict - Make sure the configured ports are free, or change them to other available ports - On Windows, use netstat -ano | findstr :PORT to check port usage - The launcher automatically reads and saves the port settings in the configuration file - You can also edit WebRPAConfig.json directly to configure ports

Development mode

To modify the code for development:

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

# Frontend
cd frontend
../nodejs/npm install
../nodejs/npm run dev

Project structure

WebRPA/
├── backend/                 # Backend service (Python FastAPI)
│   ├── app/
│   │   ├── api/            # API routes (browser, system, triggers, etc.)
│   │   ├── executors/      # Module executors (core logic of 542 modules)
│   │   ├── models/         # Data models (workflows, variables, config, etc.)
│   │   └── services/       # Core services (browser management, task scheduling, etc.)
│   ├── data/               # Data files (AI models, config, etc.)
│   ├── uploads/            # Temporary storage for uploaded files
│   ├── ffmpeg.exe          # Media processing tool
│   ├── ffprobe.exe         # Media info tool
│   ├── pandoc.exe          # Document conversion tool
│   ├── m3u8.exe            # M3U8 video downloader
│   ├── requirements.txt    # Python dependency list
│   └── run.py              # Backend entry point
├── frontend/               # Frontend UI (React + TypeScript)
│   ├── src/
│   │   ├── components/     # UI components (workflow editor, config panel, etc.)
│   │   ├── store/          # State management (Zustand)
│   │   ├── services/       # API services, WebSocket communication
│   │   ├── types/          # TypeScript type definitions
│   │   └── lib/            # Utilities (Pinyin search, helpers, etc.)
│   ├── public/             # Static assets
│   ├── package.json        # Frontend dependencies
│   └── vite.config.ts      # Vite build config
├── frameworkHub/           # Workflow hub service (Node.js + Express)
│   ├── src/
│   │   ├── routes/         # API routes (workflow upload, download, search)
│   │   ├── middleware/     # Middleware (auth, logging, etc.)
│   │   └── utils/          # Utilities
│   ├── data/               # Workflow data storage (SQLite)
│   ├── package.json        # Node.js dependencies
│   └── ecosystem.config.cjs # PM2 process config
├── Python313/              # Bundled Python 3.13 runtime
│   ├── Lib/                # Python standard library
│   ├── Scripts/            # Python executables
│   └── python.exe          # Python interpreter
├── nodejs/                 # Bundled Node.js 20 runtime
│   ├── node_modules/       # Global npm packages
│   └── node.exe            # Node.js runtime
├── NapCat/                 # QQ bot service (NapCat framework)
├── workflows/              # Local workflow storage directory
├── png/                    # README screenshots
├── LICENSE                 # Open-source license (AGPL-3.0 + Commercial)
├── README.md               # Project documentation
├── WebRPAConfig.json       # Configuration file (ports, host, etc.)
└── WebRPA启动器.exe        # One-click launcher (GUI)

Usage

The project ships with complete tutorials — click the "Tutorials" button in the toolbar to view them.

Basic operations

  1. Create a workflow: Drag modules from the left module list onto the canvas
  2. Connect modules: Drag a wire from the bottom of one module to the top of the next
  3. Configure modules: Click a module and set parameters in the right panel
  4. Use variables: Reference variables in input fields with {variableName}
  5. Run the workflow: Click the run button in the toolbar
  6. View results: Check logs, data and variables in the bottom panel

Documentation features

  • Detailed tutorials covering all 542 modules
  • Third-level heading search: results are pinpointed to third-level headings (###) for fast navigation
  • Keyword highlighting: search keywords are automatically highlighted in the docs
  • Persistent search state: search and highlighting are kept when switching docs, for easy comparison
  • Mermaid flowcharts: built-in beautiful flowcharts that intuitively show workflow logic
  • Rich examples: every module has detailed configuration notes and code examples
  • Best practices: workflow design patterns and optimization tips
  • Quick onboarding: a progressive learning path from basic to advanced
  • Always up to date: docs are updated with each release
  • Doc export: download a single doc or all docs as Markdown files

Tech stack

Frontend

  • Core framework: React 19 + TypeScript 5
  • Build tool: Vite 7 (blazing-fast dev experience)
  • UI library: Radix UI + shadcn/ui (accessible, customizable)
  • Styling: TailwindCSS 4 (atomic CSS)
  • Flowchart engine: React Flow (visual workflow editing)
  • State management: Zustand (lightweight, high-performance)
  • Icons: Lucide React (1000+ beautiful icons)
  • Animation: Framer Motion (smooth, lively UI animations for better feel)
  • Code editor: Monaco Editor (same as VS Code)
  • Markdown rendering: cust

Extension points exported contracts — how you extend this code

ProgressProps (Interface)
* Progress 组件 - 进度条 * 视觉:浅灰底 + 品牌蓝填充 + 流光高亮
frontend/src/components/ui/progress.tsx
RadioGroupContextValue (Interface)
* Radio / RadioGroup - WebRPA 主题定制单选按钮(不依赖原生 input[type=radio]) * * 用法: * <RadioGroup value={v} onValueChange={setV
frontend/src/components/ui/radio-group.tsx
MCPServerConfig (Interface)
* MCP(Model Context Protocol)配置面板 * * 功能: * - 列出已配置的 MCP server,显示连接状态和工具数量 * - 添加 / 编辑 / 删除 server(支持 stdio / sse /
frontend/src/components/workflow/MCPConfigPanel.tsx
FieldDef (Interface)
字段定义
frontend/src/components/workflow/config-panels/ExcelModuleConfig.tsx
DebugState (Interface)
* 可视化调试状态:断点集合 + 暂停态。 * 断点是"画布编辑态"数据(持久跟随节点);暂停态是"运行态"数据。
frontend/src/store/debugStore.ts

Core symbols most depended-on inside this repo

get
called by 3692
backend/app/executors/base.py
get
called by 1936
backend/app/services/variable_manager.py
resolve_value
called by 1627
backend/app/executors/base.py
_add_line
called by 757
backend/app/services/playwright_exporter.py
exists
called by 469
backend/app/services/variable_manager.py
set_variable
called by 465
backend/app/executors/base.py
log
called by 273
backend/app/executors/base.py
to_int
called by 270
backend/app/executors/type_utils.py

Shape

Function 3,435
Method 2,402
Class 951
Route 353
Interface 281

Languages

Python73%
TypeScript27%

Modules by API surface

backend/app/executors/advanced.py204 symbols
backend/app/services/playwright_exporter.py179 symbols
frontend/src/components/workflow/config-panels/AdvancedModuleConfigs.tsx108 symbols
backend/app/executors/basic.py107 symbols
backend/app/services/ai_assistant_skills.py104 symbols
backend/app/executors/desktop_automation.py100 symbols
backend/tests/test_enterprise_platform.py94 symbols
backend/app/executors/media.py87 symbols
backend/app/executors/database_advanced.py87 symbols
backend/app/services/script_exporters.py84 symbols
backend/app/executors/advanced_openpyxl_pro.py84 symbols
backend/app/api/phone.py79 symbols

Dependencies from manifests, versioned

@eslint/js9.39.1 · 1×
@monaco-editor/react4.7.0 · 1×
@radix-ui/react-dialog1.1.15 · 1×
@radix-ui/react-dropdown-menu2.1.4 · 1×
@radix-ui/react-switch1.2.6 · 1×
@tailwindcss/vite4.1.18 · 1×
@tauri-apps/api2.0.0 · 1×
@tauri-apps/cli2.0.0 · 1×
@types/node24.10.4 · 1×
@types/react19.2.5 · 1×

Datastores touched

dbDatabase · 1 repos
(mongodb)Database · 1 repos

For agents

$ claude mcp add WebRPA \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact