How sinhs0301-prog/kimbiseo works
KimBiseo is a local Windows voice assistant with a desktop character pet. The main workflow runs from the conversation UI or microphone through a session that handles speech recognition, turn-taking, memory and tools, then selects a brain and speaks a response; pet signals accompany the conversation. Settings, onboarding, system information and signed updates are separate product capabilities. Relationships for unsampled modules are included only where the README or source index documents them; dashed edges indicate unverified links.
Main entry points: session.py Conversation session · main.py Local app server · brain.py Brain backends · voice Voice servers
Components 28
Conversation
- Conversation UI
app/ui/app.js - Local app server
app/main.py - Conversation session
app/core/session.py - Turn handling
app/core/turns.py - Conversation memory
app/core/memory.py
Brain and tools
- Brain backends
app/core/brain.py - CLI brains
app/core/cli_brain.py - CLI detection
app/core/cli_detect.py - Tool registry
app/tools/registry.py - Basic tool handlers
app/tools/basic/handlers.py
Voice
- Speech recognition
app/core/stt.py - Speech synthesis
app/core/tts.py - Voice service link
app/core/voice_link.py - Voice servers
voice
Desktop pet
- Pet signal adapter
app/pet_link/face.py - Pet application
pet/main.js - Pet HTTP server
pet/server.js - Pet renderer
pet/renderer/real.js
Settings and updates
- Settings API
app/core/settings_api.py - Configuration
app/core/config.py - Setup wizard
app/ui/wizard.js - Update manager
app/core/update.py - Update worker
installer/updater.py
Other components
- User
- Claude and Codex
- AI services
- Microphone
- Speakers
Connections 28
- User → Conversation UI: enters requests
- Conversation UI → Local app server: connects via WebRTC
app/main.py - Local app server → Conversation session: starts session
app/main.py - Microphone → Conversation session: sends audio
- Conversation session → Turn handling: handles turns
app/core/session.py - Conversation session → Speech recognition: uses recognition
app/core/session.py - Conversation session → Brain backends: creates brain
app/core/session.py - Conversation session → Conversation memory: loads and saves
app/core/session.py - Conversation session → Tool registry: registers tools
app/core/session.py - Conversation session → Speech synthesis: uses synthesis
app/core/session.py - Conversation session → Voice service link: links voice service
- Speech recognition → Voice servers: uses speech service
- Speech synthesis → Voice servers: uses speech service
- Voice servers → Speakers: outputs speech
- Brain backends → CLI brains: dispatches CLI mode
app/core/brain.py - CLI brains → Claude and Codex: invokes local CLI
app/core/cli_brain.py - Brain backends → AI services: sends requests
- Tool registry → Basic tool handlers: loads handlers
app/tools/registry.py - Local app server → Settings API: serves settings
app/main.py - Settings API → Configuration: reads and saves
app/core/settings_api.py - Setup wizard → Local app server: configures assistant
- Local app server → Update manager: exposes updates
app/main.py - Update manager → Update worker: starts update worker
app/core/update.py - Conversation session → Pet signal adapter: sends conversation events
- Local app server → Pet signal adapter: sends pet commands
app/main.py - Pet signal adapter → Pet HTTP server: posts signals
app/pet_link/face.py - Pet application → Pet HTTP server: starts server
pet/main.js - Pet application → Pet renderer: displays character