How hzaid01/jarvis works
JARVIS is a Windows desktop AI assistant: the user chats or speaks through its React HUD, the AI hook selects a provider and streams a response, and parsed tool requests are dispatched through Electron for search or PC actions. Memory supplies session context; separate monitoring and voice paths provide system metrics and speech input/output. The README documents Whisper/Piper voice, search, and automation capabilities, while sampled code confirms only parts of their wiring; those links are shown only where supported. The sampled search implementation calls Tavily, despite the README naming Brave.
Main entry points: main.js Electron main · App.jsx HUD app · useAI.js AI orchestration · preload.js IPC bridge
Components 26
HUD interface
- React entry
src/main.jsx - HUD app
src/App.jsx - Chat UI
src/components/ChatCore.jsx - Settings
src/components/Settings.jsx - Stats display
src/components/SystemStats.jsx - Memory panel
src/components/MemoryPanel.jsx
AI conversation
- AI orchestration
src/hooks/useAI.js - Tool parser
src/utils/toolParser.js - Provider registry
src/providers/registry.js - Ollama provider
src/providers/ollama.js - Cloud providers
src/providers
Desktop capabilities
- Electron main
electron/main.js - IPC bridge
electron/preload.js - Web search
electron/main.js - PC control
electron/main.js
Persistent memory
- Memory service
electron/memoryService.js - SQLite memory
- Memory ranking
electron/memorySearch.js
Voice and monitoring
- Voice processing
voice_server.py - Whisper bridge
whisper_bridge.py - Piper engine
piper_windows_amd64/piper - Stats worker
electron/workers/statsWorker.js
Other components
- User
- Ollama service
- Search API
- System metrics
Connections 31
- User → React entry: uses
- React entry → HUD app: mounts
- HUD app → Chat UI: renders
- HUD app → Settings: renders
- HUD app → Stats display: renders
- HUD app → Memory panel: renders
- Chat UI → AI orchestration: submits messages
- Settings → AI orchestration: configures provider
- AI orchestration → Tool parser: parses tool calls
- AI orchestration → Provider registry: creates provider
- Provider registry → Ollama provider: selects
- Provider registry → Cloud providers: selects
- Ollama provider → Ollama service: streams requests
- Cloud providers → Ollama service: uses configured APIs
- AI orchestration → IPC bridge: dispatches tools
- IPC bridge → Electron main: forwards IPC
- Electron main → Web search: invokes
- Electron main → PC control: invokes
- Web search → Search API: queries
- Electron main → Memory service: handles memory IPC
- Memory service → SQLite memory: reads and writes
- Memory service → Memory ranking: ranks observations
- Electron main → Stats worker: starts worker
- Stats worker → System metrics: polls metrics
- Electron main → IPC bridge: sends stats and voice events
- Whisper bridge → Voice processing: voice processing
- Voice processing → Piper engine: generates speech
- Electron main → Whisper bridge: starts voice bridge
- Chat UI → Voice processing: plays generated audio
- Stats display → IPC bridge: receives stats
- Memory panel → IPC bridge: requests memory