Skip to content

Releases: fakhruldeen/LocalPilot

Release list

v0.1.1

Choose a tag to compare

@fakhruldeen fakhruldeen released this 16 Oct 19:12

LocalPilot v0.1.1: Architecture Remediation, Evidence-Based Verification & TUI Polish

LocalPilot v0.1.1 resolves key findings from our architectural review, replacing placeholders with evidence-based verification, strict hardware and execution mode enforcement, safe external service protection, and a more responsive terminal UI.


🛡️ Critical Fixes & Remediation

  • No Synthetic File Placeholders: Removed synthetic model weight generation (b"GGUF\x03\x00...") from production paths. Missing files now cleanly raise descriptive errors and strictly require real downloads or existing local models.
  • Evidence-Based TESTED_HERE Readiness: Models progress through SUPPORTED ➔ EXPECTED_TO_FIT ➔ DOWNLOADED_PREPARED ➔ TESTED_HERE. The final readiness state is awarded only after live test inference passes. If loading or test inference fails, the installation retains DOWNLOADED_PREPARED without deleting the downloaded files.
  • Verified Updates & Safe Rollback: Replaced hardcoded update checks with dynamic release querying. Updates create an atomic backup of model weights before applying changes, automatically restoring previous versions if verification fails.
  • Strict Execution Mode Enforcement: Explicit GPU mode requests reject configurations lacking dedicated graphics or sufficient VRAM (GPU_NOT_AVAILABLE / INSUFFICIENT_VRAM) rather than silently falling back to CPU execution.
  • Strict 3-Axis Backend Dispatch: Model setup dynamically routes to the selected backend and service adapters (vLLM, Ollama, LM Studio, Docker Model Runner, and llama.cpp) rather than routing everything through llama.cpp.
  • Ollama Ownership & Extraction Safety: Fixed external endpoint probing to avoid assigning LocalPilot's own PID; added asynchronous polling with child crash detection during startup; and added safe zip extraction (safe_extract_zip) for macOS release archives.
  • Process Reconciliation: The TUI and CLI reconcile database rows against live OS processes using psutil.pid_exists to detect active vs. stale instances.
  • Model Removal Protection: Blocks model deletion if an instance of that model is currently running or if an active workflow job is in progress.

⚡ UX & Performance Improvements

  • TUI Debouncing: Added a 350ms debounce to the search input to keep the discovery dashboard fluid and responsive.
  • Background Hardware Probes: Moved system health inspection into an asynchronous worker thread (thread=True) to eliminate any initial interface blocking.
  • Quick Action Keybindings: Added direct action shortcuts in the TUI:
    • Enter to launch model setup
    • x to stop running instances
    • Delete to remove installed models

🧪 Test Verification


📦 Installation & Upgrade

Upgrade via Pip:

pip install --upgrade localpilot


**Full Changelog**: https://github.com/fakhruldeen/LocalPilot/compare/v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@fakhruldeen fakhruldeen released this 16 Oct 16:28

LocalPilot v0.1.0 — Local AI, Made Simple

LocalPilot is a friendly Python application that helps nontechnical users discover, install, run, monitor, update, and remove local AI models safely on their computers without technical guesswork.

🌟 Key Highlights in v0.1.0

  • 🧠 Hardware-Aware Recommendation: Evaluates CPU, RAM, Apple Silicon Unified Memory vs. discrete Linux/Intel GPUs, and disk budgets to filter out incompatible models before downloading.
  • 🧭 3-Axis Execution Architecture:
    • Inference Backends: llama.cpp (GGUF, Apple Metal, NVIDIA CUDA, ROCm) and vLLM (advanced Linux+GPU).
    • Managed Execution Services: Ollama, LM Studio / llmster (unified desktop app, headless daemon, and CLI), and Docker Model Runner.
    • Deployment Methods: Direct isolated worker processes (direct_worker), local API services (local_api_service), and containers (container).
  • 🛡️ External Service & Data Protection:
    • Unloads model weights from memory (keep_alive=0 / /v1/models/unload) without terminating shared background daemons.
    • Reference-counted storage ensures shared weights are protected and non-owned files are never deleted.
  • 📦 Multi-Scope Installation: Install supporting runtimes into Application-Isolated (isolated, default), User Space (~/.local/bin), or System Wide (/usr/local/bin).
  • 💻 Dual Interface:
    • Full-screen interactive dashboard powered by Textual (localpilot).
    • Scriptable, fast command line powered by Typer and Rich (localpilot doctor, localpilot discover, localpilot setup).
  • 📝 Comprehensive Observability: Structured event logs, audit checkpoints before destructive state changes, and redacting support bundles.

⚠️ Disclaimer & Notice

Personal Use & Testing Only: LocalPilot is intended for non-professional and hobbyist exploration. Local model execution involves fast-moving, cutting-edge technologies that typically require specialized knowledge and ongoing training to configure and operate reliably.

This project is provided strictly on an "AS-IS" basis for personal evaluation, experimentation, and research purposes. It is NOT designed, validated, or certified for production environments, mission-critical infrastructure, or commercial deployments. The creator and maintainer assume no liabilities, warranties, or legal responsibilities whatsoever for any data loss, system instability, hardware stress, service disruptions, or issues arising from the use or misuse of this software in production or any other context.


📦 Installation

# Via pipx (recommended)
pipx install localpilot

# Via pip
pip install localpilot

# Or standalone curl installer
curl -fsSL https://raw.githubusercontent.com/fakhruldeen/LocalPilot/main/install-localpilot.sh | bash

**Full Changelog**: https://github.com/fakhruldeen/LocalPilot/commits/v0.1.0