| build | ||
| docs | ||
| resources | ||
| scripts | ||
| src | ||
| .gitignore | ||
| electron-builder.config.mjs | ||
| electron.vite.config.ts | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
RPA Studio
画布式 RPA 桌面端(Electron + React Flow)。把 1016 项能力目录拖到画布上,连线、配置、运行,生成可执行的 RPA 流程。
当前状态:任务优先的编排工作台。默认进入“编排”任务列表,编辑任务后进入上下流向画布;组件库按分类树展示,设置为独立入口。
已实现(Day 1)
- Electron 31 + React 18 + TypeScript + React Flow 画布
- 1016 项组件目录:997 厂商 + 16 控制 + 3 触发器,搜索 / 11 组筛选 / 可执行与待接入状态
- 编排工作区:任务列表、任务概览、运行/编辑入口;左侧主导航仅保留“编排”和“设置”
- 组件库树:按能力分组展开/收起,搜索命中时自动展开分类,叶子组件支持拖拽
- 拖拽到画布、节点卡片、连线、缩放/平移/MiniMap、框选、撤销/重做
- 画布主流程上下连接;异常出口默认隐藏,可在节点失败策略中按需开启
- IF / 计次循环 / 遍历 / 条件循环 / 异常捕获 容器:可把组件拖入分支或循环体
- 属性面板:按字段类型渲染输入、必填、变量、失败策略(超时/重试/间隔/跳过/延时)
- 流程 JSON 本地原子保存、自动保存、重启恢复
- 运行页与设置页骨架;运行期完全离线
开发
npm install
npm run dev:local # 使用 RPA_ELECTRON_DIST 或 C:\electron-rpa\dist 的 Electron
# 或
npm run build
node scripts/start.mjs --no-sandbox
npm run test:e2e # 隔离启动应用并执行本地网页订单完整流程
为什么需要
dev:local:当前工作区D:\RPA的 ACL 会让 Electron 自带的 Chromium 沙箱启动失败(--version都返回 0x80000003)。 把 Electron 运行时放在工作区外(例如C:\electron-rpa\dist)即可正常启动;打包产物解压到普通目录后不受影响。--no-sandbox仅用于本地调试,不作为产品默认。
目录
src/main 主进程:窗口、目录加载、流程存储、IPC
src/preload 白名单桥
src/renderer React UI:画布、组件库、属性面板、运行/设置页
src/shared 主/渲染共享类型
scripts build-catalog / dev-safe / start / cdp-probe / 打包
resources catalog.json(1016 项派生元数据)、夹具站、桌面桥
docs 现状分析、实施方案
文档
边界
- 1016 项目录中当前有 619 项通过能力注册表或运行时容器标记为可执行,覆盖控制/触发、除数据库外的数据处理、文件、网页元素层级/表格/下拉框/浏览器控制/Cookie/下载及 DOM 高级能力、HTTP、Excel 常用读写/格式/筛选/历史版本、系统路径与环境变量、进程管理、桌面键鼠/窗口对象/剪贴板图片/对话框、PDF、Word 文档编辑、SMTP 与群机器人 Webhook、文本差异、工作日判断、屏幕截图、离线图像查找与点击;其余灰标「待接入」。运行前检查会提前定位待接入组件、必填参数、多出口与断链节点。
- 内置本地演示站默认监听
127.0.0.1:17863;新用户首次启动会获得“本地网页订单演示”任务,可离线验证网页输入、点击和文本读取。 - 编排首页提供“安装示例任务”,可安装网页订单、文件文本、Excel读写、剪贴板、Word文档和异常分支 6 条固定示例;重复安装会更新同名示例,不会无限复制。
- 浏览器可信输入与定位机制参考
C:\rpa-demo:CDP Input、唯一定位、遮挡检查和输入回读校验;不使用el.click()伪造点击。 - 不包含厂商代码、二进制、模型或前端资产;目录是从厂商元数据派生的静态定义。
- 运行期不访问云服务;HTTP/邮件属于用户显式配置的外部系统。