粗粒度標籤螢幕網格(VLM Grounding)
視覺 / VLM grounding 在模型能引用*粗粒度儲存格*(「點擊 C3 格」)時,遠比引用容易
幻覺的原始像素座標更可靠——疊加標籤網格正是向此類模型描述截圖、並將其回答對應回
座標點的標準做法。框架先前沒有這個輔助工具。screen_grid 在螢幕(或子 region)
上鋪設 rows x cols 網格,以試算表風格標記每個儲存格(欄字母 + 列號,左上為
A1),並雙向轉換。
純標準函式庫幾何;唯一裝置相依的路徑是當未提供 region 或 screen_size 時抓取
即時螢幕尺寸的預設行為,因此每個函式都可透過傳入明確區域完整單元測試。不匯入
PySide6。
無頭 API
from je_auto_control import grid_cells, cell_for_point, point_for_cell, click
# 以 4x4 網格向模型描述螢幕
for cell in grid_cells(4, 4):
print(cell.label, cell.center)
# 模型回答「C3」-> 轉成點擊
click(*point_for_cell("C3", 4, 4))
# 使用者點在哪個儲存格?
cell = cell_for_point(820, 410, 4, 4)
print(cell.label if cell else "outside")
grid_cells(rows, cols, *, region=None, screen_size=None) 回傳列優先的
GridCell 物件(label / row / col / left / top / right /
bottom + center)。cell_for_point 回傳包含該點的儲存格(點在區域外則回傳
None);``point_for_cell`` 回傳指定儲存格的中心 [x, y],可直接點擊。標籤超過
Z 後以試算表風格延續(AA、AB …)。
執行器指令
AC_grid_cells``(``rows / cols / region → {count, cells})、
AC_cell_for_point``(``x / y / rows / cols / region →
{found, cell})與 AC_point_for_cell``(``label / rows / cols /
region → {point})。三者以 MCP 工具 ac_grid_cells / ac_cell_for_point /
``ac_point_for_cell``(唯讀)及 Script Builder 指令(位於 Image 分類下)形式提供。