一天一个开源项目(第214篇):AstronRPA —— 科大讯飞开源的企业级 RPA + AI Agent 自动化平台

文章来源声明: 原文作者:冬奇Lab; 来源站点:掘金; 原文链接:https://juejin.cn/post/7684019326370611263; 本文基于上述来源整理/加工,觅优补充点评,仅供技术学习交流。版权归原作者所有。
觅优短评

亮点在于开源、MCP 原生与 Agent 双向集成三者兼备,商业 RPA 里几乎找不到。适合需让 AI 操作无 API 老系统的企业 IT 团队与 Python 开发者。

引言 --

"让 AI 不只是想清楚,还要做得到。"

这是"一天一个开源项目"系列的第 214 篇。今天的项目是 AstronRPA

AI Agent 做决策容易,执行复杂的桌面操作难——点击某个按钮、在 Excel 里按规则整理数据、从金蝶系统导出报表、自动回复邮件……这些操作在 Agent 看来每一步都需要调用"什么工具",而现实是大多数企业系统根本没有 API。

RPA(机器人流程自动化)是这个问题的传统答案:像人一样操作鼠标键盘,自动化任意桌面应用。AstronRPA 的价值在于,它把 RPA 与 AI Agent 打通了——Agent 可以直接调用 RPA 工作流节点,RPA 里也可以嵌入 Agent 任务,形成"推理 → 决策 → 执行"的完整闭环。

5.5k Stars,Apache-2.0,科大讯飞出品。

你将学到什么

  • AstronRPA 的 astronverse.* 组件包体系(300+ 原子能力)
  • RPA 与 AI Agent(Astron Agent)双向集成的架构设计
  • Vue 3 + Electron + Java Spring Boot + Python FastAPI 的全栈分层
  • MCP 服务触发机制如何让 Agent 直接驱动 RPA 工作流
  • 企业级特性:调度、监控、权限、多团队协作

前置知识

  • 了解 RPA(机器人流程自动化)的基本概念
  • 熟悉 AI Agent 的工具调用机制
  • 可选:了解 Docker Compose 部署

项目背景

项目简介

AstronRPA 的定位是**"企业级、开源、Agent-ready 的 RPA 桌面应用"**。

"Agent-ready" 是它和传统 RPA 工具最核心的差异:不只是把桌面操作自动化,还要让 AI Agent 可以直接调用这些自动化能力作为工具——就像调用一个函数一样。

在实际企业场景里,这解决了一个真实痛点:很多核心系统(金蝶、用友、内部管理系统)没有 API 接口,Agent 无法直接操作。但 RPA 可以——它像一个"虚拟员工",用鼠标键盘代替人操作界面。把 RPA 工作流暴露给 Agent 调用,等于给 Agent 装上了可以操作任意系统的"手"。

作者与团队

项目数据

  • ⭐ GitHub Stars:5,500+
  • 🍴 Forks:590+
  • 📄 协议:Apache-2.0
  • 💻 主要语言:Vue 3 + TypeScript + Python + Java
  • 🖥️ 支持系统:Windows 10/11
  • 📦 服务端:Docker Compose 部署

主要功能

解决什么问题

AstronRPA 在 AI Agent 和企业系统之间架了一座桥:

传统 RPA(孤立):
  人工触发 → 机器人执行桌面操作 → 完成
  ↑ 只能处理预设规则,遇到异常就停

AI Agent(缺乏执行手段):
  推理决策 → 调用 API → 执行
  ↑ 大量企业系统没有 API,无法操作

AstronRPA(闭环):
  AI Agent 推理决策
<span>       ↓ 调用 RPA 工作流节点(MCP/API/直接调用)
  AstronRPA 执行桌面操作
  ├── 操作金蝶/用友财务系统
  ├── 处理 Excel 数据,整理报表
  ├── 浏览器自动化(Chrome/Edge)
  ├── 识别图像,点击界面元素
  └── 发送邮件,生成 PDF 报告
       ↓ 返回执行结果
  AI Agent 根据结果做下一步决策
</span>

使用场景

  1. 财务自动化

    • 每月自动从金蝶/用友系统导出财务数据 → 汇总到 Excel → 生成报表 → 发送邮件
    • 人工只需审核,全程无需手动操作
  2. AI 辅助文档处理

    • Agent 分析任务需求 → 调用 RPA 从多个系统提取数据 → Agent 汇总分析 → RPA 生成 Word/PPT 报告并发送
  3. 网页数据采集与处理

    • 定时触发 → RPA 控制浏览器采集数据 → Agent 处理清洗 → RPA 写入内部系统
  4. 企业 IT 运维自动化

    • 监控告警触发 → Agent 分析问题 → RPA 执行标准化处置脚本(重启服务、清理日志等)
  5. 多系统流程编排

    • 跨越多个没有 API 的系统,把原本需要人工的跨系统流程全自动化

快速开始

服务端(Docker):

git <span>clone</span> https://github.com/iflytek/astron-rpa.git
<span>cd</span> astron-rpa/docker

