Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,159 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AITuberKit

AIキャラ構築のオールインワンツールキット

お知らせ: 本プロジェクトはバージョン v2.0.0 以降、カスタムライセンスを採用しています。商用目的でご利用の場合は、利用規約 セクションをご確認ください。

GitHub Last Commit GitHub Top Language GitHub Tag License: Custom

GitHub stars GitHub forks GitHub contributors GitHub issues CodeRabbit Pull Request Reviews

X (Twitter) Discord GitHub Sponsor DeepWiki

🌟 デモサイトへ 🌟

概要

AITuberKitは、誰でも簡単にAIキャラクターとチャットできるWebアプリケーションを構築できるオープンソースのツールキットです。
豊富なAIサービス、キャラクターモデル、音声合成エンジンに対応し、高いカスタマイズ性を備えた対話機能とAITuber配信機能を中心に、様々な拡張モードを提供しています。

AITuberKit Architecture

詳細な使用方法や設定方法については、ドキュメントサイトをご覧ください。

主な機能

1. AIキャラとの対話

  • 各種LLMのAPIキーを使って、AIキャラクターと簡単に会話可能
  • マルチモーダル対応で、カメラからの映像やアップロードした画像を認識して回答を生成
  • 直近の会話文を記憶として保持
  • RAGベースの長期記憶で、過去の会話をコンテキストに活用

2. AITuber配信

  • YouTubeの配信コメントを取得して、AIキャラクターが自動で応答
  • コメント取得元にYouTube API / わんコメ(OneComme)を選択可能
  • 会話継続モードでコメントがなくても自発的に発言可能
  • コメント取得間隔やユーザー表示名のカスタマイズに対応

3. デモ端末・デジタルサイネージ

  • デモ端末モード: デジタルサイネージ向けフルスクリーン表示。パスコード認証、NGワードフィルタ、入力長制限に対応
  • 人感検知: カメラ顔検出による来場者の自動検知。挨拶・お別れフレーズの自動再生に対応
  • アイドルモード: 会話が途絶えた際にキャラクターが自動発話。定型フレーズ、時間帯別挨拶、AI自動生成の3ソースに対応

4. 高度な対話モード

  • Realtime API: OpenAIのRealtime APIを使用した低遅延対話と関数実行
  • オーディオモード: OpenAIのAudio API機能を活用した自然な音声対話
  • Reasoningモード: AIの思考プロセスを表示し、推論パラメータを設定可能
  • ゲーム実況モード: 画面キャプチャを定期的に解析し、AIキャラクターがゲーム画面に合わせた実況コメントを自動生成・発話

5. 連携・拡張

  • 外部連携モード: WebSocketでサーバーアプリと連携し、テキストや画像のやり取りを含むより高度な機能を実現
  • スライドモード: AIキャラクターがスライドを自動で発表するモード
  • メッセージ受信機能: 専用APIを通じて外部からテキストや画像を受け付け、AIキャラクターに発言させることが可能

対応モデル・サービス

