Capsize-Games/airunner

Оффлайн-инференс-движок для генерации арта, голосовых диалогов в реальном времени, LLM-чатботов и автоматизированных рабочих процессов

Инференс⭐ 1 316Pythonпоследний релиз: v6.1.3
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

AI Runner — это офлайн-инференс-движок для создания персонализированных AI-компаньонов с голосовым общением и генерации изображений (SDXL, Z-Image Turbo) прямо на локальном оборудовании.

Зачем нужен

Инструмент решает задачу создания приватных AI-ассистентов и художественных инструментов без зависимости от облачных API. Он позволяет формировать личность компаньона, сохранять долгосрочную память (RAG) и генерировать изображения с использованием слоев и фильтров, полностью оставаясь в пределах локальной машины.

Что можно реализовать

  • Создание персонализированного голосового AI-компаньона с уникальной личностью, настроенным голосом (TTS) и долговременной памятью о пользователе.
  • Генерация и редактирование изображений (SDXL, LoRA, inpainting) с использованием многослойного холста и конвертацией эскизов в готовые арты.
  • Построение полностью автономных LLM-чатботов и рабочих процессов, не требующих интернета или API-ключей.
  • Использование в качестве headless API-сервера (порт 8080) для интеграции LLM-инференса и генерации артов в другие приложения через Docker.

Ключевые возможности

  • Полная локальность: отсутствие внешних API, телеметрии и необходимости в подписках; все данные остаются на устройстве.
  • Интеграция LLM и генерации изображений: единая среда для общения с AI-компаньоном и создания артов (SDXL, Z-Image Turbo).
  • Голосовое взаимодействие: поддержка STT (распознавание речи) и TTS (синтез речи) для естественного диалога.
  • Умная память и контекст: компаньон использует RAG для долгосрочного запоминания информации о пользователе и учитывает время, дату и погоду.

👤 Кому подойдёт: Разработчики, энтузиасты локального AI и художники, ценящие приватность данных и желающие использовать мощное локальное железо (GPU NVIDIA) для создания кастомизированных AI-инструментов без облачных зависимостей.

Релизы

v6.1.3minor
🕐 7 дн назад · релиз на GitHub ↗

Добавлена поддержка SQLite для хранения сессий и записей чатбота (бэкенд-основа).

  • Added: Реализован SqlCompanionMemoryRepository на базе SQLite для хранения сессий и записей.
  • Added: Внедрено правило ротации сессий при неактивности в течение 4 часов.
  • Fixed: Исправлены гонки данных и проблемы с дублированием индексов при конкурентной записи.
  • Изменения носят фоновый характер и не затрагивают пользовательский интерфейс.
v6.1.2patchbreaking
🕐 7 дн назад · релиз на GitHub ↗

Исправлена критическая уязвимость в механизме возобновления загрузок, позволявшая подменять данные.

  • Fixed: Устранена уязвимость в логике возобновления загрузок (resume), которая позволяла подменять байты в уже «завершённых» файлах.
  • Fixed: Теперь возобновление загрузки считается допустимым только при совпадении непустых идентификаторов (identity sidecar) на обеих сторонах.
  • Fixed: Серверы, не поддерживающие заголовки ETag/Last-Modified, больше не могут использовать оптимизацию возобновления; загрузка всегда начинается заново.
  • Breaking: Пользователям, скачавшим модели через версию v6.1.1 на серверах без поддержки ETag/Last-Modified, необходимо повторно проверить или скачать файлы.
v6.1.1minor
🕐 7 дн назад · релиз на GitHub ↗

Релиз для Linux: исправления безопасности, валидации моделей и UI, а также обновления документации.

  • Fixed: Усилен контроль безопасности: добавлена аутентификация WebSocket, лимиты сообщений и строгая валидация JSON.
  • Fixed: Исправлена загрузка моделей: теперь проверяются дайджесты и соблюдаются зафиксированные версии, исключая fail-open.
  • Fixed: Исправлен баг с возвратом изображений: при запросе пакета теперь возвращаются все картинки, а не только первая.
  • Fixed: Устранено падение pip-установки из sdist из-за проблемы с компиляцией ресурсов Qt при старте приложения.
  • Added: Добавлена политика офлайн-исхода и улучшена приватность диагностических данных экспорта.
