Lightweight desktop automation · A/C RPA

Fill in Excel,
automate everything

Write your steps into Excel (or just record them once) and let the computer do the rest — image recognition / window management / OCR / browser automation / workflow orchestration / NetLink multi-device / scheduled tasks / local AI enhancement, all built in.

Latest: (pre-release) · · 13.4 MiB · SHA-256 473f1db3…06d54

✔ Completely free · MIT open source ✔ Single file · portable, no installation ✔ One PC manages many machines on the LAN
ACRPA Desktop Automation
📜 Scripts
🧩 Workflow
📚 Templates
⚙ Settings

script_example.xls · Running ▸

Activate Window
Notepad
Find Image
button.png, 0.9
Type
Hello World
Wait
2.5
Click Image
submit.png, 0.9

Workflow diagram

▶ Login script→ Condition→ Parallel ×2→ ✓ Done
0
Built-in automation commands
0
Ready-to-use script templates
0
Step types · workflow orchestration
Latest version
USE CASES

Who Uses ACRPA

No programming required. Find your role below — every scenario is backed by built-in templates, sample scripts or dedicated commands.

🗂 Office Clerks / Admin

✅ Login, form filling, data collection, batch clicking, scheduled screenshot archiving — script a whole day of repetitive work once and let it run on time.
Backed by: built-in templates "Login Flow / Form Filling / Data Collection / Batch Click"

💰 Finance / Bank Reconciliation

✅ Download bank receipts, OCR invoice capture and entry, automatic reconciliation data transfer between systems and Excel — no more manual copy-paste row by row.
Backed by: Read Text / Wait Text / Click Text commands + bank receipt sample script

📊 Daily Reports & Scheduled Monitoring

✅ Scheduled screenshot archiving, automatic daily report generation and delivery, execute daily / weekly / at fixed intervals — it runs even when you are away.
Backed by: scheduled task engine + screenshot / send-mail sample scripts

🖥 Intranet Multi-Machine Ops

✅ One PC monitors the running status of many ACRPA instances on the LAN, pushes scripts in bulk with "run right after push", and progress is viewable from a phone browser.
Backed by: NetLink multi-device linking (zero extra dependencies)

🧑‍💻 Developers / Power Users

✅ Python command with three privilege levels (sandbox / trusted / full), plugin API, AI script generation, and a debugger with breakpoints / single-step / variable watch.
Backed by: Python extension + plugin system + built-in debugger

🛒 E-commerce · Bulk Listing

✅ Bulk product entry across platforms, scheduled price updates, stock checks, and automatic order status sync to Excel — hand the repetitive clicking over to a script.
Backed by: batch click / form filling / Excel read-write / scheduled task sample scripts
HOW IT WORKS

Up and Running in 3 Steps

From "record it once" to "fully automated" — in as little as 3 minutes.

①

Record it, or write it in Excel

Use the built-in recorder to run through the steps once and generate a script automatically; or write one command per row directly in a .xls sheet — 51 built-in commands, if you can fill a spreadsheet you can write a script.

②

Tune parameters, let AI locate

Just adjust the window title and parameters; if fixed coordinates are unstable, switch to "AI Find Image" and describe the element in plain language, or use OCR "Click Text" to locate by text — small UI changes stay adaptive.

③

Run it, then let it run

Run immediately, debug with breakpoints, or hand it to the scheduler; you can also distribute scripts in bulk over NetLink to many machines on the LAN.

SCREENSHOTS

Interface Overview

Real ACRPA screens. Click any image to enlarge.

Script editing screen
01 · Script Editing

Your spreadsheet is the script

Commands in column A, parameters in columns B–J — orchestrate automation without programming. Inline editing, copy-paste and breakpoint markers: the spreadsheet is the script, and there is no learning curve.

🖱 Click the image to enlarge
Execution and editing screen
02 · Execution & Editing

Run control and debugging hub