<span># 复制并配置环境变量</span>
<span>cp</span> .env.example .<span>env</span>
<span># 编辑 .env,设置 CASDOOR_EXTERNAL_ENDPOINT(认证服务外部地址)</span>

<span># 启动所有服务</span>
docker compose up -d

客户端(Windows 桌面应用):

GitHub Releases 下载最新安装包,或本地构建:

<span># 依赖:Node.js ≥22, Python 3.13.x, JDK 8+, pnpm ≥9, UV 0.8+, 7-Zip, SWIG</span>
<span># Windows 下一键构建</span>
build.bat
<span># 构建完成后在 release/ 目录找到安装包</span>

系统要求:Windows 10/11,内存 ≥ 8 GiB。

核心特性

1. astronverse.* 组件包体系:300+ 原子能力

AstronRPA 将所有自动化能力封装为 astronverse.* 命名空间下的组件包,可以直接拖入工作流:

组件包覆盖能力
`astronverse.browser`Chrome/Edge/IE 浏览器自动化
`astronverse.gui`鼠标点击、键盘输入、窗口控制
`astronverse.excel`读写、筛选、公式、透视表
`astronverse.docx`Word 文档创建与编辑
`astronverse.pdf`PDF 生成、提取、转换
`astronverse.vision`图像识别、截图比对、OCR
`astronverse.ai`对接 AI 服务(大模型调用)
`astronverse.email`邮件收发(SMTP/IMAP)
`astronverse.network`HTTP/API 调用
`astronverse.encrypt`加解密工具
`astronverse.executor`工作流执行引擎
`astronverse.scheduler`定时任务调度
`astronverse.trigger`多渠道触发器
`astronverse.picker`界面元素拾取器
`astronverse.locator`UI 元素定位引擎

2. 与 Astron Agent 的双向集成

这是 AstronRPA 的核心设计亮点:

双向调用模式:

Astron Agent → 调用 AstronRPA:
  Agent 工作流中直接调用 RPA 工作流节点
  → Agent 做推理决策,RPA 负责执行
  → 典型场景:Agent 分析任务 → RPA 操作金蝶系统提取数据

AstronRPA → 调用 Astron Agent:
  RPA 工作流中嵌入 Agent 子任务
  → RPA 负责触发和数据传递,Agent 负责理解和决策
  → 典型场景:RPA 从网页抓取非结构化文本 → Agent 分析提取 → RPA 写入表格

3. MCP 服务触发

AstronRPA 支持通过 MCP(Model Context Protocol)服务触发工作流,这意味着:

  • 任何支持 MCP 的 AI 工具(Claude Code、Cursor 等)可以直接调用 AstronRPA 工作流
  • 无需手动触发,Agent 在对话中直接让 RPA 执行桌面操作
  • 是 "Agent 调用 RPA" 模式的标准化接口实现

4. 可视化低代码设计器

拖拽式工作流编辑器,面向业务人员:

  • 从组件面板拖入节点,连线组成流程
  • 每个节点有属性面板,可视化配置参数
  • 支持条件分支、循环、异常处理
  • 内置调试模式,单步执行查看每步结果

5. 企业级协作与管控

功能说明
终端监控实时查看所有 RPA 机器人的运行状态
任务调度定时/触发式自动执行工作流
权限控制用户/角色/资源粒度的权限管理
团队共享工作流和机器人跨团队共享
卓越中心最佳实践工作流的团队市场
多触发方式直接执行、定时、API 调用、MCP 服务

深入剖析

全栈技术架构

AstronRPA 是一个前后端分离的完整系统:

┌──────────────────────────────────────────────────────────┐
│               客户端(Windows 桌面应用)                   │
│  Vue 3 + TypeScript + Electron                           │
│  ├── 可视化工作流设计器                                    │
│  ├── 元素拾取器(astronverse.picker)                      │
│  └── 本地工作流调试运行时                                   │
└──────────────┬───────────────────────────────────────────┘
<span>               │ HTTP / WebSocket
┌──────────────▼───────────────────────────────────────────┐
│               服务端(Docker Compose)                    │
│                                                          │
│  Java Spring Boot(业务逻辑层)                           │
│  ├── 用户认证(Casdoor)                                  │
│  ├── 工作流管理与存储                                      │
│  ├── 调度引擎                                             │
│  └── 团队协作与权限                                        │
│                                                          │
│  Python FastAPI(RPA/AI 引擎层)                          │
│  ├── astronverse.* 组件包执行                             │
│  ├── AI 服务集成(astronverse.ai)                        │
│  └── MCP 服务端点                                         │
└──────────────────────────────────────────────────────────┘
</span>

分层设计的好处:

  • Java 层处理业务逻辑稳定可靠,适合长期运行的企业系统
  • Python 层执行 RPA 引擎和 AI 集成,生态丰富,便于扩展新能力
  • Electron 层提供原生 Windows 桌面体验,直接访问系统 API

为什么选择 Python 做 RPA 引擎

