20 KiB
Project AIRI
モデル駆動の魂の容器、ちょっとしたことができるデスクペット。
Neuro-samaのようなバーチャルペアも私たちの世界の一部にしましょう!
[Discordサーバーに参加する] [試してみる] [English] [简体中文]
Neuro-sama に大きな影響を受けました
Warning
ご注意: 当プロジェクトでは、公式の暗号通貨やトークン等は一切発行しておりません。誤情報などにご注意ください。
Note
Project AIRIから生まれたすべてのサブプロジェクト用に、専用の組織@proj-airiがあります。ぜひチェックしてみてください!
RAG、メモリシステム、組み込みデータベース、アイコン、Live2Dユーティリティなど多数あります!
サイバー生命体(サイバーワイフ/ハズバンド、デジタルペット)や、あなたと遊んだり話したりできるデジタルコンパニオンを持つことを夢見たことはありますか?
ChatGPTや有名なClaudeのような最新の大規模言語モデルの力を借りて、仮想存在に役割演技やチャットを求めることは、すでに誰にとっても十分簡単になっています。Character.ai(別名c.ai)やJanitorAIのようなプラットフォーム、そしてSillyTavernのようなローカルな遊び場は、チャットベースや視覚的なアドベンチャーゲームのような体験のための十分な解決策となっています。
しかし、ゲームをプレイする能力はどうでしょうか?あなたがコーディングしているものを見たり、ゲームをしながらチャットしたり、ビデオを見たり、他の多くのことができる能力は?
おそらくNeuro-samaをすでに知っているでしょう。彼女は現在、ゲームをプレイし、チャットし、あなたや参加者(VTuberコミュニティ内)と対話できる最高のコンパニオンです。この種の存在を「デジタルヒューマン」と呼ぶ人もいます。残念ながら、オープンソースではないため、ライブストリームがオフラインになった後は彼女と対話することはできません。
そのため、このプロジェクトAIRIは、ここで別の可能性を提供します:簡単に、どこでも、いつでも、あなた自身のデジタルライフ、サイバー生活を所有できるようにします。
このプロジェクトの特別な点は何ですか?
他のAI駆動のVTuberオープンソースプロジェクトとは異なり、アイリVTuberは開発初日からWebGPU、WebAudio、Web Workers、WebAssembly、WebSocketなどの多くのWeb技術をサポートしています。
これは、アイリVTuberが現代のブラウザやデバイスで動作可能であることを意味し、モバイルデバイスでも動作します(PWAサポート済み)。これにより、私たち(開発者)はアイリVTuberの力を次のレベルに引き上げるための多くの可能性を持ちつつ、ユーザーがTCP接続や他の非Web技術を必要とする機能を有効にする柔軟性を残しています。例えば、Discordのボイスチャネルに接続したり、MinecraftやFactorioを友達と一緒にプレイすることができます。
Note
私たちはまだ開発の初期段階にあり、才能ある開発者を探しています。アイリVTuberを現実のものにするために私たちを助けてください。
Vue.js、TypeScript、またはこのプロジェクトに必要な開発ツールに慣れていなくても大丈夫です。アーティスト、デザイナー、または最初のライブストリームを立ち上げる手助けをすることもできます。
ReactやSvelte、Solidの大ファンであっても歓迎します。アイリVTuberに見たい機能を追加したり、実験したい機能を追加するためのサブディレクトリを開くことができます。
私たちが探している分野(および関連プロジェクト):
- Live2Dモデラー
- VRMモデラー
- VRChatアバターデザイナー
- コンピュータビジョン
- 強化学習
- 音声認識
- 音声合成
- ONNXランタイム
- Transformers.js
- vLLM
- WebGPU
- Three.js
- WebXR(@moeru-ai組織の別のプロジェクトもチェックしてください)
興味があるなら、ここで自己紹介してみませんか? Would like to join part of us to build AIRI?
現在の進捗
可能なこと
- 脳
- Minecraftをプレイ
- Factorioをプレイ(進行中ですが、PoCとデモが利用可能)
- Telegramでチャット
- Discordでチャット
- メモリ
- ブラウザ内データベースサポート(DuckDB WASM |
pglite) - メモリアラヤ(進行中)
- ブラウザ内データベースサポート(DuckDB WASM |
- ブラウザ内ローカル(WebGPU)推論
- 耳
- ブラウザからの音声入力
- Discordからの音声入力
- クライアント側の音声認識
- クライアント側の話し声検出
- 口
- ElevenLabs音声合成
- 体
- VRMサポート
- VRMモデルの制御
- VRMモデルのアニメーション
- 自動まばたき
- 自動視線追従
- アイドル時の目の動き
- Live2Dサポート
- Live2Dモデルの制御
- Live2Dモデルのアニメーション
- 自動まばたき
- 自動視線追従
- アイドル時の目の動き
- VRMサポート
開発
このプロジェクトの詳細な開発手順については、CONTRIBUTING.mdを参照してください
Note
デフォルトでは
pnpm devはステージウェブ(ブラウザ版)の開発サーバーを起動します。 デスクトップ版の開発を試したい場合は、CONTRIBUTING.mdを読んで環境を正し くセットアップしてください。
pnpm i
pnpm dev
ステージウェブ(ブラウザ版)
pnpm dev
ステージたまごっち(デスクトップアプリ)
pnpm dev:tamagotchi
ドキュメントサイト
pnpm dev:docs
サポートされているLLM APIプロバイダー(xsaiによって提供)
- OpenRouter
- vLLM
- SGLang
- Ollama
- Google Gemini
- OpenAI
- Azure OpenAI API(PR歓迎)
- Anthropic Claude
- AWS Claude(PR歓迎)
- DeepSeek
- Qwen
- xAI
- Groq
- Mistral
- Cloudflare Workers AI
- Together.ai
- Fireworks.ai
- Novita
- Zhipu
- SiliconFlow
- Stepfun
- Baichuan
- Minimax
- Moonshot AI
- Player2
- Tencent Cloud
- Sparks(PR歓迎)
- Volcano Engine(PR歓迎)
このプロジェクトから生まれたサブプロジェクト
- Awesome AI VTuber: AI VTuberと関連プロジェクトのキュレーションリスト
unspeech:/audio/transcriptionsと/audio/speechのためのユニバーサルエンドポイントプロキシサーバー、LiteLLMのように、任意のASRとTTSに対応hfup: HuggingFace Spacesへのデプロイとバンドルを支援するツールxsai-transformers: xsAIのための実験的な🤗 Transformers.jsプロバイダー- WebAI: Realtime Voice Chat: VAD + STT + LLM + TTSを使用してChatGPTのリアルタイム音声をゼロから実装する完全な例
@proj-airi/drizzle-duckdb-wasm: DuckDB WASMのDrizzle ORMドライバー@proj-airi/duckdb-wasm:@duckdb/duckdb-wasmの使いやすいラッパー- AIRI Factorio: AIRIがFactorioをプレイできるようにする
- Factorio RCON API: FactorioヘッドレスサーバーコンソールのRESTful APIラッパー
autorio: Factorio自動化ライブラリtstl-plugin-reload-factorio-mod: Factorioモッドの開発時にリロードをサポート- Velin: Vue SFCとMarkdownを使用してLLMのための管理しやすい状態のプロンプトを書く
demodel: さまざまな推論ランタイムからモデルやデータセットをデプロイ、バンドルするためのツールinventory: 中央集権的なモデルカタログとデフォルトプロバイダー設定のバックエンドサービス- MCP Launcher: すべての可能なMCPサーバーのための簡単に使用できるMCPビルダー&ランチャー、Ollamaのようにモデルのためのもの!
- 🥺 SAD: 自己ホストおよびブラウザで実行されるLLMのためのドキュメントとノート
%%{ init: { 'flowchart': { 'curve': 'catmullRom' } } }%%
flowchart TD
Core("Core")
Unspeech("unspeech")
DBDriver("@proj-airi/drizzle-duckdb-wasm")
MemoryDriver("[WIP] メモリアラヤ")
DB1("@proj-airi/duckdb-wasm")
SVRT("@proj-airi/server-runtime")
Memory("Memory")
STT("STT")
Stage("ステージ")
StageUI("@proj-airi/stage-ui")
UI("@proj-airi/ui")
subgraph AIRI
DB1 --> DBDriver --> MemoryDriver --> Memory --> Core
UI --> StageUI --> Stage --> Core
Core --> STT
Core --> SVRT
end
subgraph UI_Components
UI --> StageUI
UITransitions("@proj-airi/ui-transitions") --> StageUI
UILoadingScreens("@proj-airi/ui-loading-screens") --> StageUI
FontCJK("@proj-airi/font-cjkfonts-allseto") --> StageUI
FontXiaolai("@proj-airi/font-xiaolai") --> StageUI
end
subgraph Apps
Stage --> StageWeb("@proj-airi/stage-web")
Stage --> StageTamagotchi("@proj-airi/stage-tamagotchi")
Core --> RealtimeAudio("@proj-airi/realtime-audio")
Core --> PromptEngineering("@proj-airi/playground-prompt-engineering")
end
subgraph Server_Components
Core --> ServerSDK("@proj-airi/server-sdk")
ServerShared("@proj-airi/server-shared") --> SVRT
ServerShared --> ServerSDK
end
STT -->|話す| Unspeech
SVRT -->|Factorioをプレイ| F_AGENT
SVRT -->|Minecraftをプレイ| MC_AGENT
subgraph Factorioエージェント
F_AGENT("Factorioエージェント")
F_API("Factorio RCON API")
factorio-server("factorio-server")
F_MOD1("autorio")
F_AGENT --> F_API -.-> factorio-server
F_MOD1 -.-> factorio-server
end
subgraph Minecraftエージェント
MC_AGENT("Minecraftエージェント")
Mineflayer("Mineflayer")
minecraft-server("minecraft-server")
MC_AGENT --> Mineflayer -.-> minecraft-server
end
XSAI("xsAI") --> Core
XSAI --> F_AGENT
XSAI --> MC_AGENT
Core --> TauriMCP("@proj-airi/tauri-plugin-mcp")
Memory_PGVector("@proj-airi/memory-pgvector") --> Memory
style Core fill:#f9d4d4,stroke:#333,stroke-width:1px
style AIRI fill:#fcf7f7,stroke:#333,stroke-width:1px
style UI fill:#d4f9d4,stroke:#333,stroke-width:1px
style Stage fill:#d4f9d4,stroke:#333,stroke-width:1px
style UI_Components fill:#d4f9d4,stroke:#333,stroke-width:1px
style Server_Components fill:#d4e6f9,stroke:#333,stroke-width:1px
style Apps fill:#d4d4f9,stroke:#333,stroke-width:1px
style Factorioエージェント fill:#f9d4f2,stroke:#333,stroke-width:1px
style Minecraftエージェント fill:#f9d4f2,stroke:#333,stroke-width:1px
style DBDriver fill:#f9f9d4,stroke:#333,stroke-width:1px
style MemoryDriver fill:#f9f9d4,stroke:#333,stroke-width:1px
style DB1 fill:#f9f9d4,stroke:#333,stroke-width:1px
style Memory fill:#f9f9d4,stroke:#333,stroke-width:1px
style Memory_PGVector fill:#f9f9d4,stroke:#333,stroke-width:1px
類似プロジェクト
オープンソースのもの
- kimjammer/Neuro: A recreation of Neuro-Sama originally created in 7 days.: 非常に完成度の高い実装
- SugarcaneDefender/z-waif: ゲーム、自律エージェント、プロンプトエンジニアリングに優れています
- semperai/amica: VRM、WebXRに優れています
- elizaOS/eliza: エージェントをさまざまなシステムやAPIに統合するための優れた例
- ardha27/AI-Waifu-Vtuber: Twitch APIの統合に優れています
- InsanityLabs/AIVTuber: 素晴らしいUIとUX
- IRedDragonICY/vixevia
- t41372/Open-LLM-VTuber
- PeterH0323/Streamer-Sales
非オープンソースのもの
- https://clips.twitch.tv/WanderingCaringDeerDxCat-Qt55xtiGDSoNmDDr https://www.youtube.com/watch?v=8Giv5mupJNE
- https://clips.twitch.tv/TriangularAthleticBunnySoonerLater-SXpBk1dFso21VcWD
プロジェクトのステータス
謝辞
- Reka UI: ドキュメントサイトのデザイン、新しいランディングページはこれに基づいており、また膨大な量のUIコンポーネントを実装してくれたことに感謝します。(shadcn-vueはReka UIをヘッドレスとして使用していますので、ぜひチェックしてください!)
- pixiv/ChatVRM
- josephrocca/ChatVRM-js: A JS conversion/adaptation of parts of the ChatVRM (TypeScript) code for standalone use in OpenCharacters and elsewhere
- UIとスタイルのデザインは、Cookard、UNBEATABLE、およびSensei! I like you so much!の作品、Ayame by Mercedes BazanとWish by Mercedes Bazanのアートワークに触発されました
- mallorbc/whisper_mic
xsai: LLMやモデルと対話するための多くのパッケージを実装しました。 Vercel AI SDKのように小さなものです。