Run / pause / stop / single-step control, breakpoints and conditional breakpoints, variable watcher, call stack and execution time statistics — the run state is clear at a glance.

🖱 Click the image to enlarge
Workflow screen
03 · Workflow

Chain multiple scripts together

Visual flow diagram (nodes / connectors / drag-and-drop) with four step types — script, parallel, condition and wait — and live highlighting of the executing node.

🖱 Click the image to enlarge
Settings navigation screen
04 · Settings

Settings cards by category

Basic execution / AI enhancement / scheduling / logs / advanced settings are managed on separate cards and saved independently; the model dropdown auto-matches the correct API endpoint.

🖱 Click the image to enlarge
Dark mode screen
05 · Dark Mode

Light / dark themes, one click

Dark theme plus a collapsible Mini Bar status strip, resident in the system tray — more comfortable and easier on the eyes during long overnight automation runs.

🖱 Click the image to enlarge
CORE FEATURES

Core Features

From basic automation to intelligent workflows, ACRPA covers the entire desktop automation stack.

📦

Excel-driven scripts

Uses .xls spreadsheets as script files — commands in column A, parameters in columns B–J. Orchestrate automation without programming; the learning cost is minimal.

🖱

Image-based localization

Image recognition built on OpenCV / Pillow: full-screen and region-limited search, grayscale accelerated matching — locate and click any UI element precisely.

🪟

Window management

Operate Windows directly: activate, close, minimize, wait for a window to appear or disappear. Window-relative coordinates make it 10–100× faster than image matching.

🎬

Record & replay

Record mouse and keyboard actions (including drag, scroll and window activation), with wait intervals inserted automatically. Replay in one click — repetitive work is never manual again.

⏱

Scheduled tasks

Daily / weekly / interval / one-shot scheduling modes, executed silently in the background alongside the system tray and Mini Bar.

⚡

DD driver boost

Optional kernel-level high-performance input backend that simulates real keyboard and mouse input and is hard to detect. Supports direct / simulate / auto write modes with automatic fallback.

🧩

Workflow orchestration

Chain multiple scripts with a visual flow diagram (nodes / connectors / drag-and-drop) supporting four step types: script, parallel, condition and wait.

📊

Variable system

Set variables, read the clipboard, substring / replace, math operations — ${var} syntax works throughout, so complex data is easy to handle.

🔍

OCR recognition

Recognize text in a screen region, wait for text to appear, click on text. Compatible with PaddleOCR / Windows OCR / Tesseract — even dynamic interfaces can be automated.

🐞

Professional debugger

Breakpoints / conditional breakpoints, single-step, variable watcher, call stack, execution timing, run-to-cursor and skip-line — problems become obvious.

🌓

Dark mode

Switch between light and dark themes in one click. With the system tray and the Mini Bar floating status strip, automation runs quietly in the background.

📜

Logs & marketplace

Structured levelled logs with daily rotation, automatic cleanup and one-click export; built-in script marketplace (works offline) that keeps expanding the script ecosystem.

🔄

Automatic updates

Self-checks for new versions at startup and fetches the manifest with multi-source fallback (GitHub Releases → raw manifest → CDN mirror). Downloads show progress and are verified by sha256; if a mirror serves an old package it switches source automatically, then a one-click restart completes the replacement without touching your config or scripts.

🌐

Browser automation

Built-in Playwright web automation: open a page, click, type, wait for elements, full-page or element screenshots — desktop and web steps can be chained in the same script.

🛡️

Safety guards

Runaway protection (flick the mouse to abort immediately), maximum execution time limits, stop-on-error and failure retry policies — unattended runs still end safely.

COMMAND SYSTEM

Command System · 51 Built-in Commands

51 built-in commands: write one per row in Excel and use them right away. Click any command or example to copy it. See the README → for full documentation.