v6.1.0major
🕐 9 дн назад · релиз на GitHub ↗

В AirRunner v6.1.0 добавлен многоуровневый фильтр контента: проверка промптов по хэшам и безопасная блокировка изображений при сбоях.

  • Added: Внедрен входной фильтр промптов на основе SHA-256 хэшей с нормализацией текста; проверка работает для всех интерфейсов и API.
  • Added: Добавлена опциональная семантическая проверка контента (AIRUNNER_CONTENT_SAFETY_SEMANTIC), которая может только заблокировать, но не разрешить запрос.
  • Fixed: Фильтр изображений теперь работает по принципу fail-closed: при недоступности модели проверки или ошибках все изображения блокируются.
  • Added: Политика безопасности поставляется с пустым набором правил; дистрибьюторам необходимо сгенерировать файл политик через build_policy_terms.py.
  • Deprecated: Удалены устаревшие GUI-компоненты, дублирующие модули проверки NSFW и неиспользуемые сигналы безопасности.
v6.0.5patch
🕐 15 дн назад · релиз на GitHub ↗

Исправлена ошибка TypeError при отмене выполнения в GuiDaemonClient и исправлена логика автовыбора квантования для низкого VRAM.

  • Fixed: Исправлен TypeError в GuiDaemonClient.cancel_runtime: теперь корректно передаются аргументы metadata и timeout_seconds, что позволяет корректно прерывать TTS.
  • Fixed: Исправлена логика _auto_select_quantization: при недостатке VRAM (<0.5x от модели) теперь корректно выбирается INT2 вместо ошибочного INT4.
  • Добавлены регрессионные тесты для проверки корректности работы методов runtime.
v6.0.4patch
🕐 22 дн назад · релиз на GitHub ↗

Исправлены критические уязвимости: инъекция путей, утечка стека и ReDoS в API Airrunner v6.0.4.

  • Fixed: Исправлена инъекция путей в /api/v1/art/vram-estimate: добавлена валидация model_path, директории ограничены переменной AIRUNNER_BASE_PATH.
  • Fixed: Устранена утечка внутренней информации: исключено сериализование полных трасс ошибок в HTTP/SSE/NDJSON/WebSocket ответы.
  • Fixed: Защищена функция legacy_ollama_compat.py от ReDoS-атак путем замены регулярного выражения на линейный скан.
  • Все 105 тестов прошли успешно, включая проверку безопасности и совместимости с легаси-API.
v6.0.3patch
🕐 23 дн назад · релиз на GitHub ↗

Релиз v6.0.3: исправление ошибок и улучшение стабильности AirRunner.

  • Fixed: Устранены ошибки, улучшена стабильность работы.
v6.0.0majorbreaking
🕐 23 дн назад · релиз на GitHub ↗

Релиз 6.0: монолитный код, 4 пакета, FastAPI, LLM-фиксы, Prompt Builder и жесткие требования безопасности.

  • Breaking: Код консолидирован в 4 пакета; история git пересобрана, старые клоны нужно обновлять.
  • Breaking: API демона теперь требует токена аутентификации для всех запросов, кроме проверки здоровья.
  • Added: Появился инструмент Prompt Builder для сборки промптов с живым превью.
  • Added: Удален устаревший HTTP-сервер, все маршруты переведены на FastAPI.
  • Fixed: Исправлены стриминг, вызовы инструментов и работа с Qwen3 в LLM.
v5.6.1patch
🕐 9 мес назад · релиз на GitHub ↗

Релиз AirRunner v5.6.1: обновление кодовой базы от @w4ffl35 без указания конкретных изменений.

  • Обновление репозитория, внесённое разработчиком @w4ffl35 (pull request #1964).