DEV Community

Cover image for One Open Source Project a Day (No. 178): AstronRPA — iFLYTEK's Enterprise RPA + AI Agent Automation Platform
WonderLab
WonderLab

Posted on

One Open Source Project a Day (No. 178): AstronRPA — iFLYTEK's Enterprise RPA + AI Agent Automation Platform

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
Enter fullscreen mode Exit fullscreen mode

Usage Scenarios

  1. Finance automation

    • Monthly auto-export from ERP → consolidate to Excel → generate reports → send email
    • Human only needs to review; the entire process runs unattended
  2. 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
  3. Web data collection and processing

    • Scheduled trigger → RPA controls browser to collect data → Agent processes and cleans → RPA writes to internal system
  4. Enterprise IT operations automation

    • Monitoring alert triggers → Agent analyzes issue → RPA executes standard remediation scripts (restart service, clear logs, etc.)
  5. 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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                               │
└──────────────────────────────────────────────────────────┘
Enter fullscreen mode Exit fullscreen mode

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:

  1. AI ecosystem: Python is the primary language for AI/ML; astronverse.ai can directly call any Python AI library
  2. Vision capabilities: Image recognition (astronverse.vision) depends on OpenCV, PIL, and other Python libraries
  3. Extensibility: Developers can write custom components in plain Python without learning a proprietary scripting language
  4. 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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

Related Projects

  • Playwright — modern browser automation library; related to astronverse.browser capabilities
  • 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

  1. Bidirectional RPA + Agent loop: not just Agent calling RPA — Agent nodes can be embedded inside RPA workflows; "deterministic skeleton + intelligent brain" hybrid model
  2. 300+ component astronverse.* ecosystem: from browser to GUI to AI services, all encapsulated as draggable atomic capabilities
  3. Native MCP support: lets Claude Code and other AI tools drive desktop RPA operations with natural language
  4. Python engine: AI/ML ecosystem directly usable; developers extend with plain Python, no proprietary scripting language
  5. 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)