How slimeboyowo/lingchat works
LingChat is a desktop AI companion that combines free-form character chat with a visual, voice-enabled interface, a script-driven multi-character game, and productivity features. The principal workflow is user chat through the application to AI response generation, with conversation and memory state persisted per save. The graph also preserves the documented script, emotion, vision/proactive, voice, and scheduling capabilities. Several feature links are documented but their implementation paths were not sampled, so those nodes use supported directory paths and unverified links are dashed.
Main entry points: role_manager.rs Role manager · App.vue Application shell · CompanionMode.vue Chat and pet views · proactive_system Proactive companion
Components 20
Companion interface
- Application shell
src/App.vue - Chat and pet views
src/components/views/CompanionMode.vue
AI conversation
- Chat commands
src-tauri/src/api/chat.rs - Role manager
src-tauri/src/ai_service/game_system/role_manager.rs - LLM providers
src-tauri/src/ai_service/llm - Memory builder
src-tauri/src/ai_service/game_system/memory_builder.rs - Persistent memory
src-tauri/src/ai_service/game_system/persistent_memory_system.rs - Emotion recognition
src-tauri/src/ai_service/emotion - Screen awareness
src-tauri/src/ai_service/screen_analyzer.rs - Proactive companion
src-tauri/src/ai_service/proactive_system - Speech synthesis
src-tauri/src/ai_service/tts
Story and interaction
- Script engine
src-tauri/src/ai_service/game_system/script_engine/script_manager.rs - Script event queue
src/core/events/event-queue.ts - Script editor
src/components/views/ScriptEditor.vue - Schedules and todos
src-tauri/src/ai_service/proactive_system/schedule_manager.rs
Persistence and services
- Conversation records
src-tauri/src/db/entities/line.rs - Memory repository
src-tauri/src/db/managers/memory_repo.rs - Role import and export
src-tauri/src/api/role_archive - LAN synchronization
src-tauri/src/lan_sync/sync_engine.rs
Other components
- User
Connections 21
- User → Application shell: uses
- Application shell → Chat and pet views: routes to
- Chat and pet views → Chat commands: submits chat
- Chat commands → Role manager: dispatches chat
- Role manager → LLM providers: requests generation
src-tauri/src/ai_service/game_system/role_manager.rs - Role manager → Memory builder: builds context
src-tauri/src/ai_service/game_system/role_manager.rs - Role manager → Persistent memory: uses memory
src-tauri/src/ai_service/game_system/role_manager.rs - Memory builder → Conversation records: reads dialogue
src-tauri/src/ai_service/game_system/memory_builder.rs - Persistent memory → Memory repository: stores memory
- Role manager → Conversation records: records dialogue
src-tauri/src/ai_service/game_system/role_manager.rs - Application shell → Script editor: routes to
- Script editor → Script engine: edits scripts
- Script engine → Script event queue: emits story events
- Script event queue → Chat and pet views: queues events
- Role manager → Emotion recognition: assesses replies
- Role manager → Screen awareness: uses screen context
- Proactive companion → Screen awareness: observes activity
- Proactive companion → Schedules and todos: uses schedules
- Role manager → Speech synthesis: generates speech
src-tauri/src/ai_service/game_system/role_manager.rs - User → Role import and export: imports characters
- User → LAN synchronization: syncs devices