xe-launcher-v2
xe-launcher-v2 is an application launcher developed in Rust, designed to enable users to easily launch applications. It offers a customizable interface and is built for simplicity and intuitive operation. The tool is particularly beneficial for developers, featuring robust support for plugins that allow for easy functionality expansion.
GitHub Stars
2
User Rating
Not Rated
Favorites
0
Views
23
Forks
0
Issues
8
Xe Launcher
A plugin-based desktop launcher built with Tauri. Part of the Xenon project. Compile exactly the tools you need with 0.9s incremental builds.
What is this?
A minimal desktop shell that hosts functionality through plugins. Instead of building monolithic apps, create focused plugins that compile into a custom launcher. Think of it as a bootloader for desktop tools.
Key features:
- β‘ 0.9s incremental builds
- π Plugin-based architecture (compile only what you need)
- π€ Built-in MCP server for AI agent integration
- π¦ Native tool support via sidecars
- π― ~5MB base size, grows only with active plugins
About
Xe Launcher is part of the Xenon project ecosystem, developed by the Agent54 organization. It provides a modern, plugin-based approach to desktop tools and automation.
Repository: https://github.com/agent54/xe-launcher
Quick Start
# Prerequisites: Bun + Rust
bun install
# For fresh checkouts only: sync plugin binaries
bun manage-sidecars sync
# Run with specific plugins (fast builds)
bun dev:settings # Just settings plugin
bun dev:none # No plugins (minimal)
bun dev:tauri # All plugins
# Create a new plugin (prompts for JS/TS)
bun create-plugin my-tool
Project Structure
βββ apps/desktop/ # Tauri shell
βββ plugins/ # Plugin modules
β βββ registry.json # Plugin manifest (source of truth)
β βββ tauri-plugin-*/ # Individual plugins
βββ docs/ # Documentation
Core Concepts
- Plugins are Cargo features - Conditional compilation, not dynamic loading
- Registry drives everything - One JSON file controls the entire system
- Three-tier control - Registry β Build β Runtime
Documentation
- Plugin Architecture - Why it works this way
- Plugin Development - Creating new plugins
- Build Speed Guide - How we achieve 0.9s builds
- MCP Usage - AI agent integration
- Project Essence - Core philosophy
Available Plugins
Core Plugins
Plugin | Description | Default Enabled | Sidecar |
---|---|---|---|
settings |
Manage application settings | β | - |
system-info |
Display system information | β | - |
Tool Plugins
Plugin | Description | Default Enabled | Sidecar |
---|---|---|---|
π bun |
JavaScript runtime integration with Bun support | β | β |
βοΈ cloudflare |
Manage Workers, KV, D1, R2, and DNS from the XE Launcher | β | β |
curl |
Make HTTP requests using curl | β | β |
π¦ deno |
Run Deno scripts with comprehensive permission management and developer tools | β | β |
iwa-tools |
Generate keys, create, bundle, and verify Isolated Web Apps (IWAs) | β | β |
mouse-trap |
Monitor mouse enter/leave events in screen regions for creating invisible triggers and hot corners | β | β |
π¦ ollama |
Local LLM integration with Ollama - chat, generate text, and manage models | β | β |
podman |
Container management with Podman | β | β |
π usb-info |
View connected USB devices with vendor ID, product ID, and connection status | β | β |
β‘ workerd |
Cloudflare Workers runtime integration for local edge computing development | β | β |
Experimental Plugins
Plugin | Description | Default Enabled | Sidecar |
---|---|---|---|
chrome-manager |
Manage Chrome browser instances and Isolated Web Apps | - | - |
Development
# Plugin management
bun plugin:list # Show all plugins
bun plugin:enable my-tool # Enable in registry
bun manage-sidecars sync # Sync native binaries
# Building
bun run build:tauri # Production build
Releases
Creating a Release
We use a release script to automate version bumping and tagging:
# Bump version and create tag
./release.sh 0.2.11
# This will:
# 1. Update version in all config files
# 2. Commit the changes
# 3. Create a git tag
# 4. Push to GitHub (triggers release workflow)
The GitHub Actions workflow automatically:
- Builds for all platforms (macOS, Windows, Linux)
- Creates a draft release with artifacts
- Generates update manifests for auto-updates
Publishing a Release
After the workflow completes (~10-15 minutes):
# Publish the draft release
gh release edit v0.2.11 --draft=false --latest
Auto-Updates
The app checks for updates automatically. Users can:
- Check for updates in Settings β Updates
- Download and install with one click
- App restarts automatically (or prompts to restart)
Update endpoint: https://github.com/Agent54/xe-launcher/releases/latest/download/latest.json
Why This Approach?
Traditional plugin systems require choosing between dynamic loading (security risks, performance overhead) or static compilation (inflexible). We chose a third way: conditional compilation with runtime control.
Result: The security and performance of static compilation with the flexibility of dynamic systems.
π Terraform Model Context Protocol (MCP) Tool - An experimental CLI tool that enables AI assistants to manage and operate Terraform environments. Supports reading Terraform configurations, analyzing plans, applying configurations, and managing state with Claude Desktop integration. β‘οΈ
echokit_server is a high-performance server software built in Rust, offering efficient data processing and API management. Designed for developers, it boasts high scalability and adaptability for various applications. It is particularly well-suited for real-time data processing and microservices architecture.