Guide Index
Build Live2D AI characters that talk, react, and look at you.
Charivo is a modular TypeScript framework for voice, expression, motion, gaze, and real-time conversation — split into focused packages.
These guides are for integrators building an app on top of Charivo. Use them to choose the right packages, understand the layering, and get to a working setup quickly.
Default Stack
For most browser apps, the default stack looks like this:
browser app
-> @charivo/core
-> modality root package
-> remote browser runtime package
-> your API route
-> server provider package
That means:
@charivo/coreorchestrates the app- modality root packages such as
@charivo/llm,@charivo/tts, and@charivo/realtimeown feature state - remote browser packages talk to your server
- server provider packages such as
@charivo/server/openaikeep credentials on the server
Reading Order
If you are new to the repo, read in this order:
- Getting Started
- Choosing Packages
- Architecture
- the subsystem guides you need
Common Paths
Quickest route to a working browser app
Choosing packages before wiring the app
Reading the shipped reference app
Guide Map
- Getting Started: minimal production-oriented setup
- Architecture: package boundaries, layering, and event wiring
- Choosing Packages: remote vs browser-direct vs browser-native
- Rendering:
@charivo/renderand@charivo/render-live2d - LLM: conversation manager and client choices
- TTS: speech playback and lip-sync wiring
- STT: microphone recording and transcription paths
- Realtime: session-based voice interaction and tool wiring
- Examples Web: Next.js reference app and API routes
Guide Docs vs Package READMEs
Use the guides for integration decisions, recommended stacks, and copy-paste recipes.
Use package READMEs for package-local details such as exports, request contracts, and provider-specific config:
- core README
- realtime README
- other package docs under
packages/