Files
agentic-mobile-control/tools/describe_screen.py
T

22 lines
748 B
Python

from __future__ import annotations
from core.models import Scene
from device.manager import DeviceManager
from perception.ocr import PaddleOCREngine
from perception.provider import DefaultPerceptionProvider, PerceptionProvider
from tools._device import get_driver
def describe_screen(
device_id: str | None = None,
*,
manager: DeviceManager | None = None,
ocr_engine: PaddleOCREngine | None = None,
perception_provider: PerceptionProvider | None = None,
) -> Scene:
driver = get_driver(device_id, manager=manager)
screenshot = driver.screenshot()
raw_tree = driver.tree()
provider = perception_provider or DefaultPerceptionProvider(ocr_engine=ocr_engine)
return provider.build_scene(screenshot, raw_tree)