Expand the Command Reference · 7 categories · 51 built-in commandsFull docs in the README →
🎯 Basic Ops
🪟 Windows
🧮 Variables & Logic
🔍 OCR
🤖 AI
🧩 Workflow
🌐 Browser
CommandDescriptionExample
找图Search the whole screen for an image; on match, move the mouse to that position (hover)找图, hello, 0.9
点图Find an image and click it, with precision control点图, submit, 0.9
区域找图 / 区域点图Limit the scan region for faster matching, with grayscale acceleration区域找图, icon, 0.8, 100,100,500,500
坐标Click at the given screen coordinates; button, click count and interval are configurable坐标, 500, 300, left, 1, 0.1
悬停Move the mouse to the given coordinates悬停, 500, 300
按键 / 热键Simulate key presses and combinations (Ctrl+C / Ctrl+V and so on)热键, ctrl, c
输入 / 写入Paste-style input (unaffected by the IME) or character-by-character simulated typing (DD driver supported)写入, Hello, 0.05, auto
等待Delay / wait, supports random ranges (for example 1.0-3.0)等待, 1.0-3.0
滚轮 / 拖拽 / 相移Scroll, drag to given coordinates, or move relative to the current mouse position滚轮, -3
按下 / 释放Hold and release a key to implement press-and-drag and other complex actions按下, a
复制 / 粘贴Built-in shortcut combinations (Ctrl+A+C / Ctrl+A+V)复制
代码Execute Python code from a specified txt file (the program built-in libraries can be called)代码, my_code
截屏Take and save a screenshot; a timestamp is appended to the filename automatically截屏, shot, E:/ACRPA/screenshots
CommandDescriptionExample
激活窗口Activate the window with the given title; fuzzy matching supported激活窗口, Notepad
关闭窗口Close the specified window关闭窗口, Untitled - Notepad
最小化 / 最大化窗口Minimize the window to the taskbar / maximize it最小化窗口, Calculator
获取窗口位置Get the window coordinates and size and save them to variables获取窗口位置, Notepad, x, y, w, h
等待窗口Wait for a window to appear or disappear, with a configurable timeout等待窗口, Chrome, 10, exists
窗口坐标Click relative to the window top-left corner; stays accurate even after the window moves ★窗口坐标, Notepad, 100, 50
CommandDescriptionExample
设置变量Set a variable value; numbers are converted automatically and ${var} references work throughout设置变量, count, 100
读取剪贴板Read clipboard content into a variable读取剪贴板, clip_text
字符串处理Substring / replace operations on strings字符串处理, text, substring, 0:5, result
数学运算Perform math calculations; ${var} references are supported数学运算, ${x}*${y}+1, sum
如果 / 否则 / 结束如果Conditional branch control flow如果, ${count}>10
循环开始 / 循环结束Loop block, by iteration count or condition expression循环开始, 5
跳出循环Break out of the current loop immediately跳出循环
CommandDescriptionExample
识别文字OCR the text in a given screen region and store it in a variable识别文字, 0, 0, 800, 300, ocr_text
等待文字Wait for specified text to appear / disappear, with a configurable search region等待文字, Submit succeeded, 10, exists
点击文字Find the text position and click it; confidence and search region are configurable点击文字, Login now, 0.8
CommandDescriptionExample
AI找图Describe a UI element in natural language; AI analyzes the screenshot and locates it (click / hover / find only)AI找图, the login button, 0.8, click
AI识别界面AI analyzes all UI elements on the current screen; results are stored in a ${prefix}_elements variableAI识别界面, ui
AI优化建议AI analyzes historical execution data and gives script optimization suggestionsAI优化建议, log
[AI] 调试Ask AI in natural language; AI analyzes the logs and answers debugging questionsclick the [AI] Debug button
CommandDescriptionExample
运行工作流Invoke a workflow file (.json / .yaml) to run multi-script orchestration运行工作流, workflow.json
工作流变量Set workflow-level shared variables for use by multiple sub-steps工作流变量, var_name, value
CommandDescriptionExample
打开网页Open a URL in the built-in browser; suitable for post-login data retrieval, web form filling and similar flows打开网页, https://example.com
浏览器点击Click a web element by CSS selector or visible text浏览器点击, #login-btn
浏览器输入Fill text into the specified input box (located by selector)浏览器输入, #username, admin
等待元素Wait for a web element to appear / disappear, with a configurable timeout等待元素, .result, 10, 出现
浏览器截图Save a full-page or specific-element screenshot浏览器截图, result, page

