xe-launcher-v2
xe-launcher-v2は、Rustで開発されたアプリケーションランチャーです。ユーザーが簡単にアプリケーションを起動できるように設計されており、カスタマイズ可能なインターフェースを提供します。シンプルで直感的な操作が可能で、開発者向けの機能も充実しています。特に、プラグインのサポートにより、機能拡張が容易です。
GitHubスター
2
ユーザー評価
未評価
お気に入り
0
閲覧数
22
フォーク
0
イシュー
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.