核心程序概览
核心程序(wess09/AzurPilot,默认分支 master)是唯一包含游戏行为的仓库。启动器和 Android 宿主都只是它的运行外壳。
语言 Python 3.14界面 React + Vite端口 25548识别基准 1280×720许可证 GPL-3.0
它由哪几块组成
| 层 | 关键路径 | 职责 |
|---|---|---|
| 入口 | 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/ | 用户配置、统计与持久化、四服识别资源 |
三层运行模型
-
gui.py是父进程。它提供 HTTP/WebSocket 服务与静态前端,不直接操作游戏。 - 每个实例一个 worker 进程。由
ProcessManager用multiprocessing.Process创建,进程内跑AzurLaneAutoScript.loop()。 - worker 内主线程串行执行任务。运行监护、日报线程是辅助线程,不并发执行游戏任务。
这解释了几个常见现象:
- 停止实例 = 终止 worker 进程树,WebUI 本身还在。
- 同一实例不可能同时跑两个任务;想并行只能多开实例 + 多开模拟器。
- WebUI 关掉不影响已启动的 worker 吗?——会,worker 由
gui.py创建并托管,后端退出会一起收尾。
WebUI 结构
| 区域 | 路径 | 内容 |
|---|---|---|
| 首页 | / | 实例卡片、启动/停止、公告 |
| 实例总览 | /i/<实例>/overview | 当前任务、资源、日志尾、快捷操作 |
| 任务配置 | /i/<实例>/task/<任务> | 按 task.yaml 分组渲染的表单 |
| 统计 | /i/<实例>/statistics | 资源、出击、大世界、委托等报表 |
| 调度程序 | /i/<实例>/task/SchedulerProgram | 图形化调度编排 |
| 心智计算器 | /i/<实例>/task/MindCalculator | 船坞扫描与心智单元费用 |
| 舰队科技 | /i/<实例>/task/FleetTechnology | 科技点扫描与统计 |
| 系统设置 | /settings | 账户、远程访问、更新、界面 |
| 配置管理 | /configs | 导入、导出、复制、删除实例 |
逐页说明见 WebUI 界面导览。
任务分类
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 个任务命令见任务命令总表。
任务数量会变
活动适配会增删任务,alas.py 上的任务方法数量也随版本变化。文档用「约」表述,具体以你当前版本的 WebUI 为准。
扩展方式
新增能力的最小闭环是三处同名 + 一个 run():
-
task.yaml注册任务与菜单组。 -
alas.py添加同名方法(驼峰转下划线)。 -
module/<功能>/实现类并提供run()。 - 运行
uv run -m module.config.config_updater生成配置产物。
详细步骤与常见陷阱见新增一个任务。