Browser commands are implemented on Playwright, installed on demand (about 155 MB, not bundled with the main program); if it is missing, the command shows how to install it. Desktop and web steps can be chained serially in the same script.

Visual workflow diagram · nodes arranged by drag and drop

▶Login script
→
◇Condition: logged in?
↙↘
☰Parallel: data collection
⟳Retry ×3
↓
✓Build report · done
💡 During execution the current node is highlighted in green and failed nodes are marked in red; outer loop count and maximum execution minutes are configurable.
WORKFLOW

Workflow Orchestration

Chain several scripts into one pipeline and schedule it visually with a flow diagram.

📜
Four step types

Script (sequential), parallel (run several sub-steps at once), condition (if/else branch) and wait (delay).

🧩
Categorized action library

Flow control / mouse / keyboard / recognition / window / file / variable / browser, with search filtering and recent items; double-click to add a node quickly.

📝
Node-level control

Four node types — command / variable / loop / log — share one edit form and support enable-disable, comments, cloning, copy-paste and reordering.

🎯
Execution highlighting

The running node is highlighted live with result tracking; failed nodes are marked red, making debugging direct and efficient.

AI ENHANCED

AI Enhanced · From Automation to Intelligence

Add an API key to unlock four AI capabilities, with a unified model registry covering DeepSeek / Qwen / GPT / Claude.

👁️

AI visual localization

Describe a UI element in natural language (for example "the login button"); AI analyzes the screenshot, locates it intelligently and clicks or hovers.

🔄

AI smart retry

After a failure AI analyzes the cause and adaptively adjusts parameters before retrying — smarter than a fixed retry count.

🚨

AI anomaly detection

AI continuously watches for abnormal screens and states during a run and warns early, preventing incorrect operations from spreading.

💬

Natural-language debugging

Ask AI directly about logs and execution issues; it analyzes them and returns conclusions plus optimization advice — debugging with no barrier to entry.

💡 AI features require an API key in Settings (DeepSeek / Qwen / GPT / Claude supported); the model dropdown auto-matches the correct API endpoint, so no manual configuration is needed.
TEMPLATES

Sample Script Library · Ready to Run

Ten ready-to-use templates cover office, system and interaction scenarios — import one and run it. Combined with conditions, loops and AI generation, they can be quickly adapted into complex flows.

Office Office · Daily Tasks

  • Login flow
  • Form filling
  • Data collection
  • Text editing

System System · OS Operations

  • Page screenshot
  • File download
  • Window switching

Interaction Interaction · UI Operations

  • Batch clicking
  • Scroll browsing
  • Context menu
📂 Quick start: pick a template → "File" → "Import Script" and choose a .xls → adjust the window title and parameters → click "Run" (or press F5) to see it work.
Bonus business samples — send mail, bank receipts, interval clicking, script templates and more — ship as bundled .xls files, ready to import and use.
TECH STACK

Tech Stack & Runtime

Lightweight, fast cold start, small footprint. Available as an install-free exe or run from source.

🧰 Tech Stack

Python 3.7+ tkinter PyAutoGUI OpenCV Pillow pywin32 DD driver PaddleOCR Windows OCR Tesseract AI API Playwright

Packaged as a single-file exe — double-click and go. If OpenCV is unavailable it falls back to Pillow matching automatically, so it stays stable instead of crashing.

Full documentation / README →

⚙️ Key Configuration (config.json)

