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
|
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
|
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
|
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
|
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
|
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
|
1bb28e3368
|
fix: 截图目标文件路径兼容文件夹写法
- 目标文件路径语义为完整文件路径(含文件名), 提示文案不变
- 容错: 填的是已存在文件夹或以分隔符结尾时, 自动往里存默认文件名(screenshot_时间戳.png 或配置的文件名称), 不再报 EISDIR
|
2026-11-02 15:09:23 +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
|
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
|
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
|
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 |
|