How amurgola/lumabrowser works
LumaBrowser is a local-first AI desktop browser combining web browsing, model-powered chat and agents, media generation, and automation. A principal workflow is a user asking a chat agent to research the web: the desktop chat entry routes the request through unified chat, which can use browser tools to read pages and return an answer. The README also describes model setup, media services, computer use, sharing, and extensions as major product branches. Some subsystem links are documented only at product level; unsampled implementation details are not inferred.
Main entry points: UnifiedChatRouter.js Unified Chat · BrowserMcpTools.js Browser Automation · LlmServerIpcHandlers.js Chat Entry · BrowserService.js Browser Tabs
Components 23
Browser Experience
- Browser Tabs
core/browser/BrowserService.js - Browser Automation
core/browser/BrowserMcpTools.js - Browser Extensions
core/chrome-extensions/ChromeExtensionService.js - Live Dashboard
core/dashboard/DashboardService.js
Chat And Models
- Chat Entry
core/llm-server/LlmServerIpcHandlers.js - Unified Chat
core/llm-server/chat/UnifiedChatRouter.js - LLM Service
core/llm-service/LLMService.js - Model Queue
core/llm-service/LLMQueueManager.js - Document Knowledge
core/rag/RagService.js - Named Agents
extensions/agent-manager/routes.js - Knowledge Import
core/rag/RagIpcHandlers.js
Media Services
- Image And Video
core/image-server/ImageServerService.js - Music Generation
core/music-server/MusicServerService.js - Speech Services
core/tts-server/TtsEngineRegistry.js - Speech To Text
core/whisper-server/service/WhisperInferenceClient.js
Automation And Sharing
- Desktop Control
core/desktop/DesktopService.js - Triggers And Tasks
app/services/TriggerServices.js - Device Sharing
core/network-sharing/host/routes/LlmRoutes.js - External MCP
extensions/mcp-connector/McpClientManager.js
Desktop Platform
- Extension Runtime
core/shell/ExtensionManager.js - Application Data
core/database/DatabaseService.js - Terminal Agent
cli/lib/AgentCli.js
Other components
- User
Connections 21
- User → Chat Entry: asks
- Chat Entry → Unified Chat: routes chat
core/llm-server/LlmServerIpcHandlers.js - Unified Chat → Browser Automation: uses browser tools
- Browser Automation → Browser Tabs: drives tabs
- Unified Chat → LLM Service: requests model
- Unified Chat → Document Knowledge: retrieves documents
- Knowledge Import → Document Knowledge: ingests documents
core/rag/RagIpcHandlers.js - Named Agents → Unified Chat: provides agents
- User → Browser Tabs: browses
- User → Image And Video: generates media
- User → Music Generation: generates music
- User → Speech Services: generates speech
- User → Speech To Text: transcribes speech
- User → Desktop Control: requests computer use
- User → Triggers And Tasks: configures automation
- User → Device Sharing: shares services
- User → External MCP: connects servers
- User → Browser Extensions: installs extensions
- User → Live Dashboard: opens dashboard
- User → Terminal Agent: runs terminal agent
- Extension Runtime → Browser Extensions: activates extensions
core/shell/ExtensionManager.js