Capsize-Games/airunner
Offline inference engine for art, real-time voice conversations, LLM powered chatbots and automated workflows
AI Runner (airunner)
What it is
AI Runner is a self‑hosted desktop application that combines two main experiences:
- AI companion – a chat‑bot you can name, give a voice to, and let remember you over time. It can talk, listen (speech‑to‑text), speak (text‑to‑speech), and stays aware of the current time, date and weather.
- Art canvas – a layered drawing surface where you can sketch, paint, then turn those sketches into images with local diffusion models, edit them (in‑painting, background removal, style filters) and composite layers.
All processing (LLM chat, image generation, TTS/STT) runs on the user’s own hardware – no API keys, no cloud subscription, and nothing leaves the machine unless the optional cloud features are turned on.
Key features (as described in the README)
| Feature | What you get |
|---|---|
| 🤖 AI Companion | Named, voiced personality with persistent memory and mood that shifts naturally. |
| 🎨 Layered Canvas | Sketch → generate → filter → composite on multiple layers. |
| 🖼️ Image Generation | Z‑Image Turbo, Stable Diffusion 1.5, image‑to‑image, in‑painting, background removal, post‑process filters. |
| 🗣️ Voice Conversation | Full‑duplex TTS (text‑to‑speech) and STT (speech‑to‑text) with selectable voices. |
| 🧠 Memory & RAG | Long‑term conversation memory; retrieval‑augmented generation for recalling past talks. |
| 🌤️ Environmental awareness | Knows local time, date and weather, which can influence responses. |
| 🔒 Privacy‑first | All data stays locally; optional cloud features are opt‑in only. |
| 🛡️ Safety filters | Built‑in NSFW filter and illegal‑content classifier. |
| 📦 Model management | One‑click download from HuggingFace or CivitAI; supports multiple local LLM and image models. |
| 🌍 Multilingual | English (full stack), Japanese (TTS/LLM), limited STT for other languages. |
How you can use it
| Mode | Typical use‑case |
|---|---|
Desktop GUI (installed via the Itch.io download, Docker, or pip install airunner) |
Interactive chat with a voice‑enabled companion while you draw and generate art on the same screen. |
Headless server (airunner‑headless) |
Run a REST API that exposes LLM, image, TTS and STT endpoints – useful for remote servers, VS Code extensions, or automation pipelines. |
| Docker container | Quick sandboxed deployment; can run either the full GUI (docker compose run …) or the headless API (--headless). |
| Python library | Import airunner packages in your own scripts to call the same inference back‑ends. |
Installation options (summarised)
| Method | What you get | Notes |
|---|---|---|
| Desktop download | Pre‑built binary (no Python needed). | |
| Docker | Container image with optional profiles (core,llm-native,stt-native etc.). |
|
PyPI (pip install airunner) |
Python package that pulls in the GUI and the airunner‑services runtime. |
|
| APT (Ubuntu 22.04+) | Installs only the daemon services; no Qt GUI. | |
| From source | Clone repo, run ./scripts/install.sh (dev mode) or ./deployment/install_distributed.sh for split daemon / GUI installs. |
All paths eventually install the same set of side‑car binaries (llama.cpp for LLM, whisper.cpp for STT) which are built or downloaded automatically.
Architecture at a glance
flowchart LR
User --> Native[Native launcher & side‑cars]
Native --> GUI[Desktop client (src)]
Native --> Daemon[Headless daemon (services)]
GUI --> Daemon
Native --> Sidecars[llama.cpp & whisper.cpp]
Daemon --> Sidecars
GUI --> Scripts[dev tools]
Daemon --> Scripts
GUI --> Data[(AIRUNNER_BASE_PATH)]
Daemon --> Data
- src – Qt‑based GUI, widgets, entry point.
- services – FastAPI server, model download manager, persistence, safety filters.
- native – Small helper that bundles the compiled side‑cars and launches the appropriate entry point.
- scripts – Helper commands for building UI, running tests, generating certificates, etc.
Model support (default models)
| Type | Default model (size) |
|---|---|
| LLM | Qwen3.5‑9B GGUF (Q8_0, ~12 GB VRAM) |
| Image | Stable Diffusion 1.5 ( |
| TTS | OpenVoice (≈654 MB) |
| STT | Systran/faster‑distil‑whisper‑large‑v3 |
You can replace any of these by placing a compatible file in ~/.local/share/airunner/... or by passing a path to the CLI/GUI download manager.
Who maintains it?
The project is released under GPL‑3.0 and is primarily developed by a single engineer at Capsize LLC (https://capsize.online). Community support happens on Discord (link in the badge) and via the GitHub issue tracker.
Quick start (one‑liner for most users)
# Linux/macOS – install the Python package and run the GUI
pip install "airunner" "airunner-services[headless]"
airunner # opens the desktop app
For a headless API server:
airunner-headless # listens on http://127.0.0.1:8080
Bottom line
AI Runner is a genuine, self‑hosted AI‑assistant + generative‑art platform. It bundles local LLM inference (via llama.cpp), diffusion image generation, and speech pipelines, all wrapped in a privacy‑first desktop UI that can also be exposed as a REST service.
Related
- Project
- Project
- Project
- Project
- Project