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

引言

"让 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 和企业系统之间架了一座桥:

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

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

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

使用场景

  1. 财务自动化

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

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

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

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

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

快速开始

服务端(Docker):

bash 复制代码
git clone https://github.com/iflytek/astron-rpa.git
cd astron-rpa/docker

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

# 启动所有服务
docker compose up -d

客户端(Windows 桌面应用):

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

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

系统要求: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 是一个前后端分离的完整系统:

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

分层设计的好处:

  • 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 工具调用,而是做双向集成?

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

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

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

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

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

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

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

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

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

与商业 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 与技能市场,所有内容均经过真实企业级工作流验证。没有噱头,只有真正有效的东西。

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

相关推荐
月光船幽幽2 小时前
跨范式映射的稳定接口设计
人工智能·python·算法
今日热点2 小时前
2026 企业微信主体变更公证书办理方法与私域资产保全指南:活码存档权限全规范
人工智能·企业微信
Dawson Zhu2 小时前
AI 辅助调试陷入「反复修改」循环?用证据驱动的四步法破局
人工智能·语言模型·架构·aigc·agi
信誓旦旦的程序猿2 小时前
【量化系统从零构建 #04】存储设计:选型·建库·交易日历
java·人工智能·python·股票数据api·股票数据·股票数据api接口·股票api数据接口
、如果2 小时前
PDF图片文字提取零依赖方案:pymupdf+AI视觉实战
人工智能·数据分析·pdf·图片提取·文字提取·skills
米小虾2 小时前
不偷权重,只问问题:蒸馏攻击是怎么把前沿模型"问"走的,以及什么真能挡住
人工智能
2601_960554472 小时前
会议录音一键生成纪要:实测告别手工整理
人工智能
米小虾2 小时前
一周 AI 观察(9.5–9.11):AI 从"产品"变成"基础设施"
人工智能
Behaviour2 小时前
iPhone Duo 来了,苹果 Siri AI 接入定制 Gemini
人工智能·ios·语言模型·aigc·iphone