How flowshift-in/iris-ai works
IRIS is a voice-first desktop assistant; its README describes a voice-to-action loop through live AI, agent orchestration and protected tools. The public source shown here primarily implements the Electron shell and dashboard, not that private execution engine. The graph connects only relationships visible in excerpts or documented in the README; unsampled IPC receivers and core orchestration are not presented as inspected code.
Main entry points: IRIS.tsx Dashboard shell · Dashboard.tsx Command dashboard · preload/index.ts Preload bridge · main/index.ts Electron window
Components 22
Desktop shell
- Electron window
src/main/index.ts - Preload bridge
src/preload/index.ts - System app lookup
src/renderer/src/services/system-info.ts
Assistant interface
- Renderer entry
src/renderer/src/main.tsx - App root
src/renderer/src/App.tsx - Assistant root
src/renderer/src/IRISRoot.tsx - Window controls
src/renderer/src/components/Titlebar.tsx - Dashboard shell
src/renderer/src/UI/IRIS.tsx
Workspace features
- Command dashboard
src/renderer/src/views/Dashboard.tsx - Dashboard panels
src/renderer/src/components/UI/LeftPanels.tsx - AI visualization
src/renderer/src/components/UI/AICoreSphere.tsx - Right panel
src/renderer/src/components/UI/RightPanel.tsx - App catalog
src/renderer/src/views/APP.tsx - Notes
src/renderer/src/views/Notes.tsx - Media gallery
src/renderer/src/views/Gallery.tsx - Phone bridge UI
src/renderer/src/views/Phone.tsx - Settings
src/renderer/src/views/Settings.tsx
Voice execution
- Gemini Live API
- Agent orchestration
- Protected tools
- Desktop actions
Other components
- User
Connections 24
- User → Electron window: opens
src/main/index.ts - Electron window → Preload bridge: loads
src/main/index.ts - Electron window → Renderer entry: loads
src/main/index.ts - Renderer entry → App root: renders
src/renderer/src/main.tsx - App root → Assistant root: renders
src/renderer/src/App.tsx - Assistant root → Window controls: renders
src/renderer/src/IRISRoot.tsx - Assistant root → Dashboard shell: renders
src/renderer/src/IRISRoot.tsx - Dashboard shell → Command dashboard: renders
src/renderer/src/UI/IRIS.tsx - Dashboard shell → Notes: loads
src/renderer/src/UI/IRIS.tsx - Dashboard shell → Media gallery: loads
src/renderer/src/UI/IRIS.tsx - Dashboard shell → Phone bridge UI: renders
src/renderer/src/UI/IRIS.tsx - Dashboard shell → Settings: renders
src/renderer/src/UI/IRIS.tsx - Command dashboard → Dashboard panels: renders
src/renderer/src/views/Dashboard.tsx - Command dashboard → AI visualization: renders
src/renderer/src/views/Dashboard.tsx - Command dashboard → Right panel: renders
src/renderer/src/views/Dashboard.tsx - App catalog → System app lookup: lists apps
src/renderer/src/views/APP.tsx - App catalog → Preload bridge: invokes IPC
src/renderer/src/views/APP.tsx - Notes → Preload bridge: invokes IPC
src/renderer/src/views/Notes.tsx - Phone bridge UI → Preload bridge: invokes IPC
src/renderer/src/views/Phone.tsx - User → Gemini Live API: speaks
README.md - Gemini Live API → Agent orchestration: recognizes intent
README.md - Agent orchestration → Protected tools: selects tools
README.md - Protected tools → Desktop actions: executes actions
README.md - Desktop actions → User: streams results
README.md