diff --git a/src/main/capabilities/vision.ts b/src/main/capabilities/vision.ts index ba4ee00..a8e893b 100644 --- a/src/main/capabilities/vision.ts +++ b/src/main/capabilities/vision.ts @@ -407,6 +407,10 @@ async function locate(args: Record, evidenceDir: string, nodeId offsetY = phys.y; } else { await fs.writeFile(screenshot, PNG.sync.write(shot.png)); + // 拼接画布坐标 → 屏幕物理坐标必须加回画布原点(副屏在主屏左侧/上方时原点为负); + // 漏加会导致点击偏移(实测副屏上移 177px 时点击正好偏下 177px) + offsetX = shot.originX; + offsetY = shot.originY; } // accuracy 字段语义为「相似度」(0~1, 越大越严格, 0.9=至少90%像素一致)——与界面文案一致。