Commit Graph

132 Commits

Author SHA1 Message Date
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
f74d1865da chore: 修复 desktop-picker.ps1 中 DllImport 字符串的引号不一致问题 2026-10-30 14:44:36 +08:00
yu
483b01c8b6 fix: 拾取/框选的窗口收集不再过滤最小化窗口,恢复时 show+restore+focus 2026-10-30 14:42:01 +08:00
yu
11fc88eec9 style(desktop-picker): 修改桌面选择器的透明样式并添加边框
将背景色改为 fuchsia 并设置透明键,添加绘制边框的 Paint 事件处理,提升视觉效果
2026-10-30 14:22:52 +08:00
yu
4ad238ff37 fix: 桌面拾取脚本补 DPI 感知,修复混合缩放下坐标错位 2026-10-30 14:16:34 +08:00
yu
8de4791e57 fix: 修复按键状态检测的位掩码值 2026-10-30 14:14:45 +08:00
yu
b9bd6d671b fix: 修复桌面元素拾取时窗口未恢复的问题并优化脚本功能 2026-10-30 13:59:34 +08:00
yu
a12e6cb0bd fix: 拾取循环补回 DoEvents 消息泵(v3 重写时丢失) 2026-10-30 12:57:52 +08:00
yu
e6c34bafe5 fix: UIA Point 类型名修正(System.Windows.Point),脚本循环验证无错误 2026-10-30 12:52:43 +08:00
yu
ed9b9daa50 fix: 拾取脚本完整重写——v3 逻辑+全链路日志(此前骨架覆盖事故修复) 2026-10-30 12:01:33 +08:00
yu
a1490303d4 fix: 高亮框初始隐藏,仅有效矩形时显示 2026-10-30 12:01:30 +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
3d64392eb0 fix: 拾取循环补 DoEvents 消息泵,修复高亮框/信息条冻结不刷新 2026-10-30 11:26:01 +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
f048be792c feat: 桌面拾取 v3——顶部居中信息条、高亮框跟随、两阶段交互(锁定/微调),显式 UTF8 BOM 2026-10-30 10:34:03 +08:00
yu
517d08d7ef docs: 桌面拾取与定位——原厂实现解读与增强项登记 2026-10-30 10:34:03 +08:00
yu
c592cd891f docs: 外接浏览器(Edge/Chrome)支持改动方案
- 传输层抽象:CdpTransport 接口隔离 webContents.debugger 与 WebSocket 两种通道,BrowserLike 接口与 169 个网页组件零改动
- 唯一新依赖 ws(~50KB);客户机器零安装(Edge/Chrome 原生 CDP)
- 分四阶段:传输层+外部连接(2-3天) → 打开网页组件参数生效(1天) → 多标签 Target 域(2-3天) → 拾取器与高级组件适配(2-3天),合计约 1.5-2 周
- 关键坑已注明:独立 user-data-dir 必带、端口占用自增、断连报错
2026-10-30 10:24:01 +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
a3fbae9d83 docs: 图像与OCR 组 10 项能力问题检测报告
- 静态核对 + 真实运行双路验证,含 P0~P3 分级问题清单与修复优先级建议
- P0: GetOcrTextNew 目录字段无法传图(不可用);P1: Click 忽略 position/click_key、GetOcrTable 输出字段无效
- 算法层(飞桨 OCR/模板匹配 0.9993)实测正常,问题集中在目录与实现脱节
2026-10-30 10:11:07 +08:00
yu
a4b7e24acd feat: 桌面拾取 v2——两阶段交互(悬停选目标/微调模式)、PageUp/PageDown 层级切换、高亮框跟随、UTF8 BOM 2026-10-30 09:58:42 +08:00
yu
745da55e4e docs: 按运行时注册校准能力接入状态 2026-10-30 09:26:28 +08:00
yu
7920a61e12 Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-10-30 09:11:18 +08:00
yu
bb3412fff7 fix: 桌面拾取脚本补 UTF8 BOM,修复 PowerShell 5.1 中文乱码 2026-10-30 08:58:44 +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
4163b57d38 fix: 桌面 Ground 能力归类到独立的桌面元素分组 2026-10-29 15:54:07 +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
778f69e14d fix: 桌面拾取下钻到包含鼠标点的最小控件,修复命中容器级大元素 2026-10-29 15:26:44 +08:00
yu
8b0004bf72 feat: 桌面拾取器——UIA 元素拾取(空格确认/Esc 取消)、窗口列表、屏幕区域框选截图,属性面板按能力类型切换网页/桌面拾取 2026-10-29 15:22:05 +08:00
yu
1e649d7121 chore: 忽略 Tesseract 语言包缓存 2026-10-29 14:37:40 +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