dark_mode Light / dark theme switch
retry_max / retry_interval Failure retry count and interval
image_timeout Image match timeout in seconds
api_key / api_model AI key and model selection
use_dd_driver DD driver high-performance input
minimize_to_tray / mini_bar_enabled Tray residency and collapsible status bar
sched_enabled / sched_tasks Scheduled task execution
log_level / log_retention_days Log level and retention days
stop_on_error / failsafe Stop-on-error and runaway protection
check_update / app_protect Startup update self-check and process guard
CHANGELOG

Release History

Continuous iteration, recently focused on the update mechanism, workflow orchestration, AI enhancement and stability. See GitHub Releases → for the full history.

SECURITY · TRUST

Safe Enough to Double-Click, Open Enough to Read

The hardest question for a desktop automation tool is "should I dare install it?". ACRPA answers with: open source, local, install-free.

🔓 Open and auditable|MIT licensed, source fully public and mirrored on GitHub and Gitee — anyone can review it and build it themselves.
🔑 Keys stay on your machine|AI API keys are stored in the Windows credential store, never written to config.json, and your activity is never uploaded.
💻 Local-first execution|Core automation runs on your machine with no server dependency; with AI disabled it is fully offline.
📦 Portable, no installer|A single-file exe that runs once unzipped. It writes nothing to the system and installs no runtime — deleting the folder uninstalls it.
⚠️ On first run Windows may show "Unknown publisher" / SmartScreen. This is normal and happens because the binary is not signed with a paid code-signing certificate — click "More info → Run anyway", or add the install folder to your antivirus allowlist.

Known Limitations (Stated Honestly)

  • The current is a pre-release (beta); validate it in a test environment before putting it into production.
  • The exe is not signed with a paid certificate, so SmartScreen or antivirus software may block the first run (see the note above for how to proceed).
  • Scripts support .xls only (.xlsx is not supported yet); image assets must be PNG, and avoid non-ASCII characters in paths and filenames.
  • NetLink is designed for the local network (LAN); real-world cross-machine validation is still in progress and the web panel is off by default.
  • AI features need your own API key (DeepSeek / Qwen / OpenAI / local Ollama and other OpenAI-compatible endpoints are supported).
FAQ

Frequently Asked Questions

A few things you may want to know before downloading.

Do I need Python installed?
No. Download the portable exe and double-click to run — no Python installation required. You only need Python 3.7+ if you want to modify the source.
Which operating systems are supported?
Windows (x64) desktop only, available as a portable build and an installer. macOS and Linux are not supported at this time.
What format are scripts in?
Excel .xls spreadsheets (.xlsx is not supported yet): one command per row, with the command name in column A and parameters in the following columns. Ten templates and a recorder are built in to generate scripts automatically. Image assets must be PNG, and avoid non-ASCII characters in paths and filenames.
Is it really free? Can I use it commercially?
Completely free under the MIT license. Individuals and companies alike may use, modify and commercialize it. No feature or time limits, no ads, no in-app purchases.
Antivirus or SmartScreen flags it. What now?
Because the binary is not signed with a paid certificate, the first run may be blocked. Click "More info → Run anyway" or add the folder to your allowlist; you are also welcome to build from source and verify it yourself.
Do the AI features cost extra?
ACRPA itself is free. AI uses your own model key (DeepSeek / Qwen / OpenAI / Anthropic / local Ollama and so on) and is billed by that provider based on usage. Without AI it runs fully offline at zero cost.
How is it different from other RPA tools?
It is lighter (single file, no installation), more approachable (an Excel spreadsheet is the script, so anyone can read and write it), supports local AI visual localization, and is fully open source so you can modify the code for free.
Are my scripts and data safe?
Automation runs locally, keys are kept in the system credential store, and the program neither collects nor uploads your operational data.

Start Your Automation Journey

Questions, ideas, or want to contribute? Get in touch with the author.

WeChat QR code
ACRPA QQ group QR code
📧 Email: yoho12138@aliyun.com
🤝 Scan to add on WeChat and swap automation tips
🐧 QQ group: 682075338
⭐ Suggestions, bug reports and contributions are all welcome