AIKraft Agents

Capsize-Games/airunner

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

Инференс⭐ 1 318Pythonпоследний релиз: v6.1.10
Открыть на 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.10minor
🕐 2 дн назад · релиз на GitHub ↗

Релиз v6.1.10: бета-версия headless CORE для Linux amd64 с SQLite, исправления сети и отмены запросов.

  • Added: Добавлен headless CORE сервис для Linux amd64 с базой SQLite, собранный на Ubuntu 24.04.
  • Added: Внедрена корреляция WebSocket-запросов LLM, отмена запросов по namespace и обработка разрывов соединения.
  • Fixed: Исправлена очистка очереди ожидающих сообщений и улучшена стабильность жизненного цикла демона.
  • Deprecated: Устаревший десктопный GUI исключен из состава релиза.
  • Публикация в PyPI, apt и Docker отложена; нативные исполняемые файлы выпускаются отдельно.
v6.1.8patch
🕐 11 дн назад · релиз на GitHub ↗

Исправлено 25 проблем аудита Wave-4, улучшена стабильность демона и обновлены зависимости для cu129.

  • Fixed: Устранены 25 проблем аудита Wave-4, включая исправления дрейфа allowlist.
  • Fixed: Улучшена работа демона и IPC: добавлены обработчики сигналов, улучшена синхронизация и блокировки.
  • Added: Обновлен установщик cu129 с зафиксированным стеком torch и переписанными ограничениями зависимостей.
  • Fixed: Исправлены ошибки в Dockerfile, docker-compose и настройках сборки для Debian.
v6.1.6minor
🕐 11 дн назад · релиз на GitHub ↗

Усиление безопасности сервисов по итогам аудита, закрытие сотен задач и исправление тестов.

  • Fixed: Закрыты задачи аудита безопасности волн 1–3, включая исправление и верификацию 1217 проверок.
  • Fixed: Устранены проблемы в API, песочнице LLM, голосовых сервисах, операционных модулях и установке.
  • Fixed: Исправлены сбои тестов, включая исключение зависящего от порядка сегфолта CUDA в test_fp8_scaled_mm.py.
  • Остались открытыми задачи на обновление зависимостей, исправление нестабильных тестов и документацию.
v6.1.5majorbreaking
🕐 11 дн назад · релиз на GitHub ↗

Релиз Airrunner v6.1.5: переход на headless-архитектуру (FastAPI), устранение десктопного клиента и масштабные исправления безопасности.

  • Breaking: Полный отказ от десктопного клиента; теперь доступна только headless-версия с FastAPI-демоном для airunnerweb.
  • Breaking: Жёсткое требование безопасности: сохранение секретов без keyring теперь требует явного флага AIRUNNER_ALLOW_PLAINTEXT_SECRETS=1.
  • Fixed: Устранены критические уязвимости при загрузке моделей из CivitAI/HF: санитизация имён файлов, проверка редиректов и защита от атак с использованием символических ссылок.
  • Fixed: Исправлена работа демона: блокировка через flock, корректная обработка сигналов завершения и точное сопоставление WebSocket-сокетов арендаторам.
  • Added: Добавлены новые файлы регрессионных тестов и исправлены точки входа для сборки Docker и очистки LLM-моделей.
v6.1.3minor
🕐 1 мес назад · релиз на GitHub ↗

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

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

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

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

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

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

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

  • Fixed: Устранены ошибки, улучшена стабильность работы.
v6.0.0majorbreaking
🕐 2 мес назад · релиз на 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
🕐 10 мес назад · релиз на GitHub ↗

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

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