---
url: /zh-HK/azurpilot.md
description: AzurPilot 核心倉庫提供的能力、WebUI 結構、任務分類與運行模型，是 Android 版與啟動器共同託管的本體。
---

# 核心程序概覽

核心程序（[wess09/AzurPilot](https://github.com/wess09/AzurPilot)，預設分支 `master`）是唯一包含遊戲行為的倉庫。啟動器和 Android 宿主都只是它的運行外殼。

## &#x20;它由哪幾塊組成

| 層 | 關鍵路徑 | 職責 |
| --- | --- | --- |
| 入口 | `alas.py`、`gui.py`、`mcp_server_sse.py`、`tui.py` | 調度循環、WebUI 後端、MCP 服務、終端介面 |
| 運行時 | `module/api/`、`module/runtime/` | WebSocket 路由、進程管理、更新、遠程訪問、帳號保險庫 |
| 業務 | `module/<功能>/`、`campaign/` | 每類玩法一個模組，實現 `run()` 與地圖定義 |
| 基礎 | `module/device/`、`ui/`、`ocr/`、`map/`、`combat/` | 截圖、點擊、頁面導航、識別、尋路、戰鬥 |
| 數據 | `config/`、SQLite 總庫、`assets/` | 用戶配置、統計與持久化、四服識別資源 |

## &#x20;三層運行模型

1. &#x20;**`gui.py` 是父進程**。它提供 HTTP/WebSocket 服務與靜態前端，不直接操作遊戲。
2. &#x20;**每個實例一個 worker 進程**。由 `ProcessManager` 用 `multiprocessing.Process` 建立，進程內跑 `AzurLaneAutoScript.loop()`。
3. &#x20;**worker 內主執行緒串行執行任務**。運行監護、日報執行緒是輔助執行緒，不併發執行遊戲任務。

這解釋了幾個常見現象：

* &#x20;停止實例 = 終止 worker 進程樹，WebUI 本身還在。
* &#x20;同一實例不可能同時跑兩個任務；想並行只能多開實例 + 多開模擬器。
* &#x20;WebUI 關掉不影響已啟動的 worker 嗎？——**會**，worker 由 `gui.py` 建立並託管，後端退出會一起收尾。

## &#x20;WebUI 結構

| 區域 | 路徑 | 內容 |
| --- | --- | --- |
| 首頁 | `/` | 實例卡片、啟動/停止、公告 |
| 實例總覽 | `/i/<实例>/overview` | 當前任務、資源、日誌尾、快捷操作 |
| 任務配置 | `/i/<实例>/task/<任务>` | 按 `task.yaml` 分組渲染的表單 |
| 統計 | `/i/<实例>/statistics` | 資源、出擊、大世界、委託等報表 |
| 調度程序 | `/i/<实例>/task/SchedulerProgram` | 圖形化調度編排 |
| 心智計算器 | `/i/<实例>/task/MindCalculator` | 船塢掃描與心智單元費用 |
| 艦隊科技 | `/i/<实例>/task/FleetTechnology` | 科技點掃描與統計 |
| 系統設定 | `/settings` | 賬戶、遠程訪問、更新、介面 |
| 配置管理 | `/configs` | 匯入、匯出、複製、刪除實例 |

逐頁説明見 [WebUI 介面導覽](/zh-HK/azurpilot/user/webui)。

## &#x20;任務分類

WebUI 的任務菜單來自 `module/config/argument/task.yaml`，共 12 個頂級分組：

| 分組 | 中文名 | 典型任務 |
| --- | --- | --- |
| `Alas` | 系統 | 模擬器、錯誤處理、備份、日報 |
| `Farm` | 出擊 | 主線圖 1/2/3、緊急委託、三油低耗 |
| `Event` | 活動 | 活動圖 1/2/3、共鬥、作戰檔案 |
| `EventDaily` | 活動-每日任務 | 每日 A/B/C/D/SP 圖 |
| `Reward` | 自動收穫 | 委託、科研、後宅、指揮喵、大艦隊 |
| `DailyMission` | 每日任務 | 每日任務、限界挑戰、困難圖、演習 |
| `Opsi` | 大世界 | 開荒、隱秘、深淵、要塞、智能調度 |
| `Island` | 赤石計劃 | 農田、牧場、餐廳、製造、每日採集 |
| `FleetManagement` | 艦隊管理 | 艦隊掃描、艦隊資訊 |
| `RunParams` | 運行參數 | 調度器與設備節奏 |
| `Tool` | 工具 | 半自動、性能測試、OCR 基準、反和諧 |
| `Dashboard` | 儀表盤 | 資源上限與顏色 |

完整的 102 個任務命令見[任務命令總表](/zh-HK/reference/tasks)。

::: tip 任務數量會變
活動適配會增刪任務，`alas.py` 上的任務方法數量也隨版本變化。文檔用「約」表述，具體以你當前版本的 WebUI 為準。
:::

## &#x20;擴展方式

新增能力的最小閉環是**三處同名 + 一個 `run()`**：

1. &#x20;`task.yaml` 註冊任務與菜單組。
2. &#x20;`alas.py` 添加同名方法（駝峯轉下劃線）。
3. &#x20;`module/<功能>/` 實現類並提供 `run()`。
4. &#x20;運行 `uv run -m module.config.config_updater` 生成配置產物。

詳細步驟與常見陷阱見[新增一個任務](/zh-HK/azurpilot/developer/module-dev)。

## &#x20;繼續閲讀
