DesktopFreeAI
An App Store for Open-Source AI, No Terminal Required
A Rust and Tauri desktop app that installs and launches 46 open-source AI tools with one click and one shared key.
- CatalogJSON entry with prereqs, install steps and launch spec
- CheckDetects uv, node, git and Docker
- InstallRust runs each step and streams logs to the UI
- LaunchPTY terminal, webview after a port check, or background service
- KeyOne OpenRouter key from the keychain, mapped into the tool's env
Rochester, N.Y. There are great open-source AI tools out there: Aider, OpenHands, ComfyUI, Open WebUI, n8n. Most people never try them because step one is a README full of virtualenvs, Docker and git clones. FreeAI is my fix for that. It's a desktop app store for open-source AI. Pick a tool, click install, click launch.
Every tool is an entry in a JSON catalog: its prerequisites, its install steps, how to launch it and how to hand it an API key. Right now there are 46 tools across 8 categories, from coding and audio to research and automation. Adding a tool means writing a catalog entry, not code.
Adding a tool means writing a catalog entry, not code.
The Rust backend is the real work. It runs step types like uv venv, uv pip, git clone, docker pull, docker compose, npm and plain downloads, and streams progress back to the UI as it goes. Commands run through spawn_blocking so a slow install never stalls the tokio runtime. It also checks for uv, node, git and Docker (including whether the Docker daemon is up) and can install uv for you.
Launching depends on the tool. Terminal tools open in an embedded xterm.js terminal over a real PTY. Web tools start in the background, and the app polls their port before opening a webview, so you never land on a dead page. Services run quietly with a status panel. One OpenRouter key lives in the OS keychain and gets mapped into each tool's environment, so you set it once and never paste it into a config file.
The whole thing came together on a single day, in 10 commits, one phase per commit. It still has placeholder icons, only a debug build and the default Vite README. The value ended up in the boring parts: detecting prerequisites and streaming install logs are what would let a non-developer use it without asking me for help.