Skip to content

v0.0.2

Pre-release
Pre-release

Choose a tag to compare

@Sid-1996 Sid-1996 released this 23 Jun 19:10

重大更新

🧩 步驟系統(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:頂部標記 ✅ 實作完成