"让 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 装上了可以操作任意系统的"手"。
作者与团队
- 团队:科大讯飞(iFLYTEK)
- 邮件:cbg_rpa_ml@iflytek.com
- 伴生项目:Astron Agent(9k Stars,企业级 Agent 工作流平台)
- 协议:Apache-2.0
项目数据
- ⭐ 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>
使用场景
-
财务自动化
- 每月自动从金蝶/用友系统导出财务数据 → 汇总到 Excel → 生成报表 → 发送邮件
- 人工只需审核,全程无需手动操作
-
AI 辅助文档处理
- Agent 分析任务需求 → 调用 RPA 从多个系统提取数据 → Agent 汇总分析 → RPA 生成 Word/PPT 报告并发送
-
网页数据采集与处理
- 定时触发 → RPA 控制浏览器采集数据 → Agent 处理清洗 → RPA 写入内部系统
-
企业 IT 运维自动化
- 监控告警触发 → Agent 分析问题 → RPA 执行标准化处置脚本(重启服务、清理日志等)
-
多系统流程编排
- 跨越多个没有 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 有几个深层原因:
- AI 生态:Python 是 AI/ML 的第一语言,
astronverse.ai可以直接调用任意 Python AI 库 - 视觉能力:图像识别(
astronverse.vision)依赖 OpenCV、PIL 等 Python 库 - 扩展性:开发者可以用纯 Python 写自定义组件,无需学习专有脚本语言
- 与 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 工具基本不存在。
项目地址与资源
官方资源
- 🌟 GitHub:github.com/iflytek/ast…
- 🤝 伴生项目 Astron Agent:github.com/iflytek/ast…
- 📧 联系团队:cbg_rpa_ml@iflytek.com
- 📄 协议:Apache-2.0
- 📦 客户端下载:GitHub Releases
相关资源
- Playwright — 现代浏览器自动化库,与
astronverse.browser能力相关 - OpenCV — 计算机视觉库,
astronverse.vision的底层依赖之一 - Model Context Protocol — AstronRPA MCP 触发所用的协议标准
- Astron Agent — 科大讯飞出品的 Agent 工作流平台,与 AstronRPA 双向集成
总结与展望
核心要点回顾
- RPA + Agent 双向闭环:不只是 Agent 调用 RPA,RPA 工作流中也可嵌入 Agent 节点——"骨架确定 + 大脑灵活"的混合模式
- 300+ 组件的
astronverse.*生态:从浏览器到 GUI 到 AI 服务,全部封装为可拖拽的原子能力 - MCP 原生支持:让 Claude Code 等 AI 工具直接用自然语言驱动桌面 RPA 操作
- Python 引擎:AI/ML 生态直接可用,开发者可以用纯 Python 扩展自定义组件
- 全栈分层: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 与技能市场,所有内容均经过真实企业级工作流验证。没有噱头,只有真正有效的东西。
更多实用知识和有趣产品,欢迎访问我的个人主页
亮点在于开源、MCP 原生与 Agent 双向集成三者兼备,商业 RPA 里几乎找不到。适合需让 AI 操作无 API 老系统的企业 IT 团队与 Python 开发者。