You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.3 KiB
2.3 KiB
webavatar-core
A base SvelteKit project meant to be branched off for future webavatar client projects. It provides the reusable core infrastructure those projects would otherwise reimplement from scratch — session management, auth tokens, and the realtime model connection — as a foundation to branch from, not a finished product.
See docs/ARCHITECTURE.md for the full architecture map, and AGENTS.md for project conventions and structure. docs/ holds a deep-dive per subsystem.
Getting started
npm install
cp .env.example .env
# fill in OPENAI_API_KEY and REALTIME_TOKEN_SECRET in .env
npm run dev
Open /demo/realtime for the realtime session reference wiring, or /demo/humanoid for the humanoid avatar-state demo (works offline via REALTIME_PROVIDER=mock, no API key needed).
Scripts
npm run dev/npm run build/npm run preview— standard SvelteKit commands.npm run check— type-check.npm run lint/npm run format— prettier + eslint.npm run test:unit— vitest.npm run test:e2e— Playwright.npm start— run the production build viaserver.js(the persistent Node process the realtime WebSocket relay requires — see docs/ARCHITECTURE.md).
Documentation
| Subsystem | Doc |
|---|---|
| Architecture overview and module layering | docs/ARCHITECTURE.md |
| Realtime session management | docs/REALTIME_SESSION.md |
| Tool calling (server- and client-executed) | docs/TOOLS.md |
| Analytics recording | docs/ANALYTICS.md |
| Configuration (env vars, persona) | docs/CONFIGURATION.md |
humanoid package (avatar-state, animation composition) |
docs/HUMANOID.md |