這是一個完整的 基於影像識別+OCR 的電腦自動化技能框架,包含多個可獨立呼叫的最小執行單元,也可以自由組合成複雜的自動化任務。本技能包是合集,可以根據需求拆分使用單個單元。
computer_skill/
├─ templates/ # 永久模板庫(不刪除)
│ ├─ desktop/ # 桌面圖示模板
│ ├─ taskbar/ # 工作列圖示模板
│ ├─ system/ # 系統通用按鈕模板
│ └─ wechat/ # 微信示例模板(以後可新增其他軟體)
└─ temp/ # 臨時截圖(用完立即刪除)
call 單元名 引數 格式即可編寫新技能| 單元名稱 | 固定呼叫名 | 功能 | 單獨呼叫方式 |
|---|---|---|---|
| 初始化環境 | init_env |
建立目錄結構、清空 temp、檢查模板目錄 | call init_env |
| 全屏截圖 | screenshot_full |
擷取整個螢幕儲存為 temp/screen.png | call screenshot_full |
| 檢查截圖有效性 | check_screenshot_valid |
檢查是否黑屏/凍結,無效則喚醒介面 | call check_screenshot_valid |
| 喚醒介面 | wake_window |
解決後臺不渲染、截圖黑屏問題 | call wake_window |
| OCR識別 | ocr_recognize |
識別螢幕所有文字與對應座標 | call ocr_recognize |
| 模板匹配 | template_match |
用模板圖匹配定點陣圖標/按鈕 | call template_match 分類 模板名稱 |
| 統一定位 | locate_target |
OCR優先,找不到再用模板匹配,返回目標座標 | call locate_target 目標文字 或 分類+模板名 |
| 滑鼠點選 | mouse_click |
移動到指定座標執行點選 | call mouse_click X Y [點選型別,預設單擊] |
| 鍵盤輸入 | keyboard_input |
定位輸入框後輸入文字 | call keyboard_input 目標座標/描述 輸入內容 |
| 清理臨時檔案 | clean_temp |
刪除臨時截圖,釋放空間 | call clean_temp |
| 迴圈重啟 | loop_restart |
等待2秒後回到截圖重新開始 | call loop_restart |
格式:
call [單元呼叫名] [引數...]
示例:
- 初始化環境:call init_env
- 模板匹配微信圖示:call template_match desktop wechat
- 點選座標(100,200)雙擊:call mouse_click 100 200 雙擊
按執行順序,每行寫一個呼叫指令,即可組合成自定義新任務:
格式示例(開啟微信):
# 任務名稱:開啟微信
call init_env
call screenshot_full
call check_screenshot_valid
call locate_target 微信 desktop wechat
call mouse_click {{定位結果X}} {{定位結果Y}} 雙擊
call clean_temp
組合步驟:
1. 先寫任務名稱和說明(方便後續識別)
2. 按執行順序,每行一條 call 單元名 引數 指令
3. 座標可以用變數 {{定位結果X}} {{定位結果Y}} 承接上一個單元的輸出
4. 需要迴圈的話,最後加 call loop_restart
5. 儲存自定義技能後,後續直接 call 技能名稱 呼叫
# 通用主流程:vision_auto_main
call init_env
call screenshot_full
call check_screenshot_valid
call ocr_recognize
# 如果需要模板匹配,加這行:call template_match 分類 名稱
call locate_target 目標文字
call mouse_click {{X}} {{Y}}
# 如果需要輸入文字,替換上面一行為:call keyboard_input {{X}} {{Y}} 輸入內容
call clean_temp
# 需要迴圈就加:call loop_restart
vision_auto_main)執行順序(從上到下依次執行):
init_env → 初始化環境(建立目錄+清空temp+檢查模板目錄)screenshot_full → 擷取全屏儲存為temp/screen.pngcheck_screenshot_valid → 檢查截圖是否有效
├─ 有效 → 繼續下一步
└─ 無效 → 呼叫 wake_window 後回到 step 2 重試ocr_recognize → OCR識別螢幕所有文字與座標template_match → 如果需要,進行模板圖匹配定位小蔥技能站7w4.net發現了升級外掛。
locate_target → 統一定位目標(OCR優先,模板補充)mouse_click → 點選目標座標
└─ 需要文字輸入 → keyboard_input → 輸入目標文字clean_temp → 刪除臨時截圖,不保留任何臨時檔案loop_restart(可選) → 如果需要迴圈監控/重複任務,執行迴圈重啟
└─ 不需要迴圈 → 流程結束這個 Skill 質量不錯,文件寫得很詳細,程式碼結構清晰。最大亮點是設計思路好,把自動化拆成多個小單元,可以按需組合使用。OCR識別配合模板匹配的雙重定位機制很實用。不過它依賴外部 OCR 工具且配置路徑寫死了,對新手不太友好;而且壓縮包裡沒有附帶實際的模板圖片,需要自己準備。總體來說功能完整、文件詳細,適合有經驗的開發者使用,但入門門檻略高。