自我修復定位器回寫

自我修復定位器會在執行期於新位置找到元素並記錄該次修復 —— 但*修正後*的位置隨即被丟棄, 因此下次執行又得從頭修復。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)

recordconfidence >= auto_threshold``(預設 0.9)時自動套用,否則建立 ``pending 建議;``approve`` / reject 決定佇列中的項目;``resolved(key)`` 回傳最新已套用/已核准的 修正定位器(或 None)—— 供未來執行重用而不必重新修復的持久修正。

執行器指令

指令

效果

AC_repair_record

保存修正定位器(自動套用或排入佇列)。

AC_repair_resolved

取得某鍵已學到的修正定位器。

AC_repair_pending

列出待審的建議。

AC_repair_approve

核准一個待審建議。

相同操作亦提供為 MCP 工具(ac_repair_*),以及 Script Builder 中 Tools 分類下的指 令。