AzurPilot Launcher
The launcher automates four foundational steps: installing Python, configuring dependencies, cloning source code, and launching the backend. It contains no in-game logic; its role is bootstrapping the core program and wrapping it into a standard desktop application.
Repository wess09/AzurPilotLauncherBranch mainFramework Tauri 2 + RustRuntime Python 3.14.6 (embedded)License GPL-3.0

What the Launcher Does
text
Extract → Launcher process → Splash screen → Environment bootstrap (uv/Python/git/adb)
→ Git pull core repo → uv sync --frozen
→ Launch gui.py → Open WebUI (authenticated) → System tray residency| Feature | Implementation |
|---|---|
| Environment Bootstrapping | Embeds uv, downloads Python 3.14.6, and creates a relocatable .venv |
| Toolchain Management | Packages git and adb into .venv without altering system paths |
| Code Updates | Runs git pull with up to 20 retries upon network failure |
| Dependency Synchronization | Runs uv sync --frozen locked strictly to uv.lock |
| Backend Supervision | Frees conflicting ports, injects tracking markers, and cleans process trees on exit |
| Self-Updater | Validates payload integrity via mTLS with multi-mirror fallback |
| OS Integration | System tray, native notifications, single-instance lock, auto-start on boot |
| Localization | English, Simplified Chinese, Traditional Chinese, and Japanese matching system locale |
Relationship with Core Program
| Dimension | Launcher | Core Program |
|---|---|---|
| Repository | AzurPilotLauncher | AzurPilot |
| Tech Stack | Rust / Tauri 2 | Python / React |
| Versioning | Independent semantic releases | Rolling updates following master |
| Update Channel | Self-updating binary (mTLS) | git pull + uv sync |
| Contains Game Logic | No | Yes |
Independent Version Cycles
Launcher 1.x works alongside any core program commit. Updating the launcher does not revert core scripts, nor does updating core code modify the launcher binary.
Prerequisites
| Dimension | Requirement |
|---|---|
| Operating System | Windows 10+, macOS, Linux (recent glibc) |
| WebView Runtime | Windows requires WebView2; macOS uses system WKWebView; Linux requires libwebkit2gtk-4.1 |
| Privileges | Windows requires Administrator privileges (for ADB provisioning and system directory writes) |
| Network | Initial boot requires internet access to download Python and dependencies |
| Storage | ~3–5 GB (including .venv and repository assets) |
Directory Structure
text
AzurLaneAutoScript/ # Windows / Linux root
AzurPilot.app/Contents/AzurLaneAutoScript/ # macOS
├── alas-launcher.exe / alas-launcher
├── .venv/ # Python + uv + git + adb
├── config/ # Instance settings and deploy.yaml
├── frontend/ # Pre-built frontend from core repo
├── log/ # Execution logs
└── AzurPilot_Data_Backup/ # Automated daily backupsThe launcher injects paths into child processes:
| Platform | PATH Additions |
|---|---|
| Unix | .venv/bin |
| Windows | .venv/Scripts, .venv/Scripts/git/cmd |
Key Differences from Legacy Launcher
| Aspect | AzurPilot Launcher |
|---|---|
| Supported Platforms | Windows / macOS / Linux |
| Update Strategy | Updates Git repo only; synchronizes dependencies via internal .venv uv |
| Dependency Locking | Strict pinning to uv.lock with automatic sync |
| ADB Lifecycle | Never forcibly restarts or overwrites running daemons |
| Tool Bundling | All tools are strictly encapsulated within .venv |
| Node.js Support | Windows: probes system Node and auto-installs verified runtime if absent |