Commit Graph

221 Commits

Author SHA1 Message Date
yu
b6829cbaab Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-03 14:01:58 +08:00
yu
0d429e5175 fix: overlay真正集成(CRLF换行导致正则替换全部失效) showRunOverlay/hideRunOverlay/overlayBroadcast实际调用, nodeLabel/total字段补上 2026-11-03 14:01:45 +08:00
yu
38b2199d4b fix: 裁剪图像脚本New-Object不能置于.NET方法参数表(组件从未跑通的根因), 改用[Type]::new() 2026-11-03 13:59:02 +08:00
yu
9bfa4ac107 fix: overlay改loadFile(不用data URL) + nodeIntegration开启 + taskbar进度条兜底 2026-11-03 13:57:49 +08:00
yu
bc4b349771 fix: overlay窗口 require改ESM import, nodeIntegration开启使ipcRenderer可用, script标签模板转义修复 2026-11-03 13:55:28 +08:00
yu
0651bc995c Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-03 13:52:45 +08:00
yu
f163c8d0b6 feat: 运行时主窗口最小化+悬浮进度窗(alwaysOnTop不可拖动/resize,显示步骤名/进度/耗时/停止按钮,结束后自动恢复主窗口) 2026-11-03 13:52:25 +08:00
yu
fe0c6c2790 fix: 裁剪图像参数校验与字段说明(源图片路径/坐标语义), 空路径与无效区域给明确报错 2026-11-03 13:50:57 +08:00
yu
6b54decfb0 Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-03 13:46:49 +08:00
yu
346e2ad342 fix: 补充用户不便输入的displayType控件(mouseRecord/clickPosition坐标拾取、excelRange文本、USB串口下拉、键鼠驱动下拉、邮箱email输入、previewDataTable只读、customModal/itemGroup JSON textarea); pickPointToField函数; flowValidation match_type优先级修复 2026-11-03 13:46:27 +08:00
yu
d4f27cdaab refactor: 找图族组件统一新管线(Exists/Location/Wait/Move迁至虚拟桌面+相似度语义), 面板只留V1/V2最新版 2026-11-03 13:44:59 +08:00
yu
12b97315f2 fix: 窗口对象语义字段(window_obj/窗口对象)统一渲染选窗口按钮, 不再依赖组件前缀 2026-11-03 13:28:49 +08:00
yu
241c598b10 fix: 匹配阈值判定移到精化后并取消初始剪枝, 修复高相似度(0.95)误判未找到 2026-11-03 13:16:45 +08:00
yu
4824ac85f2 Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-03 13:15:00 +08:00
yu
b5d6bef369 fix: 窗口组件条件字段渲染+选窗口按钮; imageSelector加文件浏览与屏幕截取; prompt()改confirm(); 后端窗口selector统一读取所有标题字段; 新增桌面键鼠人工验收流程与E2E脚本 2026-11-03 13:12:29 +08:00
yu
3922447689 fix: 全桌面查找结果加回拼接画布物理原点, 修复副屏点击垂直偏移 2026-11-03 13:07:12 +08:00
yu
e7669acd16 feat: 图像查找搜索整个虚拟桌面(多屏拼接), 窗口矩形与区域JSON统一DPI换算 2026-11-03 11:48:41 +08:00
yu
68e16282de fix: 点击脚本声明DPI感知避免物理坐标被二次缩放; 缩放兜底返回实际框尺寸 2026-11-03 11:39:17 +08:00
yu
9868f5d51c fix: 图像匹配改相似度语义并修三处准确度缺陷(尺度对齐/早退阈值/噪声死区) 2026-11-03 11:31:34 +08:00
yu
38af534f70 fix: 图片识别支持JPG等非PNG模板, 文件缺失与大图给出明确报错 2026-11-03 11:04:04 +08:00
yu
52423d46a4 fix: 图片路径类字段屏幕框选改为存模板截图路径, 仅搜索区域字段存区域JSON 2026-11-03 10:54:35 +08:00
yu
0960be88e5 fix: 框选轮询脚本免 System.Drawing 引用, 采样队列化并取消阻塞等待 2026-11-03 10:35:00 +08:00
yu
82765a7f19 fix: 框选所有退出路径恢复应用窗口; 轮询提前启动并同源采样按键与光标坐标 2026-11-03 10:28:24 +08:00
yu
817ea21c9a fix: 框选改为主进程轮询物理按键状态, 覆盖层最高层级置顶, 全路径清理 2026-11-03 10:15:41 +08:00
yu
257fdc7358 fix: 框选截图顺序与多覆盖层状态聚合\n\n- 主屏截到应用窗口: 之前框选结束后先恢复应用窗口再截图, 应用弹回盖住选区; 改为先销毁覆盖层并截图, 最后恢复应用窗口\n- 副屏拖拽无响应/Esc 无效: 轮询只读第一个(主屏)覆盖层状态; 改为聚合所有覆盖层, 任一屏 Esc 可取消、任一屏拖拽可识别\n- 多显示器截图源匹配增加按下→右排序对位回退(display_id 缺失时) 2026-11-03 09:59:57 +08:00
yu
5e6b7cd878 fix: 框选坐标改由主进程采样光标绝对位置\n\n- 混合 DPI 下窗口 clientX/clientY 与屏幕位置映射不可靠, 导致选区偏离鼠标实际位置\n- 渲染层只上报按下/松开状态, 主进程轮询 getCursorScreenPoint 取屏幕绝对 DIP 坐标计算选区\n- 选区正确性不再依赖覆盖层窗口几何, 裁剪与返回值均基于绝对坐标 2026-11-03 09:46:36 +08:00
yu
0641c5b91b fix: 副屏框选覆盖层尺寸不对\n\n- 混合 DPI 多显示器下, BrowserWindow 构造参数直接传副屏 bounds 会按主屏 DPI 虚拟化, 导致副屏覆盖层盖不满或超出\n- 改为先创建隐藏窗口再 setBounds 副屏 bounds, 此时窗口已关联副屏 DPI 2026-11-03 09:39:58 +08:00
yu
b40c15d5b2 feat: 框选与 CV 查找支持多显示器副屏
- pickScreenRegion 每个显示器各开一个框选覆盖层, 副屏可直接框选; 返回屏幕绝对 DIP 坐标+该屏 scaleFactor
- cv-vision 全屏查找改为逐显示器 desktopCapturer 截屏(含负坐标副屏), 命中换算为绝对 DIP 坐标; 区域截图命中按 scaleFactor 换算
- 点击/悬停/输入坐标经 screen.dipToScreenPoint 转物理像素, 修复缩放非 100% 时点击偏移
- 新增 2 个多显示器测试用例(副屏命中映射/区域图缩放换算), 11/11 通过
2026-11-03 09:35:15 +08:00
yu
22054fed37 fix: 截屏改用 desktopCapturer, 修复截 Electron 窗口全黑
- GDI CopyFromScreen 截不到 GPU 合成渲染的窗口内容, 用户框选 Electron 编辑器界面时截图全黑, OCR 无从识别
- pickScreenRegion 改用 desktopCapturer 截屏后按 scaleFactor 裁剪(与 AI 拾取 capturePaneForAi 同款方案)
- cv-vision grabScreen 同步改为 desktopCapturer 优先, 不可用时回退 GDI 脚本
2026-11-03 09:17:23 +08:00
yu
d98185d1cf feat: CV 组件搜索区域 UI 接入完成
- catalog 为 CV_MouseClick/GetText/SetText/MouseHover 新增可选「搜索区域」字段(region widget)
- 属性面板 region 字段渲染「屏幕框选」按钮, 框选后存 {x,y,width,height,imagePath}
- 运行时框选截图内 OCR 定位 + 偏移换算屏幕绝对坐标; 纯坐标范围则全屏截屏后过滤区域内命中
- 新增 2 个区域过滤测试用例(区域内命中/区域外拒绝)
2026-11-03 09:10:00 +08:00
yu
5aa113ea0e feat: CV 组件支持可选搜索区域(第一阶段)
- locateTextOnScreen 支持区域参数: 框选截图(imagePath)+屏幕偏移(x,y) 或纯坐标范围过滤
- locateFor 读取 searchRegion/region 参数; parseRegionArg 兼容 JSON 与图片路径
- 框选截图时 OCR 只识别该图, 命中坐标加偏移得到屏幕绝对坐标, 避免同名文本干扰
- pickRegionToField: region 类型字段存完整 {x,y,width,height,imagePath}
- 明日继续: catalog 给 CV 四组件加 searchRegion 字段 + region 分支屏幕框选按钮
2026-11-02 17:55:18 +08:00
yu
c93543be1c fix: 移除 CV 组件重复注册与非法单行 here-string
- remaining-core.ts 曾重复注册 CV_GetText/SetText/MouseHover/MouseClick 并覆盖 cv-vision.ts 的实现
- 其中 CV_MouseClick/MouseHover 内联的 Add-Type @'...'@ 单行 here-string 是非法语法(@' 后必须紧跟换行), 必然解析失败报 CLIXML 错误
- 移除重复注册, CV 组件统一走 cv-vision.ts 的 -MemberDefinition 实现
- 顺手修复 Image_Move 系列同款单行 here-string bug(改为 -MemberDefinition)
2026-11-02 17:46:14 +08:00
yu
58c23591a5 feat: 属性面板参数说明优化, 让用户清楚每个参数该填什么
- catalog-overrides 为 vision 组 88 个组件补充 229 个字段的 description/placeholder
  (目标/偏移量/图片路径/引擎选择等高频易混字段), catalog.json 同步应用
- Properties.tsx: 元数据缺描述时按控件类型兜底提示(element/file/folder/region)
  vision 组件 element 字段提示「填写屏幕上可见的目标文本, OCR 定位」
- 必填标识从红星 * 改为「必填」徽标, 更直白
- 字段说明文案样式增强(.field-desc): 10px muted 色置于输入框下方
2026-11-02 17:37:43 +08:00
yu
dfc5041a67 fix: CV 截屏声明 DPI 感知并覆盖虚拟桌面, 失败保留截屏证据
- 缩放非 100% 时未声明 DPI 感知的截屏进程只覆盖主屏左上角逻辑区域, 右侧/副屏内容丢失
- grabScreen 先 SetProcessDpiAwarenessContext(-4), 与点击脚本坐标空间一致
- 截屏范围从主屏 PrimaryScreen 改为 VirtualScreen 全部显示器
- cv_not_found 时保留截屏并在错误详情附路径, 便于排查
2026-11-02 17:27:37 +08:00
yu
afa32133ec Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-02 17:20:37 +08:00
yu
bf5ad56063 fix: 属性面板拾取按钮错位
- vision 组件(CV_/OcrOffline_)的 element 字段不再显示浏览器拾取按钮, 目标为手填屏幕文本并更新占位提示
- 修复 file/folder 分支按钮嵌套错误(框选/选窗口按钮误嵌在浏览按钮内且重复两份), 还原为平级按钮
2026-11-02 17:16:17 +08:00
yu
3bc8b60e83 fix: 画布点阵背景重影
- .flow-canvas .react-flow 的 CSS radial-gradient 点阵与 React Flow Background 组件叠加
- 平移时两层点阵以不同速度移动产生重影; 移除 CSS 层只保留 Background 组件
2026-11-02 17:12:53 +08:00
yu
f0b9d1beec fix: CV 视觉组件截屏脚本补加载 System.Windows.Forms
- grabScreen 只 Add-Type 了 System.Drawing, 引用 Windows.Forms.Screen 却未加载该程序集
- 导致 PrimaryScreen.Bounds 取值为 Null, 截屏链路 InvokeMethodOnNull, 所有 CV_* 组件运行失败
- 与 remaining-core.ts 中正常工作的同款脚本对齐
2026-11-02 17:02:42 +08:00
yu
f9b980ab5c fix: 搜索框聚焦时不再出现双层边框
- search-box/task-search 内层 input 关闭自身 focus-visible 光圈, 只保留容器聚焦效果
2026-11-02 16:24:35 +08:00
yu
22e3c191a8 fix: 组件库分类默认全部收起
- 新建任务进入编辑器时不再自动展开前两个分组
- 仅在搜索时自动展开匹配分组, 清空搜索恢复收起
2026-11-02 16:21:41 +08:00
yu
32ac14a36f fix: Excel sheet Move fails on zh-CN Excel due to null optional COM args 2026-11-02 16:00:26 +08:00
yu
f8859fed77 test: validate capability property schemas and options 2026-11-02 15:55:23 +08:00
yu
541908961b feat: 任务列表去掉状态列, 新增更新时间列
- 移除「已启用/未启用」状态列及全部 status-dot/task-status 样式
- 新增「更新时间」列, 显示任务最近修改时间(History 图标)
- 表格栅格 5 列重排, 清理 1250px 媒体查询对应覆盖
2026-11-02 15:54:50 +08:00
yu
03e3d31a83 feat: 移除右侧任务概览面板,任务列表占满整屏
- 删除 TasksPage 的 aside 任务概览区块及其全部 CSS
- 空状态并入列表: 无任务时在列表内显示「还没有任务+新建按钮」, 搜索无结果显示原提示
- .tasks-content 改为单列布局, 任务列表占满可用宽度
2026-11-02 15:45:35 +08:00
yu
bf70cf92e5 Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-02 15:45:07 +08:00
yu
d7aff54bc6 feat: stabilize AI-picked desktop elements with UIA enrichment and window-relative selectors 2026-11-02 15:44:20 +08:00
yu
56d00fba49 revert: 移除任务列表批量删除功能
- 还原 TasksPage/App/app.css 至 1bb28e3 状态(5795c39 及其未提交的布局调整一并撤销)
- 应用户要求移除复选框/全选/删除所选
2026-11-02 15:33:00 +08:00
yu
5795c39a6f feat: 任务列表支持勾选批量删除
- 每行任务左侧新增复选框; 表头「任务」列新增全选(仅作用于当前筛选结果)
- 勾选后列表头部出现「删除所选(N)」按钮, 二次确认后批量删除
- 批量删除保留「至少保留一个任务」保护; 勾选集合随列表变化自动裁剪已删除 id
- 单行删除行为不变
2026-11-02 15:18:50 +08:00
yu
1bb28e3368 fix: 截图目标文件路径兼容文件夹写法
- 目标文件路径语义为完整文件路径(含文件名), 提示文案不变
- 容错: 填的是已存在文件夹或以分隔符结尾时, 自动往里存默认文件名(screenshot_时间戳.png 或配置的文件名称), 不再报 EISDIR
2026-11-02 15:09:23 +08:00
yu
29f3443110 fix: 保存对话框预填文件名并自动补扩展名; 截图组件隐藏图像来源字段
- Properties.tsx: 输出类字段保存框按过滤器预填默认文件名(未命名.png 等), 不再是空文件名没法直接点保存; 保存结果无扩展名时自动补所选类型扩展名(Windows 保存框不会自动补)
- catalog: Image_Screenshot 的 pictureSource(图像来源) 界面隐藏, 实现默认截当前屏幕; 历史流程存有 2(指定图片文件) 仍按原逻辑生效
2026-11-02 15:01:44 +08:00
yu
ba17d6dc2a fix: 图像与OCR 检测报告问题全量修复(P0/P1/P2/P3)
- P0-1: GetOcrTextNew 传图键补 uiSelector, 组件恢复可用
- P1-1: Image_Click 全版本 position 生效(九宫格锚点+自定义偏移 JSON), catalog 补下拉选项
- P1-2: Click_V3 click_key 生效(左/右/中键/双击), catalog 补选项
- P1-3: GetOcrTable 按垂直中心聚合成行列(行内按 x 排序), showTable 写流程数据表(与 Bivartable 共享 __rpaDatabook), isExcel 用 exceljs 另存并处理 res/randomString 占位
- P2-1: Find_V1/Click_V3 find_range 生效(整个屏幕/指定窗口/指定区域), 窗口模式前置+取矩形裁剪, 坐标平移回屏幕系
- P2-2(补): Image_Screenshot 空路径兜底到流程证据目录
- P3-1: accuracy2 无特征匹配层实现, catalog 隐藏并注明
- P3-2: show_track=1 时鼠标 20 步插值平滑移动后点击
- P3-3: 截屏/Find 换 desktopCapturer(去掉逐次 Add-Type); 新增 vision-helpers.test.ts 12 项单测(区域解析/边界夹取/裁剪/九宫格)
- 回归: typecheck 通过; vitest 256 过(4 失败为桌面/PDF 环境遗留); 报告文档已标注修复状态
2026-11-02 14:53:34 +08:00
yu
342145cc46 feat: 屏幕截图组件实现图像来源与截图范围(原 P2 问题)
- vision.ts 重写 Image_Screenshot:pictureSource=1 当前屏幕(desktopCapturer)/2 指定图片文件(image_path 作输入, 输出走输出目录+文件名, 未配置则原样返回);shotRange=2 框选区域按 position/action 区域 JSON 裁剪(pngjs bitblt),区域支持 {x,y,width,height}/[x,y,w,h]/left,top/角点写法并夹取边界
- 移除 browser.ts 重复注册,实现单点维护
- catalog: pictureSource/shotRange 补下拉选项(当前屏幕/指定图片文件, 整个屏幕/框选区域)
- typecheck 通过;browser/cv-vision/capability-audit/app-system 回归 50 项全过
2026-11-02 14:36:14 +08:00
yu
c11e1d1527 fix: 输出类文件字段改用保存对话框
- 目标文件路径/输出目录这类字段指向将来才生成的文件, 原先的打开文件对话框只能选已存在文件, 导致截屏保存位置无法选择
- 字段键/标签命中 输出|保存|另存|导出|目标文件|output/save/export 等关键词时改用保存对话框, 可直接输入新文件名
- 输入类字段保持打开对话框不变
2026-11-02 14:26:29 +08:00
yu
e5f64c21e2 Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-02 14:22:41 +08:00
yu
1ddd1f1b35 feat: enhance AI pane picking with OCR and cancellable hotkeys 2026-11-02 14:21:19 +08:00
yu
b1fc8c25b8 fix: 文件选择对话框过滤器按字段上下文智能匹配
- 原先所有文件选择框都写死 Excel 过滤器, 选图片/PDF/Word 等均显示 Excel 类型, 且无法直接看到目标文件
- 现按 字段键/标签关键词 + 组件类别 推导: Excel/Word/PDF/图片/压缩/音频/视频/JSON 各归其类, 均附带「全部文件」兜底
- 无法识别的字段退回「全部文件」; 目录选择不受影响
2026-11-02 14:15:18 +08:00
yu
1c85a90f1f feat: align browser picker with desktop interaction 2026-11-02 14:12:41 +08:00
yu
9b9c6f17e4 fix: launch external pickup directly on target url 2026-11-02 14:05:28 +08:00
yu
d39c77324a fix: reuse external browsers for element pickup 2026-11-02 13:44:46 +08:00
yu
0132871885 feat: deduplicate capability palette 2026-11-02 13:08:03 +08:00
yu
d22468e29f feat: remove capability execution status markers 2026-11-02 12:00:39 +08:00
yu
e956ec9055 feat: 新增本地UI模型AI拾取与识别实验台 2026-11-02 11:55:36 +08:00
yu
510f0d041d merge: integrate liuwenxin app-system fixes 2026-11-02 11:07:27 +08:00
yu
95fb07e876 feat: complete remaining capabilities and hide integration status 2026-11-02 10:43:11 +08:00
liuwenxin
5f9e28715c fix(应用与系统)!: 修复组件执行与参数校验
修正 PID 空结果、目标类型判断与转换、毫秒等待。
让关闭程序和命令行按所选模式显示并校验参数。
统一 PowerShell 输出编码,修正 BAT 路径引号处理。
明确屏保和屏幕唤醒的实际能力,补充缺陷回归测试。

验证:类型检查、构建与组件回归检查通过。

BREAKING CHANGE: 判断数据类型改为返回布尔值。
需要类型名称的旧流程请改用 Basic_Type。
屏保 V1 移除未实现参数,旧自定义密码节点需重新添加。
2026-11-02 09:05:48 +08:00
yu
657bc6d7d0 feat: excel pivot macro picture and workbook COM operations 2026-11-02 09:00:24 +08:00
yu
ae4f4a2460 feat: manual keyboard mode and ciphertext variables 2026-11-02 08:23:22 +08:00
yu
9a5f86c92a Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-10-30 18:02:50 +08:00
yu
85dcb94056 feat: 新增桌面AI拾取功能,支持视觉识别控件 2026-10-30 18:02:46 +08:00
yu
e390b1b1eb feat: mail find reply and outlook message retrieval 2026-10-30 17:43:07 +08:00
yu
84d73f1b86 feat: pdf encryption image extraction rendering and table reading 2026-10-30 17:26:09 +08:00
yu
23d292fdff feat: word selection cursor and table com 2026-10-30 16:25:44 +08:00
yu
32269a5760 feat: desktop ground variants and desktop children 2026-10-30 16:02:21 +08:00
yu
adf5f3f7cf feat: CV 视觉四能力(截图OCR定位点击/悬停/读文本/输入),修复 path import 与 getOcr 类型 2026-10-30 15:15:57 +08:00
yu
483b01c8b6 fix: 拾取/框选的窗口收集不再过滤最小化窗口,恢复时 show+restore+focus 2026-10-30 14:42:01 +08:00
yu
b9bd6d671b fix: 修复桌面元素拾取时窗口未恢复的问题并优化脚本功能 2026-10-30 13:59:34 +08:00
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
fd507e4f62 fix: 修复用户级安装的 Chrome 探测失败
- LOCALAPPDATA 环境变量缺失(受限启动环境)时退回 os.homedir() 拼接 AppData/Local 候选路径
- 注册表 App Paths 兜底从仅 HKLM 扩展为 HKLM + WOW6432Node + HKCU(用户级安装的 Chrome 注册在 HKCU)
- 本机复现: Chrome 装于 C:/Users/6/AppData/Local, 注册于 HKCU App Paths, 修复后可探测到
2026-10-30 11:36:30 +08:00
yu
f28b5ffc5e feat: 浏览器类型字段改为下拉选择
- catalog.json: WebBrowser_Create/V2/V3/CreateBackground 的 type 字段补 options(内置运行浏览器/Chrome/Edge,label 与存储值分离)
- shared/types.ts: CatalogField.options 支持字符串或 {label,value} 对象
- Properties.tsx: select/radio 选项归一化渲染 label;当前值不在选项中时追加显示(兼容历史手填值如 zexplorer)
- typecheck 通过;全量 vitest 除 4 项依赖真实 COM 的历史失败外全部通过
2026-10-30 11:26:33 +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
e59034d700 fix: 拾取/框选时最小化应用自身窗口,完成后恢复 2026-10-29 17:12:15 +08:00
yu
f353254a86 fix: 补齐 desktop 拾取 IPC 注册与 import 2026-10-29 16:45:59 +08:00
yu
c2b09f39e6 fix: 桌面拾取按钮判定与重复函数清理 2026-10-29 16:45:59 +08:00
yu
0694bd45d3 feat: 编辑器交互优化——圆形返回键、名称块居中、面板按钮悬停动画、删除移至右上角
- 返回键改圆形按钮:悬停变蓝+箭头左移动画,面包屑仅留「编辑流程」
- 流程名称块保持工具栏绝对居中
- 保存/运行按钮悬停动画(弹性缩放/上浮光晕);撤销重做保持静态
- 节点复制/删除移至属性面板右上角,删除悬停红色更醒目
2026-10-29 16:28:26 +08:00
yu
543d5d1564 fix: 清理重复声明,拾取矩阵与桌面拾取稳定 2026-10-29 16:24:35 +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
8870050aaa feat: 拾取策略矩阵——桌面/视觉/窗口能力按类型显示拾取按钮(桌面拾取/屏幕框选/窗口列表) 2026-10-29 15:43:14 +08:00
yu
b40fcbdd35 fix: 根治保存必弹磁盘冲突——编辑不再污染乐观锁基准
- editorStore 新增 baseUpdatedAt(磁盘基准版本),仅 loadFlow/syncSavedFlow 更新
- 保存 expectedUpdatedAt 改用 baseUpdatedAt;此前用每次编辑都会拨快的
  flow.meta.updatedAt 做比对,导致任何编辑后首次保存必然误判冲突
- 移除 flows:save/get 诊断日志(保留内容一致放行逻辑)
2026-10-29 15:33:09 +08:00
yu
8b0004bf72 feat: 桌面拾取器——UIA 元素拾取(空格确认/Esc 取消)、窗口列表、屏幕区域框选截图,属性面板按能力类型切换网页/桌面拾取 2026-10-29 15:22:05 +08:00
yu
0e65fd751d fix: 设置测试补 aiConfig 期望;打包配置 asarUnpack 原生模块与飞桨模型 2026-10-29 14:32:50 +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