How caprichooms/capricore works
CapriCore is a Windows AI desktop companion. The main user workflow is to submit a message in the desktop UI, have the chat service handle the conversation using a configured inference provider and optional tools, then display the reply and optionally speak it. Separate capabilities include memory and knowledge, voice, music and call audio, and desktop presence. The README documents these product branches; sampled source supports selected internal dependencies, but the renderer-to-service wiring and several subsystems were not inspected.
Main entry points: chat-service.mjs Chat Service · app.js Desktop UI · voice-service.mjs Voice Service · music-listening-service.mjs Music Detection
Components 18
Conversation
- Chat Service
apps/desktop/chat-service.mjs - Request Router
apps/desktop/request-router.mjs - OpenClaw Gateway
Inference
- API Inference
apps/desktop/inference-api.mjs - Runtime Services
packages/runtime/src/providers/services.mjs - Ollama
Voice and Audio
- Voice Service
apps/desktop/voice-service.mjs - Voice Runtime
integrations/voice_runtime/server.py - Subtitle Controller
apps/desktop/renderer/subtitle-controller.mjs - Music Detection
apps/desktop/music-listening-service.mjs - Music Worker
integrations/music_runtime/worker.py
Tools and Memory
- Transcript Store
apps/desktop/storage.mjs - Desktop Actions
integrations/desktop-actions/service.mjs - File Access
integrations/filesystem/service.mjs - Companion Tools
integrations/companion-tools/index.mjs
Desktop Experience
- Desktop UI
apps/desktop/renderer/app.js - Avatar Catalog
apps/desktop/avatar-catalog.mjs
Other components
- User
Connections 16
- User → Desktop UI: sends message
README.md - Desktop UI → Chat Service: submits turn
- Chat Service → OpenClaw Gateway: uses gateway
README.md - Chat Service → Request Router: routes requests
apps/desktop/chat-service.mjs - Chat Service → API Inference: supports API mode
README.md - Chat Service → Transcript Store: persists conversation
- Runtime Services → Ollama: starts service
packages/runtime/src/providers/services.mjs - Desktop UI → Voice Service: enables voice
- Voice Service → Voice Runtime: requests speech
- Desktop UI → Subtitle Controller: shows speech captions
- Music Detection → Music Worker: uses detector
apps/desktop/music-listening-service.mjs - Desktop UI → Music Detection: enables music reaction
- Chat Service → Desktop Actions: offers desktop tools
README.md - Chat Service → File Access: offers scoped file access
README.md - Chat Service → Companion Tools: offers approved tools
- Desktop UI → Avatar Catalog: displays avatar