物品導航與即時檢測
概述
本文覆蓋兩個觸發式/除錯類任務:
ItemNavigatorTask(介面名稱:物品導航):有有效content時使用官方地圖 WebSocket;未取得任何content時啟動本地 WebSocket 服務,指向所選物品的最近採集點,並支援按鍵標記已獲取。RealtimeDetectTask(介面名稱:即時檢測):迴圈執行 YOLO 檢測,用於線上觀察模型、目標類別和置信度表現。
物品導航
使用前提
- 推薦在賬號配置頁儲存官方地圖同步
content,或在任務配置中直接填寫content。 - 未配置
content時,需要啟用外部指令碼或工具向本地ws://127.0.0.1:3001推送位置資料。 - 物品點位資料來自
assets/items/map/summary.json和assets/items/map/item_names.json。 - 標記結果寫入
configs/marked_points.json,用於避免重複指向已經標記的點位。
配置項
| 配置項 | 預設值 | 說明 |
|---|---|---|
content |
空字串 | 可選。直接填寫 web-api.skland.com/account/info/hg/check 返回 JSON 中的 data.content。有值時優先使用官方地圖 WebSocket。 |
地图账号 |
空字串 | 可選。content 為空時,從賬號配置頁讀取該賬號儲存的地圖同步 content。 |
选择物品 |
[] |
參與導航的物品名稱列表;為空時不會篩選出目標。 |
标记按键 |
f |
接近目標後用於標記“已獲取”的按鍵。 |
标记按住时长 |
0.8 |
當前介面保留項;執行實現尚未讀取該值。實際需要在目標水平距離 20 內連續按住標記鍵 2 秒。 |
資料流
flowchart TD
A[任务 content] --> D{是否有 content}
B[账号配置页 map_contents] --> D
C[本地 WS 端口 3001] --> H[统一位置队列]
D -->|有| E[OAuth 换取官方凭证]
E --> F[获取官方 WS token]
F --> G[连接 ws.skland.com]
D -->|无| C
G --> H
H --> I[解析 mapId 和坐标]
I --> J[查询 assets/items/map 数据]
J --> K[绘制方向箭头]
K --> L[按住标记键写入 configs/marked_points.json]
注意事項
- 物品導航依賴當前地圖 ID 與座標資料,點位資料缺失時不會產生有效指向。
- 任務會在視窗上繪製方向箭頭;若看不到箭頭,先確認 WebSocket 位置資料是否正常。
- “本地 WS 回退”只發生在任務沒有取得
content時。若已配置content但官方鑑權或連線失敗,當前執行不會自動改用本地 WS;應清空任務content並取消/清空地圖賬號後再使用本地模式。 - 標記必須在水平距離 20 內連續按住 2 秒;中途松鍵或離開範圍會取消本次計時。
- 油猴指令碼幫助按鈕會開啟臨時幫助文件和指令碼目錄。
即時檢測
使用場景
即時檢測用於除錯 YOLO 模型,不是面向日常自動化流程的任務。它會持續截圖並執行目標檢測,便於觀察某個模型和目標類別的命中情況。
配置項
| 配置項 | 預設值 | 說明 |
|---|---|---|
YOLO模型 |
src/config.py 中 yolo.default_model |
模型配置鍵,實際模型和標籤維護在 src/yolo/models.py。 |
检测目标 |
當前模型 labels 的第一個目標 | 要觀察的目標類別。 |
检测置信度 |
0.7 |
取值範圍 0 到 1,值越高越嚴格。 |
扫描间隔(秒) |
0.2 |
每次檢測後的等待時間。 |
注意事項
- 目標名稱必須存在於所選模型的 labels 中,否則任務會直接報錯。
- 該任務會迴圈執行,停止時會輸出總掃描次數、命中輪次和最高置信度。
相關文件:地圖官方 WS 客戶端實現 / 賬號配置使用者指南