How prolix-oc/lumiverse works
Lumiverse is a full-stack AI chat application. Users work in the frontend chat and character interfaces; requests cross the API boundary to backend services, which generate responses and persist application data. Separate product areas provide embeddings and retrieval, image generation, speech, and Spindle extensions. The README documents the broader backend, real-time event bus, authentication, and generation pipeline; the supplied excerpts directly support only selected embedding, retrieval, and extension-storage details, so uncertain internal wiring is omitted.
Main entry points: ChatView.tsx Chat interface · src HTTP backend · client.ts Frontend API · embeddings.service.ts Embedding service
Components 23
User experience
- Application shell
frontend/src/App.tsx - Chat interface
frontend/src/components/chat/ChatView.tsx - Frontend API
frontend/src/api/client.ts - Characters and chats
frontend/src/api/chats.ts - Image generation
frontend/src/components/panels/ImageGenPanel.tsx - Speech input
frontend/src/lib/sttEngine.ts
Backend services
- HTTP backend
src - Authentication
frontend/src/api/auth.ts - LLM generation
src - Realtime events
src - Application data
src
Knowledge and retrieval
- Embedding settings
frontend/src/components/panels/embedding-connections/EmbeddingConnectionManager.tsx - Embedding routes
src/routes/embeddings.routes.ts - Embedding service
src/services/embeddings.service.ts - Databank retrieval
src/services/databank/retrieval.service.ts - Vector store
src/services/vector-store - World books
src/services/world-books.service.ts
Extensions and integrations
- Spindle runtime
src/spindle/worker-host-storage-api.ts - Extensions
frontend/src/components/spindle/SpindleAppMount.tsx
Other components
- User
- LLM provider
- Image provider
- Speech service
Connections 24
- User → Application shell: uses
- Application shell → Chat interface: presents
- Chat interface → Frontend API: requests
- Frontend API → HTTP backend: calls
- HTTP backend → Authentication: authenticates
- HTTP backend → LLM generation: dispatches
- LLM generation → LLM provider: requests completion
- LLM generation → Application data: persists chat
- HTTP backend → Realtime events: publishes
- Chat interface → Characters and chats: loads chat data
- Embedding settings → Frontend API: saves settings
- Frontend API → Embedding routes: calls
- Embedding routes → Embedding service: invokes
- Embedding service → Vector store: searches and writes
- Embedding service → Application data: reads and updates
- Databank retrieval → Embedding service: embeds and searches
- Databank retrieval → Vector store: searches
- Embedding routes → World books: uses
- Chat interface → Image generation: requests images
- Image generation → Image provider: submits generation
- Chat interface → Speech input: captures speech
- Speech input → Speech service: transcribes
- Extensions → Spindle runtime: uses runtime
- Spindle runtime → Application data: accesses extension storage