Capsize-Games/airunner

Offline inference engine for art, real-time voice conversations, LLM powered chatbots and automated workflows

AI Runner

製品概要

AI Runner は、セルフホスト型デスクトップアプリケーションで、次の2つの主要な機能を組み合わせています。

  • AIコンパニオン – 名前を付け、音声を割り当て、時間の経過とともにユーザーを記憶するチャットボットです。話したり、聞いたり(音声認識)、話したり(音声合成)でき、現在の時刻、日付、天気を把握できます。
  • アートキャンバス – レイヤー化された描画サーフェスで、スケッチ、ペイント、ローカル拡散モデルでそれらのスケッチを画像に変換、編集(インペイント、背景除去、スタイルフィルター)、レイヤーの合成を行うことができます。

すべての処理(LLMチャット、画像生成、TTS/STT)はユーザーのハードウェア上で実行され、APIキー、クラウドサブスクリプションは不要で、オプションのクラウド機能を有効にしない限り、データが外部に送信されることはありません。


主な機能(READMEに記載されている内容)

機能 説明
🤖 AIコンパニオン 名前と音声を持ち、永続的な記憶と自然に変化する機嫌を備えたパーソナリティ。
🎨 レイヤー化キャンバス 複数のレイヤーで「スケッチ → 生成 → フィルター → 合成」を実行。
🖼️ 画像生成 Z-Image Turbo、Stable Diffusion 1.5、画像間変換、インペイント、背景除去、後処理フィルターに対応。
🗣️ 音声会話 選択可能な音声による全二重TTS(テキスト読み上げ)とSTT(音声認識)。
🧠 メモリとRAG 長期的な会話メモリと、過去の会話を思い出すための検索拡張生成(RAG)。
🌤️ 環境認識 ローカルの時刻、日付、天気を認識し、応答に反映できます。
🔒 プライバシーファースト すべてのデータはローカルに保存され、オプションのクラウド機能はオプトインのみ。
🛡️ 安全フィルター 内蔵のNSFWフィルターと違法コンテンツ分類器。
📦 モデル管理 HuggingFaceまたはCivitAIからワンクリックでダウンロード可能。複数のローカルLLMおよび画像モデルをサポート。
🌍 多言語対応 英語(フルスタック)、日本語(TTS/LLM)、その他の言語のSTT(限定対応)。

利用方法

モード 典型的なユースケース
デスクトップGUI(Itch.ioダウンロード、Docker、またはpip install airunnerでインストール) 同じ画面で描画やアート生成をしながら、音声対応コンパニオンと対話的にチャット。
ヘッドレスサーバー(airunner-headless) LLM、画像、TTS、STTのエンドポイントを公開するREST APIを実行。リモートサーバー、VS Code拡張機能、自動化パイプラインに便利。
Dockerコンテナ サンドボックス化された迅速なデプロイが可能。フルGUI(docker compose run …)またはヘッドレスAPI(--headless)のどちらでも実行可能。
Pythonライブラリ 独自のスクリプトでairunnerパッケージをインポートして、同じ推論バックエンドを呼び出せます。

インストールオプション(概要)

方法 内容 備考
デスクトップダウンロード プリビルドバイナリ(Python不要)。
Docker オプショナルプロファイル(core,llm-native,stt-nativeなど)付きのコンテナイメージ。
PyPI(pip install airunner) GUIとairunner-servicesランタイムを含むPythonパッケージ。
APT(Ubuntu 22.04以降) デーモンサービスのみをインストール。Qt GUIは含まれません。
ソースから リポジトリをクローンし、./scripts/install.sh(開発モード)または./deployment/install_distributed.sh(デーモン/GUI分割インストール)を実行。

すべてのインストール方法で、最終的に同じサイドカー・バイナリ(LLM用のllama.cpp、STT用のwhisper.cpp)がインストールされます。これらは自動的にビルドまたはダウンロードされます。


アーキテクチャ概要

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ベースのGUI、ウィジェット、エントリポイント。
  • services – FastAPIサーバー、モデルダウンロードマネージャー、永続化、安全フィルター。
  • native – コンパイル済みサイドカーをバンドルし、適切なエントリポイントを起動する小さなヘルパー。
  • scripts – UIビルド、テスト実行、証明書生成などのためのヘルパーコマンド。

モデルサポート(デフォルトモデル)

タイプ デフォルトモデル(サイズ)
LLM Qwen3.5‑9B GGUF(Q8_0、約12GBのVRAM)
画像 Stable Diffusion 1.5(約2GB)およびZ-Image Turbo(約12GB)
TTS OpenVoice(約654MB)
STT Systran/faster-distil-whisper-large-v3

これらは、~/.local/share/airunner/...に互換性のあるファイルを配置するか、CLI/GUIのダウンロードマネージャーにパスを渡すことで置き換えることができます。


メンテナー

このプロジェクトはGPL-3.0ライセンスで公開されており、主にCapsize LLC(https://capsize.online)の一人のエンジニアによって開発されています。コミュニティサポートはDiscord(バッジのリンク)およびGitHubのイシュートラッカーで行われています。


クイックスタート(一般的なユーザー向けのワンライナー)

# Linux/macOS – PythonパッケージをインストールしてGUIを実行
pip install "airunner" "airunner-services[headless]"
airunner   # デスクトップアプリを開く

ヘッドレスAPIサーバーの場合:

airunner-headless   # http://127.0.0.1:8080 で待ち受け

まとめ

AI Runnerは、真のセルフホスト型AIアシスタント兼生成アートプラットフォームです。ローカルLLM推論(llama.cpp経由)、拡散画像生成、音声パイプラインをバンドルし、すべてをプライバシーファーストのデスクトップUIでラップしており、RESTサービスとして公開することもできます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト