fix(grounding): OCR collecte TOUS les matchs + choisit le plus proche de l'ancre
Some checks failed
security-audit / Bandit (scan statique) (push) Successful in 13s
security-audit / pip-audit (CVE dépendances) (push) Successful in 11s
security-audit / Scan secrets (grep) (push) Successful in 8s
tests / Lint (ruff + black) (push) Successful in 14s
tests / Tests unitaires (sans GPU) (push) Failing after 14s
tests / Tests sécurité (critique) (push) Has been skipped

Avant : OCR retournait le premier match → cliquait sur la barre de titre
("CR_patient_demo" dans le path) au lieu du fichier dans la liste.

Après : collecte tous les matchs, choisit le plus proche de la position
originale de l'ancre (anchor_bbox). Si pas de bbox, prend le plus central.

Élimine les clics sur les barres de titre, breadcrumbs, menus.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-04-21 16:40:15 +02:00
parent b3eab83a0f
commit 6ab385d671
2 changed files with 47 additions and 32 deletions

View File

@@ -841,7 +841,8 @@ def execute_action(action_type: str, params: dict) -> dict:
grounding_result = _shared_find_element(
target_text=_fc_target_text,
target_description=_fc_target_desc,
anchor_image_base64=screenshot_base64
anchor_image_base64=screenshot_base64,
anchor_bbox=anchor_bbox
)
if grounding_result:
x, y = grounding_result['x'], grounding_result['y']