自我修復定位器回寫
自我修復定位器會在執行期於新位置找到元素並記錄該次修復 —— 但*修正後*的位置隨即被丟棄,
因此下次執行又得從頭修復。RepairStore 補上這個迴圈:它記錄該次修復的修正定位器(座
標 / VLM 描述 / 方法),在信心足夠高時**自動套用**,否則排入*待審建議*。之後的執行可透過
RepairStore.resolved() 讀取已學到的修正。
JSON 後端(透過共用 json_store 助手);純標準函式庫;信心與門檻皆為明確值,因此行為
具確定性且可完整單元測試。不匯入 PySide6。
無頭 API
from je_auto_control import RepairStore, repair_from_heal
store = RepairStore("repairs.json")
# 高信心修復 -> 立即套用:
store.record("login_btn", method="vlm", coordinates=[120, 64],
description="Login", confidence=0.95)
store.resolved("login_btn") # -> {method, coordinates, description}
# 低信心修復 -> 排入審查:
s = store.record("save_btn", method="image", coordinates=[5, 5],
confidence=0.5)
store.pending() # -> [save_btn 建議]
store.approve(s.id) # 此後 store.resolved("save_btn") 可用
# 直接從 HealEvent(物件或 dict):
repair_from_heal(heal_event, "login_btn", store=store, confidence=0.9)
record 在 confidence >= auto_threshold``(預設 0.9)時自動套用,否則建立 ``pending
建議;``approve`` / reject 決定佇列中的項目;``resolved(key)`` 回傳最新已套用/已核准的
修正定位器(或 None)—— 供未來執行重用而不必重新修復的持久修正。
執行器指令
指令 |
效果 |
|---|---|
|
保存修正定位器(自動套用或排入佇列)。 |
|
取得某鍵已學到的修正定位器。 |
|
列出待審的建議。 |
|
核准一個待審建議。 |
相同操作亦提供為 MCP 工具(ac_repair_*),以及 Script Builder 中 Tools 分類下的指
令。