v0.0.2
Pre-release
Pre-release
重大更新
🧩 步驟系統(Step System)
規則全面改為統一步驟架構,廢除舊有觸發規則/比較規則分類。
- 每條規則由有序步驟陣列組成:
detect → click → key → wait → wait_rule → collect_rounds → jump - 舊版 JSON 自動遷移,v0.0.1 任務不遺失
- 步驟列表支援拖曳排序(⠿ 把手)、點擊展開編輯、即時摘要
🔍 比對模式三選一
模糊比對 checkbox → 下拉選單三選一(預設近似比對):
- contains — 包含關鍵字
- exact — 完全符合
- fuzzy — 近似比對(可調門檻)
🎯 觸發模式選擇
建立規則時彈窗選擇:
- once — 只觸發一次(多輪比較用)
- repeat — 循環觸發(預設)
🛡️ 規則引擎健壯性
- 跳轉循環偵測(A→B→A 自動攔截)
- 待觸發佇列上限 200 + 每 50 週期 orphan 清理
- Runaway 規則 30 秒後自動恢復
- 規則鎖保護(_process_rules / check_runaway_rule)
- 刪除規則前列出依賴規則,刪除後自動清理殘留參照
- 儲存延遲合併(500ms debounce)+ 關閉前 flush
- JSON 載入失敗降級為 warning,不再崩潰
🧹 移除熱鍵
全面移除所有熱鍵(F8/F9/F10/F12),包含 QShortcut 與 RegisterHotKey 兩套實作。所有操作回歸 GUI 按鈕。
🔒 前景保護固定化
移除前景保護開關 checkbox,前景檢查改為固定強制行為。非前景時靜默等待,不再搶奪焦點。
🐛 Bug 修復
- rapidocr_onnxruntime.version 缺失導致引擎崩潰
- iteration % 1 日誌洪水(每幀輸出)→ 改為每 30 幀
- _handle_wait 使用 time.sleep() 阻塞緊急停止 → 改為 stop_event.wait()
- save_rules 直接覆蓋 JSON → 改為原子寫入(暫存檔 + rename)
- OCR 計時每次都 print stdout → 改為 _DEBUG_OCR_TIMING 開關
- fallback 截圖函數名稱不一致(capture_window_full vs capture_window_content)
- debug panel BGR→RGB 轉換缺失
- 刪除 wait_rule 步驟後規則樹縮排不更新
📦 依賴與打包
- 新增 requirements.txt(僅 6 個執行期依賴)
- build.py:hidden-imports 從 11→6→11 項、excludes 從 16→58 項
- 排除 ~120 個未使用套件(torch、pandas、matplotlib 等)
- 新增 .gitignore 規則(logs/、*.spec、dist/、build/)
📚 文件更新
- README.md:反映移除熱鍵、步驟系統、比對模式、安全機制
- ARCHITECTURE.md:安全機制表更新(移除 F12、前景 always-on)
- diagnostic-report.md:8 項診斷問題標記為 ✅ 已修正
- step-system-refactor.md:頂部標記 ✅ 實作完成