キャラクターモデル

  • 3Dモデル: VRMファイル(モーションタグによるポーズ・ジェスチャー制御に対応)
  • 2Dモデル: Live2Dファイル(Cubism 3以降)
  • 動くPngTuber: 動画ベースのキャラクター表示(MotionPNGTuber

対応LLM

  • OpenAI
  • Anthropic
  • Google Gemini
  • Azure OpenAI
  • Groq
  • Cohere
  • Mistral AI
  • Perplexity
  • Fireworks
  • LM Studio
  • Ollama
  • Dify
  • xAI
  • DeepSeek
  • OpenRouter

対応音声合成エンジン

  • VOICEVOX
  • Koeiromap
  • Google Text-to-Speech
  • Style-Bert-VITS2
  • AivisSpeech
  • Aivis Cloud API
  • Cartesia
  • GSVI TTS
  • ElevenLabs
  • OpenAI
  • Azure OpenAI

クイックスタート

開発環境

  • Node.js: 24.x
  • npm: ^11.6.2

インストール手順

  1. リポジトリをローカルにクローンします。
git clone https://github.com/tegnike/aituber-kit.git
  1. フォルダを開きます。
cd aituber-kit
  1. パッケージインストールします。
npm install
  1. 必要に応じて.envファイルを作成します。
cp .env.example .env
  1. 開発モードでアプリケーションを起動します。
npm run dev
  1. URLを開きます。http://localhost:3000

かんたん起動

初回セットアップ完了後は、起動スクリプトをダブルクリックするだけで起動できます。

  • Windows: LAUNCH.bat をダブルクリック
  • macOS: LAUNCH.command をダブルクリック(実行権限がない場合は chmod +x LAUNCH.command を実行してください)

詳細な設定方法や使用方法については、ドキュメントサイトをご覧ください。

Dockerで起動する場合

  1. .envファイルを作成します。
cp .env.example .env
  1. Docker Composeで起動します。
docker compose up -d
  1. URLを開きます。http://localhost:3000

停止する場合:

docker compose down

デプロイ

Vercel

  1. Vercelのアカウントを作成し、GitHubリポジトリをインポートします。

  2. Vercelのダッシュボードで環境変数を設定します。必要なAPIキー(OPENAI_API_KEY等)を追加してください。設定可能な環境変数は.env.exampleを参照してください。

  3. デプロイはプロジェクト設定のProduction Branchへのプッシュ時に自動で実行されます(デフォルトはmainブランチ)。

Cloudflare Workers

Cloudflare Workersへのデプロイに対応しています。OpenNextを使用してCloudflare Workers上でNext.jsアプリケーションを実行します。

  1. Wrangler CLIをインストールし、Cloudflareアカウントにログインします。

  2. wrangler.jsoncのプロジェクト名を必要に応じて変更します。

  3. 環境変数を設定します。

    • フロントエンド設定(NEXT_PUBLIC_*: .envファイルに記述します。ビルド時にクライアントコードに埋め込まれます。
    • サーバーサイドAPIキー(OPENAI_API_KEY等): Wranglerシークレットとして設定します。
cp .env.example .env
# .envを編集してNEXT_PUBLIC_*の値を設定

# サーバーサイドのAPIキーはWranglerシークレットとして設定
npx wrangler secret put OPENAI_API_KEY

必要なAPIキーごとにwrangler secret putを繰り返してください。

  1. ローカルプレビューで動作確認します。
npm run preview:cloudflare
  1. 本番環境にデプロイします。
npm run deploy:cloudflare

注意事項:

  • ビルド時にNEXT_PUBLIC_RESTRICTED_MODE=trueが自動設定され、ファイルシステムAPIが無効化されます。アセット一覧はビルド時に生成されるマニフェストから提供されます。
  • public/配下の25MB超のファイルや非ASCIIファイル名のファイルはデプロイ対象から自動除外されます。

⚠️ セキュリティに関する重要な注意事項

このリポジトリは、個人利用やローカル環境での開発はもちろん、適切なセキュリティ対策を施した上での商用利用も想定しています。ただし、Web環境にデプロイする際は以下の点にご注意ください:

  • APIキーの取り扱い: バックエンドサーバーを経由してAIサービス(OpenAI, Anthropic等)やTTSサービスのAPIを呼び出す仕様となっているため、APIキーの適切な管理が必要です。
  • サーバー側秘匿キーの保護: セキュリティアップデートにより、OPENAI_API_KEYCUSTOM_API_* などのサーバー側秘匿値、ログ保存、サーバー側TTS URL等を公開APIから使う場合は AITUBERKIT_SERVER_SECRET_ACCESS_MODE の設定が必須です。未設定の場合、一部APIは 403 で拒否されます。詳細と移行手順は v2.53.0 のリリースノート を参照してください。
  • デモモードのレート制限: AITUBERKIT_DEMO_RATE_LIMIT_PER_MINUTE はプロセス内メモリによる簡易的な制限です。サーバーレスや複数レプリカ構成ではインスタンスごとに制限されるため、本番公開ではWAFや共有レート制限も併用してください。

本番環境での利用について

本番環境で利用する場合は、以下のいずれかの対応を推奨します:

  1. バックエンドサーバーの実装: APIキーの管理をサーバーサイドで行い、クライアントからの直接的なAPIアクセスを避ける
  2. 利用者への適切な説明: 各利用者が自身のAPIキーを使用する場合は、セキュリティ上の注意点について説明する
  3. アクセス制限の実装: 必要に応じて、適切な認証・認可の仕組みを実装する

スポンサー募集

開発を継続するためにスポンサーの方を募集しています。
あなたの支援は、AITuberKitの開発と改善に大きく貢献します。

GitHub Sponsor

"Buy Me A Coffee"

協力者の皆様(ご支援いただいた順)

hodachi-axcxept coderabbitai wmoto-ai JunzoKamahara darkgaldragon usagi917 ochisamu mo0013 tsubouchi bunkaich seiki-aliveland rossy8417 gijigae takm-reason haoling FoundD-oka terisuke konpeita MojaX2 micchi99 nekomeowww yfuku 8484ff_42 sher1ock-jp uwaguchi M1RA_A_Project teruPP aituber-akari harumeri spring-hh dotneet schroneko eruma _cityside nyapan-mohy hattoritatsuya sa1p HarukiExplorer

他、プライベートスポンサー 複数名

Star History

Star History Chart

謝辞

本プロジェクトは、pixiv株式会社が公開する ChatVRM をフォークして開発されています。素晴らしいオープンソースプロジェクトを公開してくださったpixiv株式会社に深く感謝いたします。

貢献

AITuberKitの発展にご協力いただき、ありがとうございます。コミュニティからの貢献を歓迎しています。

イシューの報告

バグを見つけたり、新機能のアイデアがある場合は、GitHubのIssuesページからぜひ教えてください。

イシューを作成する際に、以下の情報を含めていただけると対応がスムーズになります:

  • 問題や新機能の詳細な説明
  • 再現手順(バグの場合)
  • 期待される動作と実際の動作
  • 使用環境(ブラウザ、OS、Node.jsのバージョンなど)
  • スクリーンショットや動画(可能であれば)

プルリクエスト

コードの改善や新機能の追加をしたい場合は、フォークしたリポジトリで変更を加え、プルリクエストを作成してください。

  • 1つのプルリクエストでは、1つの機能または修正に焦点を当てるようにしてください。
  • プルリクエストの説明には、変更内容と理由を書いてください。
  • マージ先のブランチは必ず develop に設定してください。
  • コンフリクトは無理に解消しなくても問題ありません。開発チームが対応します。

利用規約

ライセンス

本プロジェクトは、バージョン v2.0.0 以降、カスタムライセンスを採用しています。

  • 無償利用

    • 営利目的以外での個人利用、教育目的、非営利目的での使用は無償で利用可能です。
  • 商用ライセンス

    • 商用目的での使用に関しては、別途商用ライセンスの取得が必要です。
    • 詳細は、ライセンスについてをご確認ください。

その他

優先実装について

本プロジェクトでは、有償での機能優先実装を受け付けています。

  • 企業や個人の方から要望のあった機能を、優先的に実装することが可能です。
  • 実装された機能は、本OSSプロジェクトの一部として公開されます。
  • 料金は機能の複雑さや実装に要する時間に応じて個別見積もりとなります。
  • この優先実装は商用ライセンスとは別の取り組みです。実装された機能を商用利用する場合は、別途商用ライセンスの取得が必要です。

詳細については、support@aituberkit.com までお問い合わせください。

About

A web application for chatting with AI characters that anyone can easily set up and deploy.

Resources

Stars

1.1k stars

Watchers

11 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages