16 KiB
Project AIRI
[加入 Discord] [试试看] [English] [日本語]
深受 Neuro-sama 启发
Note
我们有一个专门的组织 @proj-airi 用于所有从 Project AIRI 诞生的子项目,快来看看吧!
RAG(检索增强生成)、记忆系统、嵌入式数据库、图标、Live2D 实用工具等等!
你是否梦想过拥有一个赛博生命(网络老婆/老公、数字桌宠),或者能与你玩耍和交谈的 AI 伴侣?
借助现代大型语言模型的力量,像是 ChatGPT 和著名的 Claude 所能带来的,想要 LLM(大语言模型)和我们角色扮演、聊天已经超简单了,每个人都能上手。而像 Character.ai(又称 c.ai) 和 JanitorAI 这样的平台,以及本地应用如 SillyTavern(又称酒馆),已经是基于聊天或文字冒险游戏体验的相当不错的解决方案。
但是,如何赋予它们玩游戏的能力呢?让它们能看到你正在编写的代码?不仅能一边聊天一边玩游戏,也可以看视频,还能做很多其他事情?
你可能已经知道 Neuro-sama,她目前是最好的能够玩游戏、聊天并与你和参与者(在VTuber社区中)互动的 AI VTuber / 伴侣,有些人也称这种存在为"数字人"。可惜的是,她并不开源,当她从直播中下线后,你就无法与她互动了。
因此,这个项目 AIRI,在这里提供了另一种可能性:让你轻松拥有自己的数字生命、赛博生命,随时随地。
这个项目有什么特别的呢?
与其他 AI 和 LLM 驱动的 VTuber 开源项目不同,アイリ VTuber 从开始开发的第一天开始就支持多种 Web 技术,涵盖诸如 WebGPU、WebAudio、Web Workers、WebAssembly、WebSocket 等已经广泛应用或仍在大量实验的 API。
这意味着 アイリ VTuber 能够在现代浏览器和设备上运行,甚至能够在移动设备上运行(已经完成了 PWA 支持),这为我们(贡献者们)带来了更多的可能性,让我们得以更进一步构建和扩展 アイリ VTuber 的外部功能,而与此同时也不失配置的灵活性——可以有选择地在不同设备上启用会需要 TCP 连接或其他非 Web 技术的功能,例如连接到 Discord 的语音频道一起开黑,或是和朋友们一起玩 Minecraft(我的世界)、Factorio(异星工厂)。
Note
アイリ VTuber 仍处于早期开发阶段,我们欢迎优秀的开发者加入我们,一起将它变为现实。
即使不熟悉 Vue.js、TypeScript 和所需的其他开发工具也没关系,我们也欢迎艺术家、设计师、运营策划的加入,你甚至可以成为第一个用 アイリ VTuber 直播的博主。
如果你使用的是 React、 Svelte,甚至 Solid 也没关系,您可以自己创建一个子目录,添加您希望在 アイリ VTuber 中看到的功能,或者想实验的功能。
我们非常期待以下领域的朋友加入:
- Live2D 模型师
- VRM 模型师
- VRChat 模型设计师
- 计算机视觉(CV)
- 强化学习(RL)
- 语音识别
- 语音合成
- ONNX 推理运行时
- Transformers.js
- vLLM
- WebGPU
- Three.js
- WebXR (也可以看看我们在 @moeru-ai 组织下另外的这个项目)
如果你已经感兴趣了,为什么不来这里和大家打个招呼呢?Would like to join part of us to build AIRI?
当前进度
- 思维能力
- 语音理解
- 浏览器音频输入
- Discord 音频输入
- 客户端语音识别
- 客户端说话检测
- 语言能力
- ElevenLabs 语音合成
- 身体动作
- VRM 支持
- 控制 VRM 模型
- VRM 模型动画
- 自动眨眼
- 自动看
- 空闲眼睛移动
- Live2D 支持
- 控制 Live2D 模型
- Live2D 模型动画
- 自动眨眼
- 自动看
- 空闲眼睛移动
- VRM 支持
开发
有关开发此项目的具体教程,参见 CONTRIBUTING.md
pnpm i
文档站
pnpm -F @proj-airi/docs dev
网页端舞台 (airi.moeru.ai 的前端页面)
pnpm -F @proj-airi/stage-web dev
拓麻歌子端舞台 (Electron 桌面 App)
pnpm -F @proj-airi/stage-tamagotchi dev
原生支持的 LLM API 提供商列表(由 xsai 驱动)
- OpenRouter
- vLLM
- SGLang
- Ollama
- Google Gemini
- OpenAI
- Anthropic Claude
- 深度求索 DeepSeek
- 通义千问 Qwen
- xAI
- Groq
- Mistral
- Cloudflare Workers AI
- Together.ai
- Fireworks.ai
- Novita
- 智谱
- 硅基流动
- 阶跃星辰
- 百川
- Minimax
- 月之暗面
- 腾讯混元
- 讯飞星火
- 火山引擎(豆包)
从这个项目诞生的子项目
unspeech: 用于代理/audio/transcriptions和/audio/speech的代理服务器实现,类似 LiteLLM 但面向任何 ASR 和 TTShfup: 帮助部署、打包到 HuggingFace Spaces 的工具集@proj-airi/drizzle-duckdb-wasm: DuckDB WASM 的 Drizzle ORM driver 驱动@proj-airi/duckdb-wasm: 易于使用的@duckdb/duckdb-wasm封装@proj-airi/lobe-icons: 为 lobe-icons 漂亮的 AI & LLM 图标制作的 Iconify JSON 封装,支持 Tailwind 和 UnoCSS- AIRI Factorio: 让 AIRI 玩 Factorio
- Factorio RCON API: Factorio 无头服务器控制台的 RESTful API 封装
autorio: Factorio 自动化库tstl-plugin-reload-factorio-mod: 开发时支持热重载 Factorio 模组- 🥺 SAD: 自托管和浏览器运行 LLM 的文档和说明
- Velin: 用 Vue SFC 和 Markdown 文件来为 LLM 书写简单好用的提示词
demodel: 轻松加速各种推理引擎和模型下载器拉/下载模型或数据集的速度inventory: 中心化模型目录和默认提供商配置的公开 API 服务- MCP Launcher: 易于使用的 MCP 启动器,适用于所有可能的 MCP Server,就像用于模型推理的 Ollama 一样!
@proj-airi/elevenlabs: ElevenLabs API 的类型定义
%%{ init: { 'flowchart': { 'curve': 'catmullRom' } } }%%
flowchart TD
Core("Core")
Unspeech("unspeech")
DBDriver("@proj-airi/drizzle-duckdb-wasm")
MemoryDriver("[WIP] Memory Alaya")
DB1("@proj-airi/duckdb-wasm")
SVRT("@proj-airi/server-runtime")
Memory("Memory")
STT("STT")
Stage("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 -->|Speaking| Unspeech
SVRT -->|Playing Factorio| F_AGENT
SVRT -->|Playing Minecraft| MC_AGENT
subgraph Factorio_Agent
F_AGENT("Factorio Agent")
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_Agent
MC_AGENT("Minecraft Agent")
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_Agent fill:#f9d4f2,stroke:#333,stroke-width:1px
style Minecraft_Agent 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.:非常完善的 Neuro-Sama 实现
- SugarcaneDefender/z-waif:以游戏、自主代理和提示词工程见长
- semperai/amica:适配 VRM, WebXR
- elizaOS/eliza:将 AI 智能体集成至各类系统和 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
项目状态
鸣谢
- 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 但是更小