How firestar3/olanga-desktop-agent works
Olanga is a Windows desktop voice-and-text assistant. A request enters through the Electron interface, is handled locally when it matches a fast intent or interpreted with Gemini, then dispatches supported desktop, media, timer, or task actions before a reply is presented. Screen-edit workflows add capture, scoped planning, approval, execution, and visible-result review. The README documents Notes, News, Terminal, settings, and the corner status orb as additional capabilities. Source excerpts are partial, so uncertain internal wiring is omitted.
Main entry points: assistant.js Conversation and routing · main.js Electron main process · core.js UI controller · tts.js Speech output
Components 27
Assistant interaction
- Assistant window
index.html - UI controller
js/core.js - Voice input
js/voice.js - Conversation and routing
js/assistant.js - Fast intents
shared/fast-intents.js - Gemini request builder
shared/gemini-request.js - Speech output
js/tts.js
Desktop actions
- Timers and checklist
js/timers-tasks.js - Desktop task workspace
js/desktop-workflows.js - Plan validation
shared/action-plan.js - Desktop automation
desktop/automation.js - Windows input helper
desktop/input-helper.ps1 - Spotify and volume
desktop/media-controller.js - Windows media helper
desktop/media-helper.ps1
Panels and settings
- Notepad panel
js/notepad.js - News panel
js/news.js - Terminal panel
js/terminal.js - Settings
js/settings.js
Electron platform
- Status orb controller
desktop/status-overlay.js - Status orb interface
status-indicator.js - Electron main process
main.js - Main window bridge
preload.js
Other components
- User
- Gemini service
- Spotify app
- Windows desktop
- NVIDIA Magpie
Connections 31
- User → Assistant window: types request
- User → Voice input: speaks request
- Assistant window → UI controller: provides interface
- Voice input → Conversation and routing: transcribes input
- UI controller → Conversation and routing: submits request
- Conversation and routing → Fast intents: matches locally
- Conversation and routing → Gemini request builder: builds request
- Gemini request builder → Gemini service: formats for
- Conversation and routing → Timers and checklist: updates timers/tasks
- Conversation and routing → Spotify and volume: requests media action
- Conversation and routing → Desktop task workspace: starts screen task
- Desktop task workspace → Electron main process: requests capture/run
- Desktop task workspace → Plan validation: validates proposed plan
- Electron main process → Desktop automation: dispatches desktop work
- Desktop automation → Plan validation: validates plan
- Desktop automation → Windows input helper: sends input commands
- Spotify and volume → Windows media helper: sends media request
- Windows media helper → Spotify app: controls playback
- Windows media helper → Windows desktop: controls volume
- Conversation and routing → Notepad panel: uses notes panel
- Conversation and routing → News panel: requests briefing
- User → Terminal panel: uses panel
- User → Settings: configures assistant
- Electron main process → Status orb controller: creates overlay
- Status orb controller → Status orb interface: sends snapshots
- Status orb interface → Status orb controller: dispatches shortcuts
- UI controller → Main window bridge: uses bridge
- Main window bridge → Electron main process: sends IPC
- Conversation and routing → Speech output: speaks response
- Speech output → NVIDIA Magpie: synthesizes optionally
- Speech output → Windows desktop: uses Windows voice