任務開發
一次性任務示例位於 src/tasks/MyOneTimeTask.py,後臺觸發任務示例位於 src/tasks/MyTriggerTask.py。
建立任務
- 使用者點選後執行一次的任務繼承
BaseTask。 - 需要後臺週期檢查的任務繼承
TriggerTask。 - 通用能力可以放在
src/tasks/MyBaseTask.py。
任務類通常在 __init__() 中設定名稱、描述、預設配置和配置控制元件,在 run() 中實現自動化邏輯。
註冊任務
在 src/config.py 中註冊模組路徑和類名:
'onetime_tasks': [
['src.tasks.MyFirstTask', 'MyFirstTask'],
['ok', 'DiagnosisTask'],
],
後臺任務使用 trigger_tasks 列表。
常用能力
- 修改
default_config增加任務配置預設值。 - 修改
config_type選擇配置控制元件型別。 - 使用
self.ocr()識別文字。 - 使用
self.find_one()或self.find_feature()進行模板匹配。 - 使用
self.info_set()在 UI 中展示任務狀態。 - 使用
self.log_info(..., notify=True)傳送通知。
啟用 custom_tasks 後,也可以在 GUI 中建立和編輯自定義任務指令碼。
使用 AI 輔助開發
倉庫內建以下 Agent Skills:
$ok-script-tasks:建立、修改和註冊任務類。$ok-script-codegen:根據需求或截圖生成任務自動化邏輯。$ok-script-i18n:同步任務名稱、描述和配置項翻譯。
驗證
python main_debug.py
python -m unittest tests.TestMain
新增測試時,將檔案放在 tests/ 下;釋出工作流會執行該目錄中的測試檔案。