[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10788":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":22,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":44,"readmeContent":45,"aiSummary":46,"trendingCount":16,"starSnapshotCount":16,"syncStatus":47,"lastSyncTime":48,"discoverSource":49},10788,"airunner","Capsize-Games\u002Fairunner","Capsize-Games","Offline inference engine for art, real-time voice conversations, LLM powered chatbots and automated workflows","https:\u002F\u002Fairunner.org\u002F",null,"Python",1315,98,10,4,0,3,18.99,"GNU General Public License v3.0",false,"master",true,[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"ai","ai-art","art","asset-generator","chatbot","deep-learning","desktop-app","image-generation","mistral","multimodal","privacy","pygame","pyside6","python","self-hosted","speech-to-text","stable-diffusion","text-to-image","text-to-speech","text-to-speech-app","2026-06-12 02:02:26","# AI Runner\n\n```\nSupport development. Send crypto: 0x02030569e866e22C9991f55Db0445eeAd2d646c8\n```\n\n## Your new favorite local AI platform\n\nAI Runner is an all-in-one, offline-first desktop application, headless server, and Python library for local LLMs, TTS, STT, and image generation.\n\n\n\u003Cimg src=\".\u002Fimages\u002Fart_interface.png\" alt=\"AI Runner Logo\" \u002F>\n\n[🐞 Report Bug](https:\u002F\u002Fgithub.com\u002FCapsize-Games\u002Fairunner\u002Fissues\u002Fnew?template=bug_report.md) · [✨ Request Feature](https:\u002F\u002Fgithub.com\u002FCapsize-Games\u002Fairunner\u002Fissues\u002Fnew?template=feature_request.md) · [🛡️ Report Vulnerability](https:\u002F\u002Fgithub.com\u002FCapsize-Games\u002Fairunner\u002Fissues\u002Fnew?template=vulnerability_report.md) · [📖 Wiki](https:\u002F\u002Fgithub.com\u002FCapsize-Games\u002Fairunner\u002Fwiki)\n\n---\n\n## ✨ Key Features\n\n| Feature | Description |\n|---------|-------------|\n| **🗣️ Voice Chat** | Real-time conversations with LLMs using espeak or OpenVoice |\n| **🤖 Custom AI Agents** | Configurable personalities, moods, and RAG-enhanced knowledge |\n| **🎨 Visual Workflows** | Drag-and-drop LangGraph workflow builder with runtime execution |\n| **🖼️ Image Generation** | Stable Diffusion (SD 1.5, SDXL) and FLUX models with drawing tools, LoRA, inpainting, and filters |\n| **🔒 Privacy First** | Runs locally with no external APIs by default, configurable guardrails |\n| **⚡ Fast Generation** | Uses GGUF and quantization for faster inference and lower VRAM usage |\n\n### 🌍 Language Support\n\n| Language | TTS | LLM | STT | GUI |\n|----------|-----|-----|-----|-----|\n| English | ✅ | ✅ | ✅ | ✅ |\n| Japanese | ✅ | ✅ | ❌ | ✅ |\n| Spanish\u002FFrench\u002FChinese\u002FKorean | ✅ | ✅ | ❌ | ❌ |\n\n---\n\n## ⚙️ System Requirements\n\n| | Minimum | Recommended |\n|---|---------|-------------|\n| **OS** | Ubuntu 22.04, Windows 10 | Ubuntu 22.04 (Wayland) |\n| **CPU** | Ryzen 2700K \u002F i7-8700K | Ryzen 5800X \u002F i7-11700K |\n| **RAM** | 16 GB | 32 GB |\n| **GPU** | NVIDIA RTX 3060 | NVIDIA RTX 5080 |\n| **Storage** | 22 GB - 100 GB+ (actual usage varies, SSD recommended) | 100 GB+ |\n\n---\n\n## 💾 Installation\n\n### Docker (Recommended)\n\n**GUI Mode:**\n```bash\nxhost +local:docker && docker compose run --rm airunner\n```\n\n**Headless API Server:**\n```bash\ndocker compose run --rm --service-ports airunner --headless\n```\n\n> **Note:** `--service-ports` is required to expose port 8080 for the API.\n\nThe headless server exposes an HTTP API on port 8080 with endpoints:\n- `GET \u002Fhealth` - Health check and service status\n- `POST \u002Fllm` - LLM inference\n- `POST \u002Fart` - Image generation\n\n### Manual Installation (Ubuntu\u002FDebian)\n\n**Python 3.13+ required.** We recommend using `pyenv` and `venv`.\n\n1. **Install system dependencies:**\n   ```bash\n   sudo apt update && sudo apt install -y \\\n     build-essential cmake git curl wget \\\n     nvidia-cuda-toolkit pipewire libportaudio2 libxcb-cursor0 \\\n     espeak espeak-ng-espeak qt6-qpa-plugins qt6-wayland \\\n     mecab libmecab-dev mecab-ipadic-utf8 libxslt-dev mkcert\n   ```\n\n2. **Create data directory:**\n   ```bash\n   mkdir -p ~\u002F.local\u002Fshare\u002Fairunner\n   ```\n\n3. **Install AI Runner:**\n   ```bash\n   pip install torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu128\n   pip install airunner[all_dev]\n   ```\n\n4. **Install llama-cpp-python with CUDA (Python 3.13, RTX 5080):**\n  ```bash\n  CMAKE_ARGS=\"-DGGML_CUDA=on -DGGML_CUDA_ARCHITECTURES=90\" FORCE_CMAKE=1 \\\n    pip install --no-binary=:all: --no-cache-dir \"llama-cpp-python==0.3.16\"\n  ```\n  - Uses GGML_CUDA (CUBLAS flag is deprecated).\n  - `90` matches RTX 5080 class GPUs; drop `-DGGML_CUDA_ARCHITECTURES` if you are unsure and let it auto-detect.\n  - On Python 3.12 you may instead use the prebuilt wheel: `--extra-index-url https:\u002F\u002Fabetlen.github.io\u002Fllama-cpp-python\u002Fwhl\u002Fcu121 \"llama-cpp-python==0.3.16+cu121\"`.\n\n4. **Run:**\n   ```bash\n   airunner\n   ```\n\nFor detailed instructions, see the [Installation Wiki](https:\u002F\u002Fgithub.com\u002FCapsize-Games\u002Fairunner\u002Fwiki\u002FInstallation-instructions).\n\n---\n\n## 🤖 Models\n\nAI Runner downloads essential TTS\u002FSTT models automatically. LLM and image models must be configured:\n\n| Category | Model | Size |\n|----------|-------|------|\n| **LLM (default)** | Llama 3.1 8B Instruct (4bit) | ~4 GB |\n| **Image** | Stable Diffusion 1.5 | ~2 GB |\n| **Image** | SDXL 1.0 | ~6 GB |\n| **Image** | FLUX.1 Dev\u002FSchnell (GGUF) | 8-12 GB |\n| **TTS** | OpenVoice | 654 MB |\n| **STT** | Whisper Tiny | 155 MB |\n\n**LLM Providers:** Local (HuggingFace), Ollama, OpenRouter, OpenAI\n\n**Art Models:** Place your models in `~\u002F.local\u002Fshare\u002Fairunner\u002Fart\u002Fmodels\u002F`\n\n---\n\n## 🛠️ CLI Commands\n\n| Command | Description |\n|---------|-------------|\n| `airunner` | Launch GUI |\n| `airunner-headless` | Start headless API server |\n| `airunner-hf-download` | Download\u002Fmanage models from HuggingFace |\n| `airunner-civitai-download` | Download models from CivitAI |\n| `airunner-build-ui` | Rebuild UI from `.ui` files |\n| `airunner-tests` | Run test suite |\n| `airunner-generate-cert` | Generate SSL certificate |\n\n**Note:** To download models, use *Tools → Download Models* from the main application menu, or use `airunner-hf-download` \u002F `airunner-civitai-download` from the command line.\n\n---\n\n## 🖥️ Headless Server\n\nAI Runner can run as a headless HTTP API server, enabling remote access to LLM, image generation, TTS, and STT capabilities. This is useful for:\n\n- Running AI services on a remote server\n- Integration with other applications via REST API\n- VS Code integration as an Ollama\u002FOpenAI replacement\n- Automated pipelines and scripting\n\n### Quick Start\n\n```bash\n# Start with defaults (port 8080, LLM only)\nairunner-headless\n\n# Start with a specific LLM model\nairunner-headless --model \u002Fpath\u002Fto\u002FQwen2.5-7B-Instruct-4bit\n\n# Run as Ollama replacement for VS Code (port 11434)\nairunner-headless --ollama-mode\n\n# Don't preload models - load on first request\nairunner-headless --no-preload\n```\n\n### Command Line Options\n\n| Option | Description |\n|--------|-------------|\n| `--host HOST` | Host address to bind to (default: `0.0.0.0`) |\n| `--port PORT` | Port to listen on (default: `8080`, or `11434` in ollama-mode) |\n| `--ollama-mode` | Run as Ollama replacement on port 11434 |\n| `--model, -m PATH` | Path to LLM model to load |\n| `--art-model PATH` | Path to Stable Diffusion model to load |\n| `--tts-model PATH` | Path to TTS model to load |\n| `--stt-model PATH` | Path to STT model to load |\n| `--enable-llm` | Enable LLM service |\n| `--enable-art` | Enable Stable Diffusion\u002Fart service |\n| `--enable-tts` | Enable TTS service |\n| `--enable-stt` | Enable STT service |\n| `--no-preload` | Don't preload models at startup |\n\n### Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `AIRUNNER_LLM_MODEL_PATH` | Path to LLM model |\n| `AIRUNNER_ART_MODEL_PATH` | Path to art model |\n| `AIRUNNER_TTS_MODEL_PATH` | Path to TTS model |\n| `AIRUNNER_STT_MODEL_PATH` | Path to STT model |\n| `AIRUNNER_NO_PRELOAD` | Set to `1` to disable model preloading |\n| `AIRUNNER_LLM_ON` | Enable LLM service (`1` or `0`) |\n| `AIRUNNER_SD_ON` | Enable Stable Diffusion (`1` or `0`) |\n| `AIRUNNER_TTS_ON` | Enable TTS service (`1` or `0`) |\n| `AIRUNNER_STT_ON` | Enable STT service (`1` or `0`) |\n\n### API Endpoints\n\n#### Native AIRunner Endpoints\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `\u002Fhealth` | Health check and service status |\n| POST | `\u002Fllm` | LLM text generation (streaming) |\n| POST | `\u002Fllm\u002Fgenerate` | LLM text generation |\n| POST | `\u002Fart` | Image generation |\n| POST | `\u002Ftts` | Text-to-speech |\n| POST | `\u002Fstt` | Speech-to-text |\n\n#### Ollama-Compatible Endpoints (port 11434)\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `\u002Fapi\u002Ftags` | List available models |\n| GET | `\u002Fapi\u002Fversion` | Get version info |\n| GET | `\u002Fapi\u002Fps` | List running models |\n| POST | `\u002Fapi\u002Fgenerate` | Text generation |\n| POST | `\u002Fapi\u002Fchat` | Chat completion |\n| POST | `\u002Fapi\u002Fshow` | Show model info |\n\n#### OpenAI-Compatible Endpoints\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `\u002Fv1\u002Fmodels` | List models |\n| POST | `\u002Fv1\u002Fchat\u002Fcompletions` | Chat completion with tool support |\n\n### Example: LLM Request\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:8080\u002Fllm \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"prompt\": \"What is the capital of France?\",\n    \"stream\": true,\n    \"temperature\": 0.7,\n    \"max_tokens\": 100\n  }'\n```\n\n### Example: Image Generation (Art)\n\n```bash\n# Requires: airunner-headless --enable-art\ncurl -X POST http:\u002F\u002Flocalhost:8080\u002Fart \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"prompt\": \"A beautiful sunset over mountains\",\n    \"negative_prompt\": \"blurry, low quality\",\n    \"width\": 512,\n    \"height\": 512,\n    \"steps\": 20,\n    \"seed\": 42\n  }'\n# Returns: {\"images\": [\"base64_png_data...\"], \"count\": 1, \"seed\": 42}\n```\n\n### Example: Text-to-Speech (TTS)\n\n```bash\n# Requires: airunner-headless --enable-tts\ncurl -X POST http:\u002F\u002Flocalhost:8080\u002Ftts \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"text\": \"Hello, world!\"}'\n# Returns: {\"status\": \"queued\", \"message\": \"Text queued for speech synthesis\"}\n# Audio plays through system speakers\n```\n\n### Example: Speech-to-Text (STT)\n\n```bash\n# Requires: airunner-headless --enable-stt\n# Audio must be base64-encoded WAV (16kHz mono recommended)\ncurl -X POST http:\u002F\u002Flocalhost:8080\u002Fstt \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"audio\": \"UklGRi4AAABXQVZFZm10IBAAAAABAAEA...\"}'\n# Returns: {\"transcription\": \"Hello world\", \"status\": \"success\"}\n```\n\n### Example: Ollama Mode with VS Code\n\n1. Start the headless server in Ollama mode:\n   ```bash\n   airunner-headless --ollama-mode --model \u002Fpath\u002Fto\u002Fyour\u002Fmodel\n   ```\n\n2. Configure VS Code Continue extension to use `http:\u002F\u002Flocalhost:11434`\n\n3. The server will respond to Ollama API calls, allowing seamless integration.\n\n### Auto-Loading Models\n\nWhen `--no-preload` is used, models are automatically loaded on the first request to the corresponding endpoint. This is useful for:\n\n- Reducing startup time\n- Running multiple services without loading all models upfront\n- Memory-constrained environments\n\n---\n\n## 📦 Model Management\n\n### Download Models\n\n```bash\n# List available models\nairunner-hf-download\n\n# List only LLM models\nairunner-hf-download list --type llm\n\n# Download a model (GGUF by default)\nairunner-hf-download qwen3-8b\n\n# Download full safetensors version\nairunner-hf-download --full qwen3-8b\n\n# Download any HuggingFace model\nairunner-hf-download Qwen\u002FQwen3-8B\n\n# List downloaded models\nairunner-hf-download --downloaded\n```\n\n### Delete Models\n\n```bash\n# Delete a model (with confirmation)\nairunner-hf-download --delete Qwen3-8B\n\n# Delete without confirmation (for scripts)\nairunner-hf-download --delete Qwen3-8B --force\n```\n\n### Download from CivitAI\n\n```bash\n# Download a model from CivitAI URL\nairunner-civitai-download https:\u002F\u002Fcivitai.com\u002Fmodels\u002F995002\u002F70s-sci-fi-movie\n\n# Download a specific version\nairunner-civitai-download https:\u002F\u002Fcivitai.com\u002Fmodels\u002F995002?modelVersionId=1880417\n\n# Download to a custom directory\nairunner-civitai-download \u003Curl> --output-dir \u002Fpath\u002Fto\u002Fmodels\n\n# Use API key for authentication (for gated models)\nairunner-civitai-download \u003Curl> --api-key your_api_key\n\n# Or set CIVITAI_API_KEY environment variable\nexport CIVITAI_API_KEY=your_api_key\nairunner-civitai-download \u003Curl>\n```\n\n---\n\n## 🔒 HTTPS Configuration\n\nAI Runner's local server uses HTTPS by default. Certificates are auto-generated in `~\u002F.local\u002Fshare\u002Fairunner\u002Fcerts\u002F`.\n\nFor browser-trusted certificates, install [mkcert](https:\u002F\u002Fgithub.com\u002FFiloSottile\u002Fmkcert):\n```bash\nsudo apt install libnss3-tools\nmkcert -install\n```\n\n---\n\n## ⚖️ Colorado AI Act Notice\n\n**Effective February 1, 2026**, the [Colorado AI Act (SB 24-205)](https:\u002F\u002Fleg.colorado.gov\u002Fbills\u002Fsb24-205) regulates high-risk AI systems.\n\n**Your Responsibility:** If you use AI Runner for decisions with legal or significant effects on individuals (employment screening, loan eligibility, insurance, housing), you may be classified as a **deployer of a high-risk AI system** and must:\n- Implement a risk management policy\n- Complete impact assessments\n- Provide consumer notice and appeal mechanisms\n- Report algorithmic discrimination to the Colorado Attorney General\n\n**AI Runner's Design:** AI Runner is designed with privacy as a core principle—it runs entirely locally with no external data transmission by default. However, certain optional features connect to external services:\n\n- **Model Downloads:** Connecting to HuggingFace or CivitAI to download models\n- **Web Search \u002F Deep Research:** Search queries sent to DuckDuckGo; web pages scraped for research\n- **Weather Prompt:** Location coordinates sent to Open-Meteo API if enabled\n- **External LLM Providers:** Prompts sent to OpenRouter or OpenAI if configured\n\n**We recommend using a VPN** when using features that connect to external services. See our full [Privacy Policy](src\u002Fairunner\u002Fcomponents\u002Fdownloader\u002Fgui\u002Fwindows\u002Fsetup_wizard\u002Fuser_agreement\u002Fprivacy_policy.md) for details.\n\n---\n\n## 🧪 Testing\n\n```bash\n# Run headless-safe tests\npytest src\u002Fairunner\u002Futils\u002Ftests\u002F\n\n# Run display-required tests (Qt\u002FGUI)\nxvfb-run -a pytest src\u002Fairunner\u002Futils\u002Ftests\u002Fxvfb_required\u002F\n```\n\n---\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) and the [Development Wiki](https:\u002F\u002Fgithub.com\u002FCapsize-Games\u002Fairunner\u002Fwiki\u002FDevelopment).\n\n## Documentation\n\n- [Wiki](https:\u002F\u002Fgithub.com\u002FCapsize-Games\u002Fairunner\u002Fwiki)\n- [API Service Layer](src\u002Fairunner\u002Fcomponents\u002Fapplication\u002Fapi\u002FREADME.md)\n- [ORM Models](src\u002Fairunner\u002Fcomponents\u002Fdata\u002Fmodels\u002FREADME.md)\n\n---\n\n\u003Ca href=\"https:\u002F\u002Fairunner.org\">\n   \u003Cimg src=\"https:\u002F\u002Fairunner.org\u002Flogo.png\" alt=\"AI Runner Logo\" width=\"100\"\u002F>\n\u003C\u002Fa>\n\n","AI Runner 是一个集成了本地大语言模型、文本转语音、语音转文本和图像生成功能的全合一离线优先桌面应用。它支持实时语音对话、自定义AI代理以及通过拖放构建视觉工作流等功能，利用Stable Diffusion等模型进行图像生成，并且默认在本地运行以保护用户隐私。此外，AI Runner 通过GGUF量化技术实现快速推理并降低显存使用。适用于需要高效本地处理而不依赖外部API的各种场景，如个人创作、教育研究或企业内部开发等。",2,"2026-06-11 03:30:11","top_topic"]