大多数商业 RPA 工具(UiPath、Blue Prism、来也科技等)用 .NET 或 Java 实现执行引擎。AstronRPA 选择 Python 有几个深层原因:

  1. AI 生态:Python 是 AI/ML 的第一语言,astronverse.ai 可以直接调用任意 Python AI 库
  2. 视觉能力:图像识别(astronverse.vision)依赖 OpenCV、PIL 等 Python 库
  3. 扩展性:开发者可以用纯 Python 写自定义组件,无需学习专有脚本语言
  4. 与 AI Agent 集成:大多数 Agent 框架(LangChain、OpenAI Agents SDK 等)也是 Python,互操作性好

RPA + Agent 双向闭环的设计价值

为什么不只做 Agent 工具调用,而是做双向集成?

只有 Agent 调用 RPA(单向):
  Agent → RPA → 执行
  ↑ Agent 做所有决策,适合有明确规则的任务

双向集成(AstronRPA 的选择):
  RPA 工作流中可以嵌入 Agent 节点
  ↑ 适合<span>"大部分步骤确定,少数步骤需要 AI 理解"</span>的场景

例子:处理每日邮件报表
  步骤 <span>1</span><span>-3</span>:RPA 固定操作(打开邮件、下载附件)← 规则确定,不需要 AI
  步骤 <span>4</span>:Agent 理解附件内容,决定路由到哪个部门 ← 需要 AI 理解
  步骤 <span>5</span><span>-8</span>:RPA 固定操作(转发、写入系统、发通知)← 规则确定

这种"RPA 为骨架,Agent 为大脑"的混合模式,比"纯 Agent"更稳定(关键步骤有确定性),比"纯 RPA"更灵活(遇到需要理解的内容不会卡死)。

MCP 触发:让 AI 工具直接驱动 RPA

支持 MCP 服务触发是 AstronRPA 的前瞻性设计:

传统 RPA 触发方式:
  人工触发 / 定时触发 / API 触发(需要写代码调用)

MCP 触发:
  Claude <span>Code</span> 用户:"帮我从金蝶系统导出上月销售数据"
       ↓ Claude <span>Code</span> 发现 AstronRPA MCP 工具
  Claude <span>Code</span> → 调用 AstronRPA MCP endpoint
       ↓
  AstronRPA 执行"导出金蝶销售数据"工作流
       ↓
  返回执行结果给 Claude <span>Code</span>

对用户来说,这让"自然语言 → 桌面操作"的链路变成了现实,不需要写任何代码。

与商业 RPA 工具的对比

维度UiPath来也 RPA**AstronRPA**
开源✅ Apache-2.0
AI Agent 集成有限双向深度集成
MCP 支持✅ 原生支持
定价高昂企业授权商业授权免费开源
Python 扩展有限有限原生 Python 引擎
中文系统支持一般好(本土化设计)

AstronRPA 的差异化在于:开源 + AI/Agent 深度集成 + MCP 支持,三者同时具备的商业 RPA 工具基本不存在。


项目地址与资源

官方资源

相关资源

  • Playwright — 现代浏览器自动化库,与 astronverse.browser 能力相关
  • OpenCV — 计算机视觉库,astronverse.vision 的底层依赖之一
  • Model Context Protocol — AstronRPA MCP 触发所用的协议标准
  • Astron Agent — 科大讯飞出品的 Agent 工作流平台,与 AstronRPA 双向集成

总结与展望

核心要点回顾

  1. RPA + Agent 双向闭环:不只是 Agent 调用 RPA,RPA 工作流中也可嵌入 Agent 节点——"骨架确定 + 大脑灵活"的混合模式
  2. 300+ 组件的 astronverse.* 生态:从浏览器到 GUI 到 AI 服务,全部封装为可拖拽的原子能力
  3. MCP 原生支持:让 Claude Code 等 AI 工具直接用自然语言驱动桌面 RPA 操作
  4. Python 引擎:AI/ML 生态直接可用,开发者可以用纯 Python 扩展自定义组件
  5. 全栈分层:Electron 桌面端 + Java 业务层 + Python 引擎层,各司其职

适合谁

  • 企业 IT/运维团队:有大量重复的跨系统手工操作(尤其是金蝶/用友等无 API 的系统),需要低代码自动化
  • AI 应用开发者:需要给 Agent 配上"执行手",让 Agent 能操作没有 API 的桌面系统
  • Python 开发者:想用熟悉的语言扩展 RPA 能力,而不是学习私有脚本语言
  • 对商业 RPA 成本敏感的团队:Apache-2.0 开源,不需要高昂的商业授权费用
  • MCP 生态探索者:关注 AI 工具与 RPA 深度集成的前沿场景

一句话评价

AstronRPA 解决的问题是:当 AI 想做某件事,但那件事必须通过一个没有 API 的老系统完成时,怎么办——答案是给 AI 配上一双虚拟的手。


欢迎访问 PrimeSkills —— 一个精心策划的 AI Agent 与技能市场,所有内容均经过真实企业级工作流验证。没有噱头,只有真正有效的东西。

更多实用知识和有趣产品,欢迎访问我的个人主页