Commit Graph

55 Commits

Author SHA1 Message Date
yu
a968075100 feat: 外接浏览器支持阶段三+四(多标签管理 + 拾取与高级组件适配)
- external.ts: listPageTargets 标签枚举(过滤 chrome://edge:// 内部页)、openNewPageTarget(PUT /json/new)、ExternalConnection 增加 httpBase/targetId
- session.ts: listTabs/switchTab/openNewTab/getCookies 实现;外部按 targetId 缓存多 ws 会话,切换时迁移弹窗/网络监听;close 关闭全部会话;pickElement 放开外部浏览器(拾取脚本经 Runtime.evaluate 注入,行为与内置一致)
- engine/types.ts: BrowserLike 增加 listTabs/switchTab/openNewTab/getCookies 及窗口/监听可选方法
- browser.ts: Create 支持 openNewTab;WebBrowser_Switch 按标题(正则)/网址真实切换
- web-batch2.ts: GetTAB/V1/V2 真实枚举+匹配+激活;全部组件优先使用流程已选浏览器会话
- web-crawl.ts: 采集/监听组件优先流程会话;BatchDataCrawlNew browserType=chrome/edge 拉起外部浏览器
- browser-control.ts: GetCookieNew 升级 Network.getCookies(含 HttpOnly)
- 冒烟: Edge 双 Tab(ws 会话独立)、/json/new、页面枚举、Network.getCookies 全通过
2026-10-30 11:56:08 +08:00
yu
ccfd82e894 feat: 外接浏览器支持阶段一+二(Edge/Chrome 打开与基础自动化)
- 新增 browser/transport.ts: CdpTransport 抽象(Embedded=webContents.debugger / External=ws 直连调试端口)
- 新增 browser/external.ts: Chrome/Edge 路径探测(常见目录+注册表App Paths)、带独立 user-data-dir 与调试端口拉起、端口占用自增、/json/version 就绪轮询、远程连接模式
- session.ts: BrowserSession 改为传输层注入, navigate/currentUrl/download/弹窗/网络监听双模式适配; 外部会话按 (mode,type,port) 缓存复用; pickElement 外部模式明确报不支持(阶段四)
- capabilities/browser.ts: WebBrowser_Create/V2/V3/CreateBackground 读取 type/isRemote/ipAddress/port/arguments; type=chrome/edge 或 isRemote=1 走外部浏览器, 缺省仍走内置兜底
- 依赖: +ws ^8.22.0
- 冒烟已验证: Edge 156 拉起→CDP 连接→Page.navigate+loadEventFired→取标题→截图→setDownloadBehavior→关闭 全通过
- 内置浏览器行为不变(browser.test.ts 21 项回归通过)
2026-10-30 11:09:19 +08:00
yu
a25f8c76b6 Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-10-30 10:52:41 +08:00
yu
cc28d49ab5 fix: 修复质量检查发现的选择器与资源问题
修复浏览器通配符过滤和 ARIA 选择器转义,收敛表单窗口生命周期,释放邮件连接,清理日志复制定时器,并校准 Word COM 测试超时。
2026-10-30 10:51:27 +08:00
yu
bc0ed3fcd8 fix: 文件/FTP实测修复三处真Bug
- windows-system.ts: File_OpenFile 打开文件夹时 explorer.exe 成功也返回退出码1, 放行该退出码(实测验证)
- ftp.ts: FTP_CreateDir 的 cd() 改为 await, 消除 basic-ftp 并发冲突(launched a task while another one is still running, 实测验证)
- flowValidation.ts: flow.variables 空值防御, 避免旧流程JSON缺字段时渲染崩溃

实测: FileTest 32/32, FtpTest 10/10 全部通过
2026-10-30 10:40:05 +08:00
yu
19eb53b5d8 fix: 修复文件组 5 处目录字段与实现键名脱节
- File_CreateFile: 目录字段 folder_path/name,实现读 path → 必报文件路径为空
- File_GetFileInfo / File_WaitFile: 目录字段 file_path,实现读 path → 读不到
- File_CompressFile: 目录字段 file_path,实现读 pathSrc → 压缩源找不到
- File_Move: 目录字段 file_path/target_path/name,实现与 File_File_Move 共用
  pathSrc/pathDest → 读不到;补齐别名兼容
2026-10-30 10:14:22 +08:00
yu
b19f9aa9ba fix: 修复拼接两列数据键名脱节导致的假成功
- SpliceColData/DoJoint 实现读取的键(col1/cola)与 catalog 必填字段
  (col_name_1/col_name_2/col_num_1/col_num_2)完全脱节,填了参数也按
  undefined 找列,拼接出空值仍报成功
- 改读 catalog 真实键名,按 change_type 支持列名/列号两种模式,兼容旧键
2026-10-29 17:58:57 +08:00
yu
8cedf45628 fix: 修复设置单元格格式不生效与表格样式覆盖单元格样式
- SetCellFormat V1/V2/V3:格式解析补厂商 JSON 键映射(FontColor/FontSize/
  BoldAndItalic 位标志/BackgroundColor 带透明度/DigitalFormat.formatstring/
  FontFormat 字体名),纯格式代码(如 0.00)回落为数字格式——此前全部被静默忽略
- ShowTableStyle:行级样式(row.font/fill+commit)在 exceljs 中会覆盖该行
  已设置的单元格样式,改为逐单元格设置表头样式
- 经 18 节点覆盖流程实测:V3 红字宋体加粗、V2 蓝字、V1 数字格式 0.00 均落盘
2026-10-29 15:57:57 +08:00
yu
3b0883c80f feat: OCR 后端切换飞桨——RapidOCR ONNX(@gutenye/ocr-node,PaddleOCR v4 模型全离线) 2026-10-29 14:13:50 +08:00
yu
06886c5b31 fix: OCR 识别开启 blocks 输出并从块树提取词/行,修复坐标与表格为空 2026-10-29 13:51:51 +08:00
yu
6f008ed8c0 fix: AI 请求加 170 秒超时保护,防止服务端无响应时无限挂起 2026-10-29 11:39:50 +08:00
yu
a4cccbc858 fix: 修正 AI/NLP 能力 id 与目录一致(情感/关键词/实体/批量评论),补充讯飞变体 2026-10-29 11:13:38 +08:00
yu
d351556293 feat: 接入 AI 文本家族(OpenAI 兼容协议,17 id)与本地 OCR(Tesseract.js,4 id);设置页新增 AI 服务配置 2026-10-29 10:58:35 +08:00
yu
d331d56f2e feat: 接入 FTP 全家桶(10 id)——连接/列表/下载/上传/重命名/删除/建目录/存在判断/断开 2026-10-29 10:28:08 +08:00
yu
26c682d2f9 feat: Excel 高阶接入——格式/筛选/表格样式/隐藏/尾空单元格/列标识/选中区域/关闭/加载/写列(16 id) 2026-10-29 10:10:34 +08:00
yu
fc1207cddd feat: P2 接入——屏幕锁/屏保/凭据/远程桌面/输入法/文件对话框(19 id) 2026-10-29 10:01:32 +08:00
yu
bb23bb192c fix: 移除 System_ExecuteCommandV1 重复注册,统一使用原生实现(type:1=DOS 2=BAT 3=PS) 2026-10-29 09:35:51 +08:00
yu
de514500a7 feat: 接入 System_ExecuteCommandV1——按 command_type 分派 PS/DOS/BAT 2026-10-29 09:25:20 +08:00
yu
303560f0f8 feat: P1 接入——人机交互表单(9 id)、Time 家族(7 id)、图表数据读取(2 id) 2026-10-29 09:21:21 +08:00
yu
b08f056aba fix: 修复批二 handler 缺失声明与 FlowSaveResult 类型收窄 2026-10-28 18:05:08 +08:00
yu
4ac9755416 feat: 接入网页批三——数据采集家族(14 id)与网页监听三件套 2026-10-28 17:53:44 +08:00
yu
d6165c910c fix: 修复 web-batch2 文件内字面 \\n 导致的语法错误 2026-10-28 17:46:32 +08:00
yu
4c84674b29 fix: 补注册弹窗自动关闭两个能力 2026-10-28 17:46:32 +08:00
yu
560134171f feat: 接入网页批二——文件上传/多标签/窗口状态/停止加载/相似元素数组/弹窗自动关闭 2026-10-28 17:46:32 +08:00
yu
9b8bc0eb1a fix: SetScrollPos 兼容目录参数 scrollpos,修复滚动位置不生效 2026-10-28 17:46:32 +08:00
yu
69e9554250 Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-10-28 17:02:14 +08:00
yu
7f3aaac2ff fix: Excel_Cs_SaveAs 支持 path(目录)+name(文件名) 组合另存 2026-10-28 15:59:41 +08:00
yu
9d996f137b fix: 补齐 setValue/getValue 脚本缺失的 try-catch 闭合,修复 PowerShell 语法错误 2026-10-28 15:49:33 +08:00
yu
06981dfff3 fix: 点击前检测最小化/屏幕外窗口并自动还原,修复 -32000 坐标点击落空 2026-10-28 15:43:00 +08:00
yu
093fc302fa fix: 桌面脚本强制 Per-Monitor DPI 感知,修复多屏缩放下点击坐标错位 2026-10-28 15:33:27 +08:00
yu
3b05d10ff4 fix: App_Run 参数为空时不传 -ArgumentList,避免部分应用启动即退出 2026-10-28 15:18:58 +08:00
yu
9c973d9bad fix: 窗口唤起改用 EnumWindows 跨虚拟桌面查找并移回主屏可视区 2026-10-28 15:11:01 +08:00
yu
0fe264a884 fix: 清空区域兼容 cellPos 与 startRow/startColumn 键并支持清除格式模式 2026-10-28 15:04:55 +08:00
yu
2c32a8f51d feat: Ground 能力支持托盘/隐藏窗口自动唤起与 AttachThreadInput 前台化 2026-10-28 15:01:37 +08:00
yu
753508b500 feat: 桌面元素点击/填值/读值增加隐式等待重试(默认4秒) 2026-10-28 14:56:20 +08:00
yu
97fda1696a fix: Excel_SaveAs 支持 filename/isAbsolutePath 字段并处理相对路径 2026-10-28 14:49:10 +08:00
yu
73a3f47bdf fix: 桌面窗口未找到时输出明确错误而非进程崩溃 2026-10-28 14:28:03 +08:00
yu
3bea611750 Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-10-28 14:15:47 +08:00
yu
8a816fd41d feat: 接入桌面 UIA 元素能力(Ground 系列) 2026-10-28 14:04:56 +08:00
yu
8dd0aeefa6 fix: PDF 抽页页码留空时明确报错而非静默复制全本
pdfRange 选择非 all 且 pdfNum 为空时,此前 parsePdfPages 回退为
返回全部页面,导致配置错误时无声输出完整副本;现返回空集由
CreateNewPdf 抛出 No valid PDF pages
2026-10-28 13:41:50 +08:00
yu
9de0eeaa88 fix: 统一 Excel 工作簿共享存储,修复多组件互相覆盖
office.ts(内存句柄表)、office-file-extended.ts(每次重读磁盘)、
excel-common.ts(按路径独立缓存)、extended.ts(loadSheet 每次重建)
各自持有工作簿实例并整簿写回同一文件,后保存者会整体覆盖先保存者:
列宽/行高/合并被背景色冲掉、复制的 Sheet 被新建 Sheet 冲掉等。

- 新增 excel-store.ts:按路径共享同一 ExcelJS 实例,四个模块统一接入
- resolveWorkbook 返回流程变量持有的原始句柄对象,另存为改写 path
  能同步到后续节点(此前改在副本上,下游仍写旧路径)
- 另存为后以新路径重新登记实例并释放旧路径缓存
- ReadColumn 裁掉尾部空值(共享实例下触碰空行会撑大 rowCount)
- 新增 3 个共享存储回归测试(格式保持/复制Sheet保持/另存后续写)
2026-10-28 13:32:01 +08:00
yu
54571eff8d fix: Excel_RenameSheet 兼容目录键名 newSheet
处理器此前只读 newName/name/sheetName,而 Excel_RenameSheet 目录定义
与属性面板使用 newSheet,导致已填写新表名仍报「新 Sheet 名称为空」;
补充别名回归测试
2026-10-28 13:12:41 +08:00
yu
c5ac0ebc31 fix: Excel_WriteRange 对齐目录键名 cellPos/data/isSave
- 支持 cellPos(如 B2)定位起始单元格,与 column/row 双兼容
- 数据字段兼容 data 键(目录定义),保存字段兼容 isSave 键
- 新增 Excel_WriteRange 目录键名回归测试
2026-10-28 11:17:16 +08:00
yu
877dab703f fix: 对齐 Excel 新建/打开组件的目录字段键名
- newExcel 兼容 Excel_NewExcel 的 filePath 键(此前只读 path/folder,
  导致已填写文件路径仍报「Excel目录为空」)
- newExcel 支持 isMakedirs(是否创建该路径):False 且目录不存在时
  给出明确报错与建议;缺省时保持自动创建目录
- openExcel 兼容 Excel_OpenExcel / Excel_OpenExcelNew 的 filePath 键
- bool() 大小写不敏感,正确识别目录下拉框的 True/False
- 补充别名键名回归测试(4 例)
2026-10-28 10:59:53 +08:00
yu
76f2160950 feat: 批量接入常用RPA能力 2026-10-27 16:29:52 +08:00
yu
fbdfb782bb feat: 接入常用网页层级与数据表能力 2026-10-27 15:52:30 +08:00
yu
741dc773c1 feat: 扩展Word与邮件自动化能力 2026-10-27 15:17:55 +08:00
yu
b78795ccdc feat: 接入本地工具与Databook能力 2026-10-27 14:57:40 +08:00
yu
6adf772987 feat: 增加本地演示流程与网页DOM能力 2026-10-27 13:50:03 +08:00
yu
d4799a4285 feat: 扩展数据窗口能力并完善设置统计 2026-10-27 13:28:48 +08:00