Improve Linux init: apt install and minimal profile optimization#302
Improve Linux init: apt install and minimal profile optimization#302kovtcharov-amd merged 17 commits intomainfrom
Conversation
Replace dpkg-based Linux installation with snap in `gaia init`.
Linux now uses `sudo snap install lemonade-server --channel {version}/stable`
instead of downloading and installing a .deb package. This removes the
download step on Linux since snap handles it internally.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
Update DEFAULT_MODEL_NAME and all references across source code, documentation, tests, and agent configs (17 files, 33 occurrences). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
The SD agent module existed on disk but was not listed in the packages array, causing ModuleNotFoundError when running `gaia sd` commands.
Catch remaining display names, model keys, and documentation references missed in the initial rename pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Adds https://download.pytorch.org/whl/cpu to all pip/uv install commands that pull [talk] or [rag] extras in docs. Prevents downloading ~2.5GB of unnecessary CUDA dependencies since Whisper runs on CPU. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Updates documentation to guide Linux users to install CPU-only PyTorch to avoid unnecessary CUDA packages (~2GB vs ~200MB), since GAIA's base dependencies (transformers, accelerate) pull in PyTorch. - Add warnings in Linux tabs explaining the need for --extra-index-url - Update basic install commands for Linux to include the CPU-only flag - Separate Linux/WSL and Windows installation instructions in dev.mdx - Keep Windows installation unchanged (doesn't need the flag) Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
When installing Lemonade Server on Linux, stale apt package caches can cause 404 errors because old package versions have been removed from Ubuntu repositories. - Add apt update step before apt install in lemonade_installer.py - Add troubleshooting documentation for 404 errors - Continue installation even if apt update fails (non-blocking) Fixes the common "E: Failed to fetch ... 404 Not Found" error. Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
- Add encoding parameter to open() call - Mark unused variable with underscore
- Change minimal profile model from Qwen3-4B-Instruct-2507-GGUF (2.5 GB) to Qwen3-0.6B-GGUF (400 MB) - Update size references across all documentation (cli.mdx, quickstart.mdx, installer.mdx) - Add --force-models suggestion in incomplete download prompt for users who want to redownload from scratch - Remove irrelevant global parameters from gaia init -h help output (--use-claude, --model, --trace, etc.) - Make logging level setup conditional to support commands without parent_parser - Update test to verify Qwen3-0.6B-GGUF model Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
- Auto-set GGML_VULKAN_DISABLE=1 when starting Lemonade on Linux - Update manual start instructions to include the env var - Prevents "ggml_vulkan: No devices found" errors on WSL - Graceful fallback to CPU mode when GPU drivers are unavailable Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
- Standard paths (/usr/bin, /usr/local/bin) are always in PATH - Overly defensive code that tries to fix a non-existent problem - Simplifies Linux code path to just return early Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
This reverts commit 7bd2964.
- Use dict comprehension for cleaner /etc/os-release parsing - Remove verbose nested try/except blocks - Simplify error messages - 17 fewer lines, same functionality Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
|
@claude review this PR. |
|
Claude finished @kovtcharov's task —— View job PR Review Complete
Review SummaryOverall: Approved - This is a well-structured PR that significantly improves the Linux installation experience and optimizes the minimal profile for faster onboarding. HighlightsLinux Installation (lemonade_installer.py:524-614)
Minimal Profile Optimization
CLI Improvements (cli.py:2084-2138)
Minor Suggestions (Non-blocking)
Security Review
DocumentationAll 19 documentation files updated consistently - model references, size estimates, and install commands all properly reflect the changes. |
- dpkg installs to standard locations already in PATH - No need to query dpkg and manually add directories - Removes debugging code that shouldn't be in production Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
Patch release for Linux init improvements Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
Summary
Linux Installation Improvements
gaia initnow usesapt install ./lemonade-*.debon Linux for proper dependency resolutionapt updatebefore install to avoid stale package cache issuesMinimal Profile Optimization
Qwen3-4B-Instruct-2507-GGUF(2.5 GB) toQwen3-0.6B-GGUF(400 MB)--force-modelshint when incomplete downloads are detectedCLI Improvements
gaia init -h(no more --use-claude, --model, --trace, etc.)CPU-only PyTorch (unchanged)
--extra-index-url https://download.pytorch.org/whl/cputo all doc install commands to avoid ~2GB CUDA depsTest plan
gaia init --profile minimalinstalls Qwen3-0.6B (400 MB) via apt on Linuxpython -m pytest tests/unit/test_init_command.pygaia init -hshows only relevant options (no global params)--force-modelshint🤖 Generated with Claude Code