AITuberKit
July 1, 2026 · View on GitHub
Kompleksowy zestaw narzędzi do budowy postaci AI
Ogłoszenie: Od wersji v2.0.0 projekt ten przyjął niestandardową licencję. W przypadku użytku komercyjnego prosimy o zapoznanie się z sekcją Warunki użytkowania.
日本語| English| 简体中文| 繁體中文| 한국어
Przegląd
AITuberKit to zestaw narzędzi open source, który pozwala każdemu łatwo zbudować aplikację internetową do czatowania z postaciami AI.
Obsługuje różnorodne usługi AI, modele postaci i silniki syntezy mowy, oferując różne tryby rozszerzeń, koncentrując się na funkcjach dialogowych i streamingowych AITuber z wysokim stopniem personalizacji.
Szczegółowe instrukcje użytkowania i konfiguracji można znaleźć w dokumentacji.
Główne funkcje
1. Interakcja z postaciami AI
- Łatwa rozmowa z postaciami AI przy użyciu kluczy API różnych LLM
- Obsługa multimodalna z rozpoznawaniem obrazów z kamery i przesłanych zdjęć
- Zachowywanie ostatnich rozmów w pamięci
- Długoterminowa pamięć oparta na RAG, wykorzystująca przeszłe rozmowy jako kontekst
2. Streaming AITuber
- Automatyczne odpowiedzi postaci AI na komentarze ze streamów YouTube
- Możliwość wyboru źródła komentarzy: YouTube API / OneComme (WanKome)
- Tryb ciągłej rozmowy umożliwiający spontaniczne wypowiedzi nawet bez komentarzy
- Konfigurowalne interwały pobierania komentarzy i wyświetlana nazwa użytkownika
3. Terminal demonstracyjny i signage cyfrowy
- Tryb terminala demonstracyjnego: Wyświetlanie pełnoekranowe dla signage cyfrowego. Obsługuje uwierzytelnianie kodem, filtr słów zabronionych i limity długości danych wejściowych
- Detekcja obecności: Automatyczne wykrywanie odwiedzających poprzez detekcję twarzy z kamery. Obsługuje automatyczne odtwarzanie powitań i pożegnań
- Tryb bezczynności: Postać wypowiada się automatycznie, gdy rozmowa ustaje. Obsługuje trzy źródła: stałe frazy, powitania zależne od pory dnia i treści generowane przez AI
4. Zaawansowane tryby dialogu
- Realtime API: Rozmowy i wykonywanie funkcji z niskim opóźnieniem przy użyciu OpenAI Realtime API
- Tryb audio: Naturalna konwersacja głosowa wykorzystująca OpenAI Audio API
- Tryb Reasoning: Wyświetlanie procesu myślowego AI i konfiguracja parametrów wnioskowania
- Tryb komentarza do gry: Okresowo analizuje zrzuty ekranu i pozwala postaci AI automatycznie generować oraz wypowiadać komentarze dopasowane do obrazu gry
5. Integracja i rozszerzenia
- Tryb integracji zewnętrznej: Zaawansowane funkcje, w tym wymiana tekstu i obrazów, poprzez połączenie WebSocket z aplikacją serwerową
- Tryb prezentacji: Tryb automatycznej prezentacji slajdów przez postać AI
- Funkcja odbierania wiadomości: Możliwość przyjmowania tekstu i obrazów z zewnętrznych źródeł poprzez dedykowane API, aby postać AI mogła się wypowiadać
Obsługiwane modele i usługi
Modele postaci
- Modele 3D: Pliki VRM (obsługuje kontrolę pozy i gestów za pomocą tagów ruchu)
- Modele 2D: Pliki Live2D (Cubism 3 i nowsze)
- Motion PNGTuber: Wyświetlanie postaci oparte na wideo (MotionPNGTuber)
Obsługiwane LLM
- OpenAI
- Anthropic
- Google Gemini
- Azure OpenAI
- Groq
- Cohere
- Mistral AI
- Perplexity
- Fireworks
- LM Studio
- Ollama
- Dify
- xAI
- DeepSeek
- OpenRouter
Obsługiwane silniki syntezy mowy
- VOICEVOX
- Koeiromap
- Google Text-to-Speech
- Style-Bert-VITS2
- AivisSpeech
- Aivis Cloud API
- Cartesia
- GSVI TTS
- ElevenLabs
- OpenAI
- Azure OpenAI
Szybki start
Środowisko programistyczne
- Node.js: 24.x
- npm: ^11.6.2
Instrukcje instalacji
- Sklonuj repozytorium lokalnie.
git clone https://github.com/tegnike/aituber-kit.git
- Otwórz folder.
cd aituber-kit
- Zainstaluj pakiety.
npm install
- W razie potrzeby utwórz plik .env.
cp .env.example .env
- Uruchom aplikację w trybie deweloperskim.
npm run dev
- Otwórz URL: http://localhost:3000
Szybkie uruchamianie
Po zakończeniu wstępnej konfiguracji możesz uruchomić aplikację po prostu dwukrotnie klikając skrypt uruchamiający.
- Windows: Kliknij dwukrotnie
LAUNCH.bat - macOS: Kliknij dwukrotnie
LAUNCH.command(jeśli nie masz uprawnień do wykonania, uruchomchmod +x LAUNCH.command)
Szczegółowe instrukcje konfiguracji i użytkowania można znaleźć w dokumentacji.
Uruchamianie z Docker
- Utwórz plik
.env.
cp .env.example .env
- Uruchom za pomocą Docker Compose.
docker compose up -d
- Otwórz URL: http://localhost:3000
Aby zatrzymać:
docker compose down
Wdrażanie
Vercel
-
Utwórz konto na Vercel i zaimportuj repozytorium GitHub.
-
Ustaw zmienne środowiskowe w panelu Vercel. Dodaj wymagane klucze API (np.
OPENAI_API_KEY). Dostępne zmienne środowiskowe znajdziesz w.env.example. -
Wdrażanie jest automatycznie wykonywane po wypchnięciu do Production Branch w ustawieniach projektu (domyślnie gałąź
main).
Cloudflare Workers
Obsługiwane jest wdrażanie na Cloudflare Workers. Użyj OpenNext do uruchomienia aplikacji Next.js na Cloudflare Workers.
-
Zainstaluj Wrangler CLI i zaloguj się na konto Cloudflare.
-
W razie potrzeby zmień nazwę projektu w
wrangler.jsonc. -
Ustaw zmienne środowiskowe.
- Ustawienia frontendu (
NEXT_PUBLIC_*): Zapisz je w pliku.env. Są osadzane w kodzie klienta podczas budowania. - Klucze API po stronie serwera (
OPENAI_API_KEYitp.): Ustaw je jako sekrety Wrangler.
- Ustawienia frontendu (
cp .env.example .env
# Edytuj .env, aby ustawić wartości NEXT_PUBLIC_*
# Ustaw klucze API po stronie serwera jako sekrety Wrangler
npx wrangler secret put OPENAI_API_KEY
Powtórz wrangler secret put dla każdego wymaganego klucza API.
- Zweryfikuj działanie za pomocą lokalnego podglądu.
npm run preview:cloudflare
- Wdróż w środowisku produkcyjnym.
npm run deploy:cloudflare
Uwagi:
- Podczas budowania automatycznie ustawiane jest
NEXT_PUBLIC_RESTRICTED_MODE=true, co wyłącza API systemu plików. Lista zasobów jest dostarczana z manifestów generowanych podczas budowania. - Pliki w
public/przekraczające 25MB lub z nazwami plików zawierającymi znaki spoza ASCII są automatycznie wykluczane z wdrożenia.
⚠️ Ważne uwagi dotyczące bezpieczeństwa
To repozytorium jest przeznaczone zarówno do użytku osobistego i rozwoju w środowisku lokalnym, jak i do użytku komercyjnego z odpowiednimi środkami bezpieczeństwa. Jednak podczas wdrażania w środowisku internetowym należy zwrócić uwagę na następujące punkty:
- Obsługa kluczy API: Ponieważ system jest zaprojektowany do wywoływania API usług AI (OpenAI, Anthropic itp.) i usług TTS poprzez serwer backendowy, wymagane jest odpowiednie zarządzanie kluczami API.
- Ochrona sekretów po stronie serwera: Aktualizacja bezpieczeństwa wymaga ustawienia
AITUBERKIT_SERVER_SECRET_ACCESS_MODE, gdy publiczne trasy API używają sekretów po stronie serwera, takich jakOPENAI_API_KEYlubCUSTOM_API_*, zapisu historii rozmów albo serwerowych adresów URL TTS. Bez tej konfiguracji część API zwróci403. Szczegóły i kroki migracji znajdziesz w informacjach o wydaniu v2.53.0.
Użycie w środowisku produkcyjnym
W przypadku użycia w środowisku produkcyjnym zalecane jest jedno z następujących podejść:
- Implementacja serwera backendowego: Zarządzanie kluczami API po stronie serwera i unikanie bezpośredniego dostępu do API z klienta
- Odpowiednie instrukcje dla użytkowników: W przypadku gdy użytkownicy używają własnych kluczy API, wyjaśnienie kwestii bezpieczeństwa
- Implementacja kontroli dostępu: W razie potrzeby wdrożenie odpowiednich mechanizmów uwierzytelniania i autoryzacji
Poszukiwani sponsorzy
Poszukujemy sponsorów, aby kontynuować rozwój.
Twoje wsparcie znacząco przyczyni się do rozwoju i ulepszania AITuberKit.
Współpracownicy (w kolejności wsparcia)
Plus kilku prywatnych sponsorów
Historia gwiazdek
Podziękowania
Ten projekt został opracowany jako fork ChatVRM opublikowanego przez pixiv Inc. Głęboko doceniamy pixiv Inc. za udostępnienie tak wspaniałego projektu open source.
Wkład
Dziękujemy za zainteresowanie rozwojem AITuberKit. Witamy wkład od społeczności.
Zgłaszanie problemów
Jeśli znalazłeś błąd lub masz pomysł na nową funkcję, poinformuj nas o tym na stronie Issues na GitHub.
Podczas tworzenia problemu, podanie następujących informacji pomoże nam w płynnej odpowiedzi:
- Szczegółowy opis problemu lub nowej funkcji
- Kroki reprodukcji (dla błędów)
- Oczekiwane zachowanie vs. rzeczywiste zachowanie
- Szczegóły środowiska (przeglądarka, system operacyjny, wersja Node.js, itp.)
- Zrzuty ekranu lub wideo (jeśli to możliwe)
Pull Requests
Jeśli chcesz poprawić kod lub dodać nowe funkcje, wprowadź zmiany w swoim sforkowanym repozytorium i stwórz pull request.
- Skup się na jednej funkcji lub poprawce na pull request.
- Opisz zmiany i powód ich wprowadzenia w opisie pull request.
- Zawsze ustaw docelową gałąź na
develop. - Nie martw się konfliktami - zespół programistów je rozwiąże.
Warunki użytkowania
Licencja
Od wersji v2.0.0 projekt ten przyjął niestandardową licencję.
-
Bezpłatne użytkowanie
- Dozwolone jest bezpłatne użytkowanie do celów osobistych (niekomercyjnych), edukacyjnych i non-profit.
-
Licencja komercyjna
- Do użytku komercyjnego wymagane jest uzyskanie oddzielnej licencji komercyjnej.
- Szczegóły można znaleźć w informacjach o licencji.
Inne
Priorytetowa implementacja
W tym projekcie oferujemy płatną priorytetową implementację funkcji.
- Możliwa jest priorytetowa implementacja funkcji na życzenie firm lub osób prywatnych.
- Zaimplementowane funkcje będą publicznie dostępne jako część tego projektu open source.
- Opłaty są wyceniane indywidualnie w zależności od złożoności funkcji i czasu potrzebnego na implementację.
- Ta priorytetowa implementacja jest oddzielna od licencji komercyjnej. Do komercyjnego wykorzystania zaimplementowanych funkcji nadal wymagane jest uzyskanie oddzielnej licencji komercyjnej.
Aby uzyskać więcej informacji, prosimy o kontakt pod adresem support@aituberkit.com.
