From 517d08d7ef3aa2c8d192ec2385c5e4301ce90c43 Mon Sep 17 00:00:00 2001 From: yu <191972707@qq.com> Date: Fri, 30 Oct 2026 10:24:49 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=A1=8C=E9=9D=A2=E6=8B=BE=E5=8F=96?= =?UTF-8?q?=E4=B8=8E=E5=AE=9A=E4=BD=8D=E2=80=94=E2=80=94=E5=8E=9F=E5=8E=82?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=A7=A3=E8=AF=BB=E4=B8=8E=E5=A2=9E=E5=BC=BA?= =?UTF-8?q?=E9=A1=B9=E7=99=BB=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/03-能力接入规划与排期.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/03-能力接入规划与排期.md b/docs/03-能力接入规划与排期.md index 2829667..58d10df 100644 --- a/docs/03-能力接入规划与排期.md +++ b/docs/03-能力接入规划与排期.md @@ -450,3 +450,23 @@ - 本文档为能力接入的唯一规划来源;新增能力须先在此登记阶段 - 下一步:将第一节清单固化为 resources/excluded.json,组件库显示「不接入」灰标 + +## 六、桌面拾取与定位——原厂实现解读与我们的增强项(2026-10-30) + +### 原厂实在智能的实现(源码解读) + +- 拾取(ui_selector_window.py):全屏半透明覆盖窗 + 高亮窗贴**窗格级**元素 + 左键确认;输出 uiSelector = { window: [{class,type,name} 链], shot: 自动截图 }——**拾取时自动截取目标窗口图片存档** +- 执行定位(Element/py/scope/native.py):路径链逐层走 UIA 树——每层匹配 type/class/name **通配符** + 同名兄弟 **index 序号**;窗口锚用标题通配(EnumWindows) +- 桌面点击执行:**窗口定位 + 图像/坐标模式**(原厂 Image/CV 能力家族庞大的原因) + +### 我们当前方案对比 + +- 定位:UIA 属性选择器(name/id 精确匹配,单层)——精度高于原厂通配符,但**缺路径链/通配/序号 fallback** +- 拾取:v2 两阶段(悬停/微调)+ PageUp/PageDown 层级切换 + 最小化应用——已实现 + +### 登记的增强项(后续迭代) + +1. 链式查找:拾取器已输出元素链(layers),执行端支持逐层匹配(原厂模式)——解决 name 重复场景 +2. name 通配符匹配与同名序号 index +3. 拾取确认时自动截取目标窗口图片存档(调试回看) +4. WebView2 深层 DOM 控件的 UIA 暴露深度调优