
openvoice_realtime_conversation.mp4
βοΈ Get notified when the packaged version releases
π Report Bug |
β¨ Request Feature |
π‘οΈ Report Vulnerability |
π‘οΈ Wiki |
β¨ Key Features |
---|
π£οΈ Real-time conversations |
- Three speech engines: espeak, SpeechT5, OpenVoice - Auto language detection (OpenVoice) - Real-time voice-chat with LLMs |
π€ Customizable AI Agents |
- Custom agent names, moods, personalities - Retrieval-Augmented Generation (RAG) - Create AI personalities and moods |
π Enhanced Knowledge Retrieval |
- RAG for documents/websites - Use local data to enrich chat |
πΌοΈ Image Generation & Manipulation |
- Text-to-Image (Stable Diffusion 1.5, SDXL, Turbo) - Drawing tools & ControlNet - LoRA & Embeddings - Inpainting, outpainting, filters |
π Multi-lingual Capabilities |
- Partial multi-lingual TTS/STT/interface - English & Japanese GUI |
π Privacy and Security |
- Runs locally, no external API (default) - Customizable LLM guardrails & image safety - Disables HuggingFace telemetry - Restricts network access |
β‘ Performance & Utility |
- Fast generation (~2s on RTX 2080s) - Docker-based setup & GPU acceleration - Theming (Light/Dark/System) - NSFW toggles - Extension API - Python library & API support |
Language | TTS | LLM | STT | GUI |
---|---|---|---|---|
English | β | β | β | β |
Japanese | β | β | β | β |
Spanish | β | β | β | β |
French | β | β | β | β |
Chinese | β | β | β | β |
Korean | β | β | β | β |
Specification | Minimum | Recommended |
---|---|---|
OS | Ubuntu 22.04, Windows 10 | Ubuntu 22.04 (Wayland) |
CPU | Ryzen 2700K or Intel Core i7-8700K | Ryzen 5800X or Intel Core i7-11700K |
Memory | 16 GB RAM | 32 GB RAM |
GPU | NVIDIA RTX 3060 or better | NVIDIA RTX 4090 or better |
Network | Broadband (used to download models) | Broadband (used to download models) |
Storage | 22 GB (with models), 6 GB (without models) | 100 GB or higher |
- Install system requirements
sudo apt update && sudo apt upgrade -y sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git nvidia-cuda-toolkit pipewire libportaudio2 libxcb-cursor0 gnupg gpg-agent pinentry-curses espeak xclip cmake qt6-qpa-plugins qt6-wayland qt6-gtk-platformtheme mecab libmecab-dev mecab-ipadic-utf8 libxslt-dev sudo apt install espeak sudo apt install espeak-ng-espeak
- Create
airunner
directorysudo mkdir ~/.local/share/airunner sudo chown $USER:$USER ~/.local/share/airunner
- Install AI Runner - Python 3.13+ required
pyenv
andvenv
are recommended (see wiki for more info)pip install "typing-extensions==4.13.2" pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128 pip install airunner[all_dev] pip install -U timm
- Run AI Runner
airunner
For more options, including Docker, see the Installation Wiki.
- Run AI Runner:
airunner
- Run the downloader:
airunner-setup
- Build templates:
airunner-build-ui
These are the sizes of the optional models that power AI Runner.
AI Runner uses the following stack
|
By default, AI Runner installs essential TTS/STT and minimal LLM components, but AI art models must be supplied by the user. Organize them under your local AI Runner data directory:
|
We welcome pull requests for new features, bug fixes, or documentation improvements. You can also build and share extensions to expand AI Runnerβs functionality. For details, see the Extensions Wiki.
Take a look at the Contributing document and the Development wiki page for detailed instructions.
AI Runner uses pytest
for all automated testing. Test coverage is a priority, especially for utility modules.
- Headless-safe tests:
- Located in
src/airunner/utils/tests/
- Can be run in any environment (including CI, headless servers, and developer machines)
- Run with:
pytest src/airunner/utils/tests/
- Located in
- Display-required (Qt/Xvfb) tests:
- Located in
src/airunner/utils/tests/xvfb_required/
- Require a real Qt display environment (cannot be run headlessly or with
pytest-qt
) - Typical for low-level Qt worker/signal/slot logic
- Run with:
xvfb-run -a pytest src/airunner/utils/tests/xvfb_required/ # Or for a single file: xvfb-run -a pytest src/airunner/utils/tests/xvfb_required/test_background_worker.py
- See the README in xvfb_required/ for details.
- Located in
- By default, only headless-safe tests are run in CI.
- Display-required tests are intended for manual or special-case runs (e.g., when working on Qt threading or background worker code).
- (Optional) You may automate this split in CI by adding a separate job/step for xvfb tests.
- All new utility code must be accompanied by tests.
- Use
pytest
,pytest-qt
(for GUI), andunittest.mock
for mocking dependencies. - For more details on writing and organizing tests, see the project coding guidelines and the
src/airunner/utils/tests/
folder.
- Follow the copilot-instructions.md for all development, testing, and contribution guidelines.
- Always use the
airunner
command in the terminal to run the application. - Always run tests in the terminal (not in the workspace test runner).
- Use
pytest
andpytest-cov
for running tests and checking coverage. - UI changes must be made in
.ui
files and rebuilt withairunner-build-ui
.
- See the Wiki for architecture, usage, and advanced topics.
- API Service Layer
- Main Window Model Load Balancer
- Facehugger Shield Suite
- NodeGraphQt Vendor Module
- Xvfb-Required Tests
- ORM Models
For additional details, see the Wiki.