PRA-only-demo/README.md

3.0 KiB
Raw Blame History

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

为什么需要 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 项目录中当前有 259 项通过能力注册表或运行时容器标记为可执行,覆盖控制/触发、数据与二维表格、文件、浏览器、HTTP、Excel/CSV、桌面键鼠/窗口/剪贴板/对话框、PDF、Word、邮件发送、屏幕截图、离线图像查找与点击;其余灰标「待接入」,运行到该节点会明确失败。
  • 不包含厂商代码、二进制、模型或前端资产;目录是从厂商元数据派生的静态定义。
  • 运行期不访问云服务;HTTP/邮件属于用户显式配置的外部系统。