docs/README.ko-KR.md
</picture>
</picture>
</picture>
</picture>
</picture>
</picture>
Neuro-sama에서 큰 영감을 받았습니다
[!WARNING] 주의: 본 프로젝트와 관련된 공식 암호화폐나 토큰은 일절 발행하지 않았습니다. 관련 정보에 주의하시고 신중하게 판단해 주세요.
[!NOTE]
Project AIRI에서 탄생한 모든 하위 프로젝트를 위한 전용 조직 @proj-airi가 있습니다. 확인해 보세요!
RAG, 메모리 시스템, 임베디드 데이터베이스, 아이콘, Live2D 유틸리티 등 다양한 프로젝트가 있습니다!
[!TIP] Crowdin에 번역 프로젝트가 있습니다. 번역이 부정확하다고 느끼시면 자유롭게 기여해 주세요. <a href="https://crowdin.com/project/proj-airi" target="_blank" rel="nofollow"></a>
사이버 생명체(사이버 와이프, 디지털 펫)나 함께 놀고 대화할 수 있는 디지털 동반자를 꿈꿔 본 적이 있으신가요?
ChatGPT나 유명한 Claude 같은 최신 대규모 언어 모델의 힘을 빌려, 가상 존재에게 역할극과 대화를 요청하는 것은 이미 누구나 쉽게 할 수 있는 일이 되었습니다. Character.ai (c.ai)나 JanitorAI 같은 플랫폼, 그리고 SillyTavern 같은 로컬 환경은 채팅 기반이나 비주얼 어드벤처 게임과 같은 경험을 위한 충분한 솔루션이 되고 있습니다.
하지만, 게임을 플레이하는 능력은요? 당신이 코딩하는 것을 볼 수 있고, 게임을 하면서 채팅하고, 영상을 보고, 그 외에도 많은 것을 할 수 있는 능력은?
아마 Neuro-sama를 이미 알고 계실 겁니다. 그녀는 현재 게임을 플레이하고, 채팅하고, 여러분 및 참여자들과 상호작용할 수 있는 최고의 AI VTuber / 동반자입니다. 이런 존재를 "디지털 휴먼"이라고 부르기도 합니다. 안타깝게도 오픈 소스가 아니기 때문에, 라이브 스트리밍이 끝나면 그녀와 상호작용할 수 없습니다.
그래서 이 프로젝트 AIRI는 여기서 또 다른 가능성을 제시합니다: 언제 어디서나 쉽게, 당신만의 디지털 라이프, 사이버 생명을 가질 수 있도록.
다른 AI 기반 VTuber 오픈 소스 프로젝트와 달리, アイリ VTuber는 개발 첫날부터 WebGPU, WebAudio, Web Workers, WebAssembly, WebSocket 등 다양한 웹 기술을 지원하도록 설계되었습니다.
[!TIP] 웹 기술을 사용하면 성능이 떨어지지 않을까 걱정되시나요?
걱정하지 마세요. 브라우저 버전은 브라우저와 웹뷰에서 얼마나 많은 것을 할 수 있는지 보여주기 위한 것이지만, 이에 완전히 의존하지는 않습니다. AIRI의 데스크톱 버전은 기본적으로 NVIDIA CUDA와 Apple Metal을 사용할 수 있으며 (HuggingFace와 candle 프로젝트 덕분에), 복잡한 의존성 관리 없이 사용 가능합니다. 트레이드오프를 고려하여, 그래픽, 레이아웃, 애니메이션, 그리고 WIP 플러그인 시스템에는 부분적으로 웹 기술을 활용하고 있습니다.
이는 アイリ VTuber가 최신 브라우저와 기기에서 실행 가능하며, 모바일 기기에서도 작동한다는 것을 의미합니다 (PWA 지원 완료). 이를 통해 개발자들이 アイリ VTuber의 기능을 한 단계 더 끌어올리면서도, 사용자에게 TCP 연결이나 기타 비웹 기술이 필요한 기능을 활성화할 수 있는 유연성을 제공합니다. 예를 들어 Discord 음성 채널에 연결하거나, 친구들과 Minecraft나 Factorio를 함께 플레이할 수 있습니다.
[!NOTE]
저희는 아직 개발 초기 단계에 있으며, アイリ VTuber를 현실로 만들기 위해 재능 있는 개발자분들을 찾고 있습니다.
Vue.js, TypeScript 또는 이 프로젝트에 필요한 개발 도구에 익숙하지 않아도 괜찮습니다. 아티스트, 디자이너로 참여하거나, 첫 번째 라이브 스트리밍을 시작하는 데 도움을 줄 수도 있습니다.
React, Svelte, 심지어 Solid를 주로 사용하시더라도 환영합니다. アイリ VTuber에서 보고 싶은 기능을 추가하거나 실험하고 싶은 기능을 위한 하위 디렉토리를 만들 수 있습니다.
저희가 찾고 있는 분야 (및 관련 프로젝트):
- Live2D 모델러
- VRM 모델러
- VRChat 아바타 디자이너
- 컴퓨터 비전
- 강화 학습
- 음성 인식
- 음성 합성
- ONNX Runtime
- Transformers.js
- vLLM
- WebGPU
- Three.js
- WebXR (@moeru-ai 조직의 다른 프로젝트도 확인해 보세요)
관심이 있으시다면, 여기서 자기소개를 해보시는 건 어떨까요? Would like to join part of us to build AIRI?
구현된 기능
pglite)이 프로젝트의 상세한 개발 가이드는 CONTRIBUTING.md를 참조하세요
[!NOTE] 기본적으로
pnpm dev는 Stage Web(브라우저 버전)의 개발 서버를 시작합니다. 데스크톱 버전을 개발하고 싶으시다면, CONTRIBUTING.md를 읽고 환경을 올바르게 설정해 주세요.
pnpm i
pnpm dev
pnpm dev
pnpm dev:tamagotchi
Tamagotchi용 Nix 패키지도 포함되어 있습니다. flakes를 활성화한 후 다음과 같이 실행할 수 있습니다:
nix run github:moeru-ai/airi
Capacitor 웹 버전의 개발 서버를 시작합니다:
pnpm dev:pocket
위 명령어 출력에서 IP 주소를 확인하세요:
ROLLDOWN-VITE v7.3.0 ready in 1073 ms
➜ Local: https://localhost:5273/
➜ Network: https://<ip-will-be-here>:5273/
➜ Vue DevTools: Open https://localhost:5273/__devtools__/ as a separate window
➜ Vue DevTools: Press Option(⌥)+Shift(⇧)+D in App to toggle the Vue DevTools
➜ UnoCSS Inspector: https://localhost:5273/__unocss/
Xcode 프로젝트를 엽니다:
CAPACITOR_DEV_SERVER_URL=https://<your-ip-address>:5273 pnpm open:ios
그러면 Xcode가 열리고 "Run" 버튼을 클릭하여 iPhone에서 앱을 실행할 수 있습니다.
무선 모드에서 Pocket의 서버 채널에 연결해야 하는 경우, Tamagotchi를 루트 권한으로 시작해야 합니다:
sudo pnpm dev:tamagotchi
그런 다음 Tamagotchi의 settings/system/general에서 보안 웹소켓을 활성화하세요.
pnpm dev:docs
bumpp를 실행해 모노레포 버전을 업데이트하세요:
npx bumpp --no-commit --no-tag
unspeech: /audio/transcriptions 및 /audio/speech를 위한 범용 엔드포인트 프록시 서버, LiteLLM과 유사하지만 모든 ASR 및 TTS에 대응hfup: HuggingFace Spaces로의 배포 및 번들링을 지원하는 도구xsai-transformers: xsAI용 실험적 Transformers.js 프로바이더@proj-airi/drizzle-duckdb-wasm: DuckDB WASM용 Drizzle ORM 드라이버@proj-airi/duckdb-wasm: 사용하기 쉬운 @duckdb/duckdb-wasm 래퍼autorio: Factorio 자동화 라이브러리tstl-plugin-reload-factorio-mod: 개발 중 Factorio 모드 리로드 지원demodel: 다양한 추론 런타임에서 모델과 데이터셋 다운로드를 간편하게 가속inventory: 중앙 집중식 모델 카탈로그 및 기본 프로바이더 설정 백엔드 서비스%%{ 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("메모리")
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_컴포넌트
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 앱
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 서버_컴포넌트
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
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_컴포넌트 fill:#d4f9d4,stroke:#333,stroke-width:1px
style 서버_컴포넌트 fill:#d4e6f9,stroke:#333,stroke-width:1px
style 앱 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
xsai: LLM 및 모델과 상호작용하기 위한 다양한 패키지를 구현, Vercel AI SDK와 비슷하지만 훨씬 작습니다Project AIRI에 기여해 주신 모든 기여자분들께 특별한 감사를 드립니다 ❤️
<a href="https://github.com/moeru-ai/airi/graphs/contributors"> </a>