Introduction
"Let AI not just think clearly — but actually get things done."
This is the 178th article in the "One Open Source Project a Day" series. Today's project is AstronRPA.
AI Agents are good at reasoning, but struggling with complex desktop operations — clicking a button, organizing Excel data by rules, exporting a report from an ERP system, automatically replying to emails… From an Agent's perspective, every one of these steps requires calling "some tool." The reality is that most enterprise systems simply don't have APIs.
RPA (Robotic Process Automation) is the traditional answer: operate mouse and keyboard like a human, automating any desktop application. AstronRPA's value is that it connects RPA with AI Agents — the Agent can call RPA workflow nodes directly, and RPA workflows can embed Agent tasks, forming a complete loop from reasoning to decision to execution.
5.5k Stars, Apache-2.0, built by iFLYTEK (科大讯飞).
What You Will Learn
- The
astronverse.*component package ecosystem (300+ atomic capabilities) - The bidirectional integration architecture between RPA and AI Agent (Astron Agent)
- The full-stack layering: Vue 3 + Electron + Java Spring Boot + Python FastAPI
- How the MCP service trigger lets Agents directly drive RPA workflows
- Enterprise features: scheduling, monitoring, permissions, multi-team collaboration
Prerequisites
- Understanding of RPA (Robotic Process Automation) basics
- Familiarity with AI Agent tool-calling mechanics
- Optional: understanding Docker Compose deployment
Project Background
What It Is
AstronRPA positions itself as an "enterprise-grade, open-source, Agent-ready RPA desktop application."
"Agent-ready" is the core differentiator from traditional RPA tools: it doesn't just automate desktop operations, it lets AI Agents call those automation capabilities as tools — the same way they'd call a function.
In real enterprise contexts, this solves a genuine pain point: many core systems (financial ERP like Kingdee and YonYou, legacy internal management systems) have no API. Agents can't reach them directly. But RPA can — it acts like a "virtual employee," using mouse and keyboard on behalf of a human. Exposing RPA workflows for Agent calls is like giving the Agent hands that can operate any system.
Author / Team
- Team: iFLYTEK (科大讯飞) — a major Chinese AI and speech technology company
- Contact: cbg_rpa_ml@iflytek.com
- Companion project: Astron Agent (9k Stars — enterprise Agent workflow platform)
- License: Apache-2.0
Project Stats
- ⭐ GitHub Stars: 5,500+
- 🍴 Forks: 590+
- 📄 License: Apache-2.0
- 💻 Primary Language: Vue 3 + TypeScript + Python + Java
- 🖥️ Supported OS: Windows 10/11
- 📦 Server: Docker Compose deployment
Core Features
What Problem It Solves
AstronRPA bridges AI Agents and enterprise systems:
Traditional RPA (isolated):
Manual trigger → robot executes desktop operations → done
↑ Only handles preset rules, halts on exceptions
AI Agent (lacks execution means):
Reasoning → tool call → execution
↑ Most enterprise systems have no API, can't be reached
AstronRPA (closed loop):
AI Agent reasons and decides
↓ calls RPA workflow node (via MCP/API/direct call)
AstronRPA executes desktop operations
├── Operate Kingdee/YonYou financial systems
├── Process Excel data, organize reports
├── Browser automation (Chrome/Edge)
├── Recognize images, click UI elements
└── Send emails, generate PDF reports
↓ return execution result
AI Agent makes next decision based on result
Usage Scenarios
-
Finance automation
- Monthly auto-export from ERP → consolidate to Excel → generate reports → send email
- Human only needs to review; the entire process runs unattended
-
AI-assisted document processing
- Agent analyzes task requirements → calls RPA to extract data from multiple systems → Agent summarizes and analyzes → RPA generates Word/PPT reports and sends them
-
Web data collection and processing
- Scheduled trigger → RPA controls browser to collect data → Agent processes and cleans → RPA writes to internal system
-
Enterprise IT operations automation
- Monitoring alert triggers → Agent analyzes issue → RPA executes standard remediation scripts (restart service, clear logs, etc.)
-
Multi-system process orchestration
- Cross multiple systems with no APIs; fully automate processes that previously required manual cross-system work
Quick Start
Server (Docker):
git clone https://github.com/iflytek/astron-rpa.git
cd astron-rpa/docker
# Copy and configure environment variables
cp .env.example .env
# Edit .env, set CASDOOR_EXTERNAL_ENDPOINT (auth service external address)
# Start all services
docker compose up -d
Client (Windows desktop app):
Download the latest installer from GitHub Releases, or build locally:
# Prerequisites: Node.js ≥22, Python 3.13.x, JDK 8+, pnpm ≥9, UV 0.8+, 7-Zip, SWIG
# One-click build on Windows
build.bat
# Find the installer under release/ when complete
System requirements: Windows 10/11, RAM ≥ 8 GiB.
Core Features
1. astronverse.* Component Package Ecosystem: 300+ Atomic Capabilities
AstronRPA encapsulates all automation capabilities into component packages under the astronverse.* namespace — drag any of them into a workflow:
| Package | Coverage |
|---|---|
astronverse.browser |
Chrome/Edge/IE browser automation |
astronverse.gui |
Mouse clicks, keyboard input, window control |
astronverse.excel |
Read/write, filter, formulas, pivot tables |
astronverse.docx |
Word document creation and editing |
astronverse.pdf |
PDF generation, extraction, conversion |
astronverse.vision |
Image recognition, screenshot comparison, OCR |
astronverse.ai |
AI service integration (LLM calls) |
astronverse.email |
Email send/receive (SMTP/IMAP) |
astronverse.network |
HTTP/API calls |
astronverse.encrypt |
Encryption utilities |
astronverse.executor |
Workflow execution engine |
astronverse.scheduler |
Scheduled task management |
astronverse.trigger |
Multi-channel triggers |
astronverse.picker |
UI element picker |
astronverse.locator |
UI element location engine |
2. Bidirectional Integration with Astron Agent
This is AstronRPA's core architectural highlight:
Bidirectional call modes:
Astron Agent → calls AstronRPA:
Agent workflow directly calls RPA workflow nodes
→ Agent handles reasoning and decisions, RPA handles execution
→ Typical: Agent analyzes a task → RPA operates Kingdee ERP to extract data
AstronRPA → calls Astron Agent:
RPA workflow embeds Agent sub-tasks
→ RPA handles triggering and data passing, Agent handles understanding and decisions
→ Typical: RPA scrapes unstructured text from a web page → Agent extracts structured data → RPA writes to spreadsheet
3. MCP Service Triggering
AstronRPA supports triggering workflows via MCP (Model Context Protocol) services, meaning:
- Any MCP-compatible AI tool (Claude Code, Cursor, etc.) can directly call AstronRPA workflows
- No manual triggering needed; Agent drives desktop operations directly in conversation
- The standardized interface for the "Agent calls RPA" pattern
4. Visual Low-Code Designer
Drag-and-drop workflow editor aimed at business users:
- Drag nodes from the component panel, connect them to form a process
- Each node has a properties panel for visual parameter configuration
- Conditional branching, loops, and exception handling
- Built-in debug mode with step-by-step execution to inspect each result
5. Enterprise Collaboration and Control
| Feature | Description |
|---|---|
| Terminal monitoring | Real-time status of all running RPA robots |
| Task scheduling | Time-based or triggered automatic workflow execution |
| Permission control | User/role/resource-level permission management |
| Team sharing | Workflows and robots shared across teams |
| Excellence Center | Team marketplace for best-practice workflows |
| Multi-trigger | Direct execution, scheduled, API calls, MCP services |
Deep Dive
Full-Stack Technical Architecture
AstronRPA is a complete frontend-backend separated system:
┌──────────────────────────────────────────────────────────┐
│ Client (Windows Desktop App) │
│ Vue 3 + TypeScript + Electron │
│ ├── Visual workflow designer │
│ ├── Element picker (astronverse.picker) │
│ └── Local workflow debug runtime │
└──────────────┬───────────────────────────────────────────┘
│ HTTP / WebSocket
┌──────────────▼───────────────────────────────────────────┐
│ Server (Docker Compose) │
│ │
│ Java Spring Boot (business logic layer) │
│ ├── User authentication (Casdoor) │
│ ├── Workflow management and storage │
│ ├── Scheduling engine │
│ └── Team collaboration and permissions │
│ │
│ Python FastAPI (RPA/AI engine layer) │
│ ├── astronverse.* component package execution │
│ ├── AI service integration (astronverse.ai) │
│ └── MCP service endpoints │
└──────────────────────────────────────────────────────────┘
The layered design has clear rationale:
- Java layer handles business logic — stable and reliable for long-running enterprise systems
- Python layer executes the RPA engine and AI integrations — rich ecosystem, easy to extend
- Electron layer provides native Windows desktop experience with direct system API access
Why Python for the RPA Engine
Most commercial RPA tools (UiPath, Blue Prism, etc.) implement execution engines in .NET or Java. AstronRPA chose Python for several reasons:
-
AI ecosystem: Python is the primary language for AI/ML;
astronverse.aican directly call any Python AI library -
Vision capabilities: Image recognition (
astronverse.vision) depends on OpenCV, PIL, and other Python libraries - Extensibility: Developers can write custom components in plain Python without learning a proprietary scripting language
- Agent integration: Most Agent frameworks (LangChain, OpenAI Agents SDK, etc.) are also Python — good interoperability
The Design Value of Bidirectional RPA + Agent Integration
Why build bidirectional integration rather than just "Agent calls RPA"?
Agent calls RPA only (one-way):
Agent → RPA → execute
↑ Agent makes all decisions — good for tasks with clear rules
Bidirectional (AstronRPA's choice):
Agent nodes can be embedded inside RPA workflows
↑ Good for "most steps are deterministic, some steps need AI understanding"
Example: processing daily email reports
Steps 1-3: RPA fixed operations (open email, download attachment) ← rules are clear, no AI needed
Step 4: Agent understands attachment content, decides which department to route to ← needs AI understanding
Steps 5-8: RPA fixed operations (forward, write to system, send notification) ← rules are clear
This "RPA as skeleton, Agent as brain" hybrid is more reliable than "pure Agent" (critical steps are deterministic) and more flexible than "pure RPA" (doesn't halt when faced with content that needs to be understood).
MCP Triggering: Letting AI Tools Drive RPA Directly
MCP service triggering is AstronRPA's forward-looking design:
Traditional RPA trigger methods:
Manual / scheduled / API trigger (requires writing code to call)
MCP trigger:
Claude Code user: "Export last month's sales data from the Kingdee system"
↓ Claude Code discovers the AstronRPA MCP tool
Claude Code → calls AstronRPA MCP endpoint
↓
AstronRPA executes "Export Kingdee sales data" workflow
↓
Returns execution result to Claude Code
From the user's perspective, this makes the "natural language → desktop operation" path real — no code to write.
Comparison with Commercial RPA Tools
| Dimension | UiPath | Commercial Chinese RPA | AstronRPA |
|---|---|---|---|
| Open source | ❌ | ❌ | ✅ Apache-2.0 |
| AI Agent integration | Limited | Some | Bidirectional deep integration |
| MCP support | ❌ | ❌ | ✅ Native |
| Pricing | Expensive enterprise licenses | Commercial license | Free open source |
| Python extensibility | Limited | Limited | Native Python engine |
| Chinese system support | Fair | Good | Good (localized design) |
AstronRPA's differentiation: open source + deep AI/Agent integration + MCP support — all three simultaneously. This combination doesn't exist in commercial RPA tools.
Project Links & Resources
Official Resources
- 🌟 GitHub: https://github.com/iflytek/astron-rpa
- 🤝 Companion: Astron Agent: https://github.com/iflytek/astron-agent
- 📧 Team contact: cbg_rpa_ml@iflytek.com
- 📄 License: Apache-2.0
- 📦 Client download: GitHub Releases
Related Projects
-
Playwright — modern browser automation library; related to
astronverse.browsercapabilities -
OpenCV — computer vision library; one of the underlying dependencies for
astronverse.vision - Model Context Protocol — the protocol standard behind AstronRPA's MCP triggering
- Astron Agent — iFLYTEK's Agent workflow platform, bidirectionally integrated with AstronRPA
Summary
Key Takeaways
- Bidirectional RPA + Agent loop: not just Agent calling RPA — Agent nodes can be embedded inside RPA workflows; "deterministic skeleton + intelligent brain" hybrid model
-
300+ component
astronverse.*ecosystem: from browser to GUI to AI services, all encapsulated as draggable atomic capabilities - Native MCP support: lets Claude Code and other AI tools drive desktop RPA operations with natural language
- Python engine: AI/ML ecosystem directly usable; developers extend with plain Python, no proprietary scripting language
- Full-stack layering: Electron desktop + Java business layer + Python engine layer, each doing what it does best
Who This Is For
- Enterprise IT/operations teams: heavy repetitive cross-system manual work (especially systems with no API like Kingdee/YonYou), need low-code automation
- AI application developers: need to give Agents "execution hands" so Agents can operate desktop systems with no API
- Python developers: want to extend RPA capabilities in a familiar language, not learn a proprietary scripting DSL
- Cost-sensitive teams: Apache-2.0 open source — no expensive commercial license fees
- MCP ecosystem explorers: interested in the frontier of deep AI tool + RPA integration
One-Line Verdict
AstronRPA solves the problem: when an AI wants to do something, but that thing must go through a legacy system with no API — it gives the AI a pair of virtual hands.
Check out PrimeSkills — a curated marketplace of AI agents and skills that have been validated in real-world, enterprise-grade workflows. No fluff, just what actually works.
Find more useful knowledge and interesting products on my Homepage
Top comments (0)