From 745da55e4e239788ef7f95745645077efd5d2c8e Mon Sep 17 00:00:00 2001 From: yu <1919727607@qq.com> Date: Fri, 30 Oct 2026 09:26:28 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=8C=89=E8=BF=90=E8=A1=8C=E6=97=B6?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=E6=A0=A1=E5=87=86=E8=83=BD=E5=8A=9B=E6=8E=A5?= =?UTF-8?q?=E5=85=A5=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 ++- docs/02-实施方案.md | 2 +- docs/03-能力接入规划与排期.md | 140 ++++++++----------------- resources/catalog.json | 13 +-- 4 files changed, 57 insertions(+), 111 deletions(-) diff --git a/README.md b/README.md index 5b4876e..ac5c83d 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ 画布式 RPA 桌面端(Electron + React Flow)。把 1016 项能力目录拖到画布上,连线、配置、运行,生成可执行的 RPA 流程。 > 当前状态:任务优先的编排工作台。默认进入“编排”任务列表,编辑任务后进入上下流向画布;组件库按分类树展示,设置为独立入口。 -> 可执行能力持续接入中:**655 / 1016**(网页自动化、桌面自动化、数据、文件、办公、HTTP 等),其余灰标「待接入」,运行前检查会提前定位。 +> 可执行能力持续接入中:**732 / 1016**(网页自动化、桌面自动化、数据、文件、办公、HTTP 等),其余灰标「待接入」,运行前检查会提前定位。 ## 已实现 @@ -35,9 +35,14 @@ - 隐式等待重试:元素未就绪时 4 秒内自动重试 - 底层统一走 PowerShell + UIAutomation(EncodedCommand,中文安全) +### AI 与离线 OCR(可选自配) + +- AI 文本能力:文本生成 / 纠错 / 审核 / 关键词 / 对话 / 模型调用 / 文档比对等,通过设置页配置的 OpenAI 兼容服务接入 +- 离线 OCR:图像识别 / 表格识别(含坐标)走本地模型,无需联网 + ### 质量与测试 -- 全量测试 162 项(能力注册冒烟、流程运行集成、Word/Excel/PDF/桌面桥真实设备测试) +- 全量测试 167 项(能力注册冒烟、流程运行集成、Word/Excel/PDF/桌面桥真实设备测试) - 本地演示站(`127.0.0.1:17863`):网页订单页 + 网页元素演练场(表单/下拉/勾选/密码/禁用按钮/悬停/长页面) - 内置 3 个网页自动化测试任务(浏览器导航、元素读写、滚动与 Cookie)+ 6 条固定示例任务 - 打包冒烟测试:跳过单实例锁隔离启动,验证产物可用性 @@ -79,10 +84,10 @@ docs 现状分析、实施方案 ## 边界 -- 1016 项目录中当前 655 项可执行;未接入的主要为:图表数据读取(ECharts)、下载对话框处理、异常监控组件、桌面 Ground 剩余变体、SAP 专用等。运行前检查会提前定位待接入组件、必填参数、多出口与断链节点。 +- 1016 项目录中当前 732 项可执行;未接入的主要为:异常监控组件、桌面 Ground 剩余变体、SAP 专用、邮件收件(IMAP)、Word 选区 COM 等。图表数据读取(ECharts)已接入;下载对话框为明确不接入(下载能力已覆盖)。运行前检查会提前定位待接入组件、必填参数、多出口与断链节点。 - 内置本地演示站默认监听 `127.0.0.1:17863`;新用户首次启动会获得“本地网页订单演示”任务,可离线验证网页输入、点击和文本读取。 - 编排首页提供“安装示例任务”,可安装网页订单、文件文本、Excel读写、剪贴板、Word文档和异常分支 6 条固定示例;重复安装会更新同名示例,不会无限复制。 - Tauri/WebView2 类应用的 UIA 支持天然受限(Invoke 假成功、ValuePattern 读回掩码):桌面元素点击采用“前台化 + 真实坐标点击”策略,输入采用“ValuePattern 写入 + 剪贴板粘贴兜底”。 - 不包含厂商代码、二进制、模型或前端资产;目录是从厂商元数据派生的静态定义。 -- 运行期不访问云服务;HTTP/邮件属于用户显式配置的外部系统。 +- 运行期不访问厂商云服务;HTTP、邮件与 AI 能力属于用户在设置页显式配置的外部系统(OpenAI 兼容服务)。 diff --git a/docs/02-实施方案.md b/docs/02-实施方案.md index e32dc95..b9edad9 100644 --- a/docs/02-实施方案.md +++ b/docs/02-实施方案.md @@ -4,7 +4,7 @@ > 依据:`D:\code\Agent-Employee`(只读)、`C:\rpa-demo`(只读)、2026-10-26 需求确认 > 本方案是执行基线:范围、契约、排期、验收、降级顺序都在这里;实施中变更必须回写本文件。 -> **2026-10-27 当前状态**:常用本地能力已进入注册表或运行时容器,覆盖控制/触发、除数据库外的数据处理、文件、网页元素层级/表格/下拉框/浏览器控制/Cookie/下载及 DOM 高级能力、HTTP、Excel 常用读写/格式/筛选/历史版本、系统路径与环境变量、进程管理、桌面键鼠/窗口对象/剪贴板图片/对话框、PDF、Word 文档编辑、SMTP 与群机器人 Webhook、文本差异、工作日判断、屏幕截图、离线图像查找与点击;启动后目录显示 **619 项可执行 / 1016 项总目录**。当前 23 个测试文件共 138 条测试,浏览器 E2E 真实结果为“订单创建成功:RPA 客户,金额 128”。数据处理仅剩 8 个明确排除的数据库组件。设置页可查看分类覆盖和处理器 ID 数量。此后以集中场景测试与稳定性修复为主,不再追求厂商云端、硬件和专用通道数量。 +> **2026-10-30 当前状态**:常用本地能力已进入注册表或运行时容器,覆盖控制/触发、除数据库外的数据处理、文件、网页元素层级/表格/下拉框/浏览器控制/Cookie/下载及 DOM 高级能力、HTTP、Excel 常用读写/格式/筛选/历史版本、系统路径与环境变量、进程管理、桌面键鼠/窗口对象/剪贴板图片/对话框、PDF、Word 文档编辑、SMTP 与群机器人 Webhook、文本差异、工作日判断、屏幕截图、离线图像查找与点击、FTP、人机交互表单对话框、Windows 凭据/远程桌面/屏保、ECharts 图表读取、AI 文本能力(用户自配服务)、离线 OCR;启动后目录显示 **732 项可执行 / 1016 项总目录**。当前 26 个测试文件共 167 条测试,浏览器 E2E 真实结果为“订单创建成功:RPA 客户,金额 128”。数据处理仅剩 8 个待评估的数据库组件。设置页可查看分类覆盖和处理器 ID 数量。此后以集中场景测试与稳定性修复为主,不再追求厂商云端、硬件和专用通道数量。(原 2026-10-27 快照:619 项可执行 / 23 个测试文件 138 条测试) > 浏览器端到端门禁:`npm run test:e2e` 使用隔离用户目录启动应用和本地演示站,真实执行打开网页、两次可信输入、点击提交和读取结果;期望结果必须精确包含“订单创建成功:RPA 客户,金额 128”。浏览器输入、点击、定位歧义和遮挡检查机制已对照 `C:\rpa-demo/actions.js` 校准。 diff --git a/docs/03-能力接入规划与排期.md b/docs/03-能力接入规划与排期.md index 2829667..0bd58e5 100644 --- a/docs/03-能力接入规划与排期.md +++ b/docs/03-能力接入规划与排期.md @@ -1,6 +1,6 @@ # 能力接入规划与排期 -> 生成时间:2026-10-28 · 目录 1016 项 · 已接入约 670+ 项(以运行时注册为准,静态扫描会漏动态别名) +> 生成时间:2026-10-28 · 校准时间:2026-10-30 · 目录 1016 项 · 已接入 732 项(运行时注册 744 个 id;以 src/main/catalog.ts 判定为准) ## 一、明确不接入清单(永久排除) @@ -12,34 +12,25 @@ - Basic_GetSystemAccount | 获取系统账号(门户专用) - Basic_GetSystemAccount_v1 | 获取平台账号 -### 厂商专属云服务(26 个)——依赖厂商专属数据/场景服务 +### 厂商专属云服务(17 个)——依赖厂商专属数据/场景服务 -- DataService_Correct | 文本纠错 - DataService_DeleteControllerFiles_v1 | 删除文件 - DataService_ReportException | 上报异常信息 -- DataService_AgentCall | 调用智能体 -- DataService_AIGenTxt | AI生成文本 - DataService_ProductionQueue | 将数据存入队列 - DataService_UploadControllerFiles_v1 | 上传文件 - DataService_ServiceNew | 数据服务(松塔) - DataService_DeleteControllerFiles | 删除控制器文件 - DataService_Service | 数据服务 -- DataService_LargeModel | 大模型 - DataService_DownloadControllerFiles | 下载控制器文件 - DataService_DownloadControllerFiles_v1 | 下载文件 - DataService_ConsumptionQueue | 从队列获取数据 -- DataService_Review | 文本审核 - DataService_UploadControllerFiles | 上传文件至控制器 -- DataService_ChatBot | chatbot对话机器人 -- DataService_KeyWord | 关键词抽取 -- DataService_ZBrain | 自定义AI模型 - DataService_AiScreenText | 提取屏幕数据(AI) - DataService_AiScreenDate | 选择日期时间(AI) - DataService_AiScreenOperate | 操作屏幕(AI) - Scenario_CreditVerify | 征信报告解析 - Scenario_VatInvoice | 增值税发票验真 - Scenario_PhysicalExamination | 体检报告解析 -- Scenario_TextComparison | 文档比对 ### SAP 专用(1 个)——依赖SAP客户端 @@ -122,12 +113,9 @@ - OCR_SourceMergeGeneralOCR_V1 | 识别通用文字 - OCR_SliderVerificationCodePosition | 获取拼图滑块位置 -### 厂商专属云服务(7 个)——依赖厂商离线OCR模型文件 +### 厂商专属云服务(4 个)——依赖厂商离线OCR模型文件 - OcrOffline_ClickOcrText_V1 | 鼠标点击OCR文本 -- OcrOffline_GetOcrTextNew | 图像OCR识别 -- OcrOffline_GetOcrTable | 获取表格数据(OCR) -- OcrOffline_GetOcrTextPosition | 图像OCR识别(含坐标) - OcrOffline_MoveToOcrText | 鼠标移动到OCR文本上 - OcrOffline_ClickOcrText | 鼠标点击OCR文本 - OcrOffline_MoveToOcrText_V1 | 鼠标移动到OCR文本上 @@ -170,11 +158,42 @@ - WebBrowser_DownloadDialog | 处理下载对话框 -**小计:128 个 id** +**小计:116 个 id**(2026-10-30 校准:原 128 项中 12 项已接入,移至下方清单) + +### 已接入(原排除项,2026-10-30 校准移出) + +通过设置页配置的 OpenAI 兼容 AI 服务接入(`src/main/capabilities/ai-caps.ts`): + +- DataService_AIGenTxt | AI生成文本 +- DataService_LargeModel | 大模型 +- DataService_ZBrain | 自定义AI模型 +- DataService_AgentCall | 调用智能体 +- DataService_ChatBot | chatbot对话机器人 +- DataService_KeyWord | 关键词抽取 +- DataService_Correct | 文本纠错 +- DataService_Review | 文本审核 +- Scenario_TextComparison | 文档比对 + +通过本地离线 OCR 模型接入(`src/main/capabilities/ocr-caps.ts`): + +- OcrOffline_GetOcrTextNew | 图像OCR识别 +- OcrOffline_GetOcrTable | 获取表格数据(OCR) +- OcrOffline_GetOcrTextPosition | 图像OCR识别(含坐标) ## 二、暂缓池 -### [P3] 待评估(103 个) +### 已完成(超出原排期,2026-10-30 校准) + +- [P1] 人机交互对话框 17/17:输入/文件/消息/自定义表单对话框(`src/main/capabilities/human-dialog.ts`) +- [P2] Windows 系统 12/12:凭据/远程桌面/屏保/输入法(`src/main/capabilities/windows-system.ts`) +- [P2] 图表数据读取 2/2:Element_GetLineBarChartData、Element_GetPieChartData(`src/main/capabilities/web-batch2.ts`) +- [P2] Excel 高阶 14/38:单元格格式、区域选择、行列显隐、尾部空白单元格、列标识、表格样式、Load/Close(`src/main/capabilities/excel-common.ts`) +- [P3] 待评估池移出 20 项:FTP 10 项(`src/main/capabilities/ftp.ts`)、NLP 9 项(AI 服务 `src/main/capabilities/ai-caps.ts`)、File_OpenFile +- 原排除清单移出 12 项:见第一节「已接入」 + +以下为剩余暂缓项: + +### [P3] 待评估(84 个) - child_modules_v1 | 调用子流程 - concurrent_child_process_v1 | 并发调用子流程 @@ -189,23 +208,12 @@ - Database_AllSQLQuery | 执行全SQL查询 - Element_DesktopChildren | 获取子元素 - File_UploadBusinessResults_v1 | 上报办理结果 -- File_OpenFile | 打开文件夹 - File_StartBusiness | 上报办理业务 - File_UploadBusinessResults | 上报办理结果(门户专用) - File_Collectupload | 上报采集数据 - File_UploadFolder | 结果打包上传 - FileTypeConversion_Office2pdf | OFFICE文档转PDF - FileTypeConversion_Pdf2image2 | PDF转图片 -- FTP_Download | 下载文件/文件夹(FTP) -- FTP_Rename | 重命名文件/文件夹(FTP) -- FTP_Delete | 删除文件/文件夹(FTP) -- FTP_Disconnect | 断开FTP连接 -- FTP_Cwd | 切换工作目录 -- FTP_GetFileList | 获取文件/文件夹(FTP) -- FTP_CreateDir | 创建文件夹(FTP) -- FTP_Exist | 判断文件存在(FTP) -- FTP_Upload | 上传文件/文件夹(FTP) -- FTP_Connect | 建立FTP连接 - GoogleTable_GetAllData | 获取列信息(Google Sheets) - GoogleTable_GetAllSheetsName | 获取Sheet名(Google Sheets) - GoogleTable_WriteToSheetRegionColumns | 写入列(Google Sheets) @@ -235,15 +243,6 @@ - Keyboard_EnableManualOperation | 开启模拟人工操作 - Keyboard_DisableManualOperation | 关闭模拟人工操作 - Mark_Mark | 图片打标 -- NLP_BatchAnalyseProductReview | 商品评论分析(批量) -- NLP_KeyWordsAnalysis | 关键词 -- NLP_EmotionalAnalysis | 情感分析 -- NLP_SplitText | 实体抽取 -- NLP_AnalyseProductReview | 商品评论分析 -- NLP_SemanticSimilarity | 语义相似度 -- NLP_SplitWords | 分词 -- NLP_PerspectiveAnalysis | 观点分析 -- NLP_XunFei_NLPBaseServer | 第三方NLP模型 - NLP_XunFei_MachineTranslation | 机器翻译 - NLP_XunFei_FeelingAnalysis | 第三方情感分析模型 - NLP_XunFei_KeywordExtraction | 关键字提取 @@ -279,6 +278,7 @@ - OCR_CommonEnglishNumbersCode | 普通验证码 - OCR_BusinessLicenseV2 | OCR营业执照 - OCR_VinV2 | OCR车辆vin码 +- Element_exception_monitor_v2 | 异常监控 ### [P2] 视觉定位与 OCR 读屏(5 个) @@ -288,26 +288,6 @@ - CV_MouseHover | 移动到元素上 - CV_MouseClick | 元素点击 -### [P1] 人机交互对话框:运行时弹窗收发用户输入(17 个) - -- Dialog_SaveFile | 保存文件对话框 -- Dialog_InputBox | 输入对话框 -- Dialog_GetConfig | 输入输出对话框 -- Dialog_CsInputBox | 输入对话框 -- Dialog_GetConfigV7 | 人机交互表单 -- Dialog_OpenFile | 打开文件对话框 -- Dialog_Notice_V2 | 消息通知 -- Dialog_GetConfigV8 | 自定义对话框 -- Dialog_GetConfigV6 | 自定义对话框 -- Dialog_GetConfigV1 | 自定义对话框 -- Dialog_OpenFiles | 打开文件对话框(多选) -- Dialog_GetConfigV2 | 自定义对话框 -- Dialog_Notice_V1 | 消息通知 -- Dialog_CsMsgBox | 消息确认对话框 -- Dialog_GetConfigV3 | 自定义对话框 -- Dialog_GetConfigV5 | 人机交互表单 -- Dialog_GetConfigV4 | 自定义对话框 - ### [P3] 桌面 Ground 剩余变体(12 个) - Element_GetCheckGround | 获取勾选框状态值 @@ -323,14 +303,8 @@ - Element_ShotGround | 元素截图 - Element_GetButtonEnableGround | 元素是否可点击 -### [P2] 图表数据读取(ECharts)(2 个) +### [P2] Excel 高阶:格式/图片/加密/透视表/筛选等(24 个) -- Element_GetLineBarChartData | 获取折线图/柱状图数据 -- Element_GetPieChartData | 获取饼状图数据 - -### [P2] Excel 高阶:格式/图片/加密/透视表/筛选等(38 个) - -- Excel_Cs_SetCellFormat_V3 | 设置单元格格式 - Excel_Cs_Group | 组合行列 - Excel_Cs_DeletePicture | 删除图片 - Excel_Cs_RefreshPivotTable | 刷新Excel数据透视表 @@ -338,35 +312,22 @@ - Excel_Cs_Encrypt | 加密Excel - Excel_Cs_Move | 移动Sheet - Excel_Cs_InsertPicture | 插入图片 -- Excel_Cs_SetCellFormat_V2 | 设置单元格格式 - Excel_Cs_Merge | 合并Sheet - Excel_InsertImage | 插入图片 - Excel_Cs_InsertPivotView | 新建透视图 -- Excel_Cs_SetCellFormat | 设置单元格格式 - Excel_Cs_Interop | Excel动态调用 - Excel_Cs_InsertPivotTable | 新建Excel数据透视表 - Excel_Cs_RunMacro | 执行宏 - Excel_Loop | excel内容循环 -- Excel_Cs_GetLastEmptyCell | 获取尾部第一个空白单元格 -- Excel_GetColumnId | 获取Excel列标识 - Excel_Cs_Export | 导出Excel为PDF -- Excel_Cs_ShowTableStyle | 设置Excel表格样式 -- Excel_Cs_SelectRangeV3 | 选中区域 - Excel_Cs_ExcelAddin | 数据处理 - Excel_Cs_InsertPictureV2 | 插入图片 - Excel_Cs_FilterPivotTable | 筛选Excel数据透视表 -- Excel_SelectRange | 选中区域 - Excel_Cs_RunMacroV2 | 执行宏 -- Excel_Cs_Hide | 隐藏/显示行列 - Excel_Cs_SetSlicer | Excel切片器 -- Excel_Cs_SelectRangeV2 | 选中区域 - Excel_ExecuteMacro | 执行宏 -- Excel_Cs_LoadV2 | 获取已打开Excel - Excel_Cs_RefreshAll | 刷新Excel数据 - Excel_DeleteImage | 删除图片 -- Excel_Cs_SelectRange | 选中区域 -- Excel_Cs_CloseV2 | 关闭Excel -- Excel_Cs_Load | 获取已打开Excel - Excel_ExportRangeAsPicture | 导出区域为图片 ### [P2] 邮件收件:需 IMAP 库(28 个) @@ -407,21 +368,6 @@ - PDF_GetPdfTable | 读取 PDF 表格 - PDF_PdfToImg | PDF 转图片 -### [P2] Windows 系统:凭据/远程桌面/屏保/输入法(12 个) - -- ScreenControl_Screenlock | 屏幕锁屏 -- ScreenControl_ScreenUnlock | 屏幕解锁 -- System_ReadCredential | 获取Windows凭据 -- System_GetInputMethodState | 获取输入法状态 -- System_ConnectRemoteDesktop | 连接远程桌面 -- System_AddCredential | 添加Windows凭据 -- System_SetInputMethodState | 设置输入法状态 -- System_CloseRemoteDesktop | 关闭远程连接 -- System_ScreenSaverShow | 开启屏保 -- System_DeleteCredential | 删除Windows凭据 -- System_ScreenSaverStop | 关闭屏保 -- System_ScreenSaverShowV1 | 开启屏保 - ### [P2] Word 选区与光标:COM 操作(11 个) - Word_ReadSelect | 读取选中文本 @@ -441,12 +387,14 @@ | 阶段 | 内容 | 状态 | |---|---|---| | P0 | 网页核心 170、桌面 Ground 核心 5、网页批二 15 id、网页批三 16 id | 已完成 2026-10-28 | -| P1 | 人机交互对话框、Time 家族、文件上传验证 | 下一迭代 | -| P2 | Excel 高阶、PDF 高阶、Word 选区、邮件收件、Windows 系统、视觉、图表 | 后续迭代 | -| P3 | 桌面 Ground 剩余、待评估项 | 按需 | -| 永久排除 | 明确不接入清单(第一节) | 不排期 | +| P1 | 人机交互对话框 17、Time 家族 24 | 已完成 2026-10-30 校准 | +| P1 | 文件上传验证 | 下一迭代 | +| P2 | Excel 高阶 24、PDF 高阶 4、Word 选区 11、邮件收件 28、视觉 5 | 后续迭代(图表 2、Windows 系统 12 已完成) | +| P3 | 桌面 Ground 剩余 12、待评估 84 | 按需 | +| 永久排除 | 明确不接入清单 116 项(第一节) | 不排期 | ## 四、落地机制 - 本文档为能力接入的唯一规划来源;新增能力须先在此登记阶段 +- 2026-10-30 校准:数字以运行时注册表为准(744 个 id,目录可执行 732 / 1016);原排除/暂缓中已实现的 78 项已移入「已接入 / 已完成」 - 下一步:将第一节清单固化为 resources/excluded.json,组件库显示「不接入」灰标 diff --git a/resources/catalog.json b/resources/catalog.json index 9a18470..2a428a3 100644 --- a/resources/catalog.json +++ b/resources/catalog.json @@ -1,6 +1,6 @@ { "schemaVersion": 1, - "generatedAt": "2026-10-26T03:57:20.221Z", + "generatedAt": "2026-10-30T01:13:45.040Z", "source": { "catalog": "shizai-catalog-data.js", "componentsNew": "componentsNew.json" @@ -35,7 +35,7 @@ "id": "web", "label": "网页自动化", "icon": "web", - "count": 187 + "count": 169 }, { "id": "office", @@ -59,7 +59,7 @@ "id": "desktop", "label": "桌面与键鼠", "icon": "mouse", - "count": 79 + "count": 97 }, { "id": "vision", @@ -78,13 +78,6 @@ "label": "移动端与设备", "icon": "mobile", "count": 46 - }, - { - "id": "desktop_element", - "label": "桌面元素", - "categories": [ - "desktop_element" - ] } ], "components": [