AzurPilot 是什麼
AzurPilot 是《碧藍航線》的自動化框架。它通過 ADB 連接安卓模擬器或設備,循環執行「截圖 → 識別 → 操作」,把日常、出擊、大世界等重複流程交給程序。它不是遊戲輔助外掛,也不修改遊戲客戶端:所有操作都發生在螢幕層面,和玩家手動點擊走的是同一條輸入鏈路。
技術構成
| 層 | 實現 | 說明 |
|---|---|---|
| 排程 | alas.py | 每個實例一個處理程序,串行執行任務,失敗後分級恢復 |
| 識別 | OpenCV 模板匹配 + OCR + 地圖網格檢測 | 資源按 1280×720 製作,分 CN / EN / JP / TW 四套 |
| 控制 | uiautomator2 / ADB / minitouch / MaaTouch | 截圖與控制方式可在設定中切換 |
| 介面 | React + TypeScript + Vite | 瀏覽器訪問,預設連接埠 25548 |
| 通信 | WebSocket RPC(/api/v1/ws) | 前端、Android 宿主與外部工具共用 |
| 擴展 | MCP SSE 服務 | 18 個工具,供支援 MCP 的客戶端調用 |
支援範圍
- 伺服器:國服(含 B 服與多個渠道服)、國際服、日服、臺服。渠道服通過包名區分,列表見設備連接。
- 執行平臺:Windows、macOS、Linux(啟動器);Android 9.0+(宿主);任何能執行 Python 3.14 的環境(原始碼)。
- 遊戲解析度:1280×720。這是硬約束,不是建議值。
- 不支援真機直連(核心程式側)。Android 版通過虛擬螢幕把手機變成「被控制端」,屬於另一條鏈路。
明確不做的事
- 不破解、不注入、不修改遊戲記憶體或資源。
- 不提供帳號代練、交易或共享服務。
- 不繞過遊戲的反作弊與風控。自動化本身存在封號風險。
- 不保證所有活動圖都能自動開荒。活動機制變化頻繁,部分玩法需要人工完成前置。
一次任務到底發生了什麼
以「科研」為例:
- WebUI 把
Research.Scheduler.NextRun寫進config/<实例>.json。 - 排程器選出到期任務,把該任務的參數綁定到
self.config.Research_*。 run('research')調用alas.py上的同名方法,方法惰性匯入module/research/research.py。- 模組通過
device.screenshot()截圖,用模板與 OCR 判斷當前頁面,再調用device.click()推進流程。 - 結束後調用
task_delay()寫入下一次執行時間,排程器進入下一輪。
完整生命週期(含異常分級與恢復)見排程器生命週期。