Ops Client
概述
操作並驗證真實的桌面客戶端視窗。目前的指引主要針對 Tauri 應用,但此技能同樣適用於瀏覽器預覽無法作為有效證據的客戶端應用程式。
工作流程
- 識別指定的客戶端目標:應用程式名稱、儲存庫路徑、套件/應用程式目錄、行程、PID、可見視窗以及要求的證據。
- 如果從儲存庫開始工作,請檢查清單檔案與原始碼佈局(例如
src-tauri/、tauri.conf.*、Electron 設定、原生應用目標、套件腳本、justfile 任務或 README 執行說明),以確認其中是否包含桌面/客戶端應用程式。 - 在驗證之前確認啟動指令與執行時期來源:
pnpm tauri dev、除錯套件、釋出版本、Electron/原生執行指令,若不清楚則標記為Not found/Not verified。 - 列舉真實視窗,並根據所有者、PID、標題與邊界識別出相符的
CGWindowID。 - 在不依賴前景焦點的情況下拍攝真實視窗:
screencapture -x -l<CGWindowID> /private/tmp/desktop-client-window.png - 在宣稱視覺證據之前,使用
view_image檢查螢幕截圖。 - 優先使用背景安全的檢查方式與輔助功能操作,例如在指定的控制項上執行
AXPress。 - 在相關 UI、套件或輔助功能變更後,重新建置/重啟預期的客戶端實例,然後再重新驗證。
模式
- 啟動審查: 在執行或驗證客戶端應用程式之前,先識別儲存庫所屬的客戶端應用程式及其啟動指令。
- 視窗證據: 證明行程、執行時期、視窗身份與螢幕截圖來源。
- 互動: 在使用座標點擊之前,優先使用輔助功能/控制樹路徑。
- AI 可操作 UI: 改善 DOM 與輔助功能表面,使代理能可靠地識別控制項。
不適用於
- 純瀏覽器頁面、網頁預覽、表單工作流程、下載或瀏覽器主控台/網路檢查;請改用
ops-browser。 - 一般的儲存庫探索,除非使用者要求客戶端啟動審查、真實視窗驗證或瀏覽器預覽失效。
- 當任務需要來自 Tauri、Electron 或原生桌面執行時期的證明時,不使用瀏覽器預覽證據。
- 本機差異審查、規劃或僅安全審查;請使用相關的
code-*技能。
硬性規則
- 除非使用者明確要求僅進行瀏覽器檢查,否則不得將瀏覽器預覽、開發伺服器頁面或區域螢幕截圖視為桌面客戶端證據。
- 在確認啟動指令來源以及是否會干擾現有應用程式實例、活動視窗或使用者工作流程之前,不得啟動或重啟客戶端。
- 除非沒有穩定的控制路徑且風險可接受,否則不得奪取使用者的滑鼠、移動游標、啟用不相關的視窗或使用座標點擊。
- 優先使用語義控制項、可存取名稱、
aria-label、title、sr-only、關聯的表單標籤以及穩定的data-testid選擇器來處理關鍵控制項。 - 當行程、執行時期、視窗來源或互動證據未經檢查時,請標記為
Not verified。
輸出合約
報告指定的客戶端目標、儲存庫/客戶端所有權證據、啟動指令或 Not found、目標行程/執行時期、真實視窗證據、螢幕截圖來源、互動方法、輔助功能或 DOM 缺口、重啟/重建狀態,以及任何標記為 Not verified 的項目。
技能維護
在維護此套件時,每當觸發範圍、模式、硬性規則或輸出合約發生變更,請更新 references/eval-cases.md、references/usage.md 與 agents/openai.yaml。在 AICraft 中,發佈前執行 python3 scripts/validate-skills.py,發佈到 GitHub 後執行 npx skills add https://github.com/idaibin/aicraft --list。
參考資料
- 請參閱 references/usage.md 以取得觸發指引與工作流程細節。
- 請參閱 references/eval-cases.md 以取得觸發與品質評估案例。