How onepunchman411/jarvis works
JARVIS is a Windows voice assistant that accepts spoken or typed requests, routes AI responses and tool calls, and can speak back or perform desktop and browser actions. The map highlights that request-to-action workflow plus voice, plugins, MCP, and the local API. Source excerpts establish several internal calls; other links are included only where documented in the README. The web UI’s bridge to the Python runtime is not established by the sampled files.
Main entry points: app.py Assistant runtime · voice_manager.py Voice manager · tools.py Tool registry · advanced_chat_window.py Desktop chat UI
Components 25
User interaction
- Desktop chat UI
jarvis/ui/advanced_chat_window.py - Voice manager
jarvis/voice/voice_manager.py - Speech recognition
jarvis/voice/stt.py - Voice activity detection
jarvis/voice/vad.py - Speech output
jarvis/voice/tts.py
AI and tools
- Assistant runtime
jarvis/app.py - Prompt engine
jarvis/brain/prompt_engine.py - Provider routing
jarvis/brain/router.py - AI providers
jarvis/brain/provider.py - Tool registry
jarvis/brain/tools.py - Workflow execution
jarvis/brain/workflow_engine.py - Conversation memory
jarvis/brain/memory.py
Desktop control
- Desktop tools
jarvis/control/accessibility.py - Browser automation
jarvis/control/browser.py
Integrations
- Plugin system
jarvis/plugins/manager.py - Plugin contract
jarvis/plugins/base.py - MCP registry
jarvis/mcp/registry.py - MCP client
jarvis/mcp/client.py
Runtime interfaces
- Web UI
jarvis/webui/src/App.jsx - Web UI state
jarvis/webui/src/store.jsx - Web UI bridge
jarvis/webui/src/bridge.js - Local HTTP API
jarvis/api/local_server.py
Other components
- User
- External AI services
- MCP servers
Connections 23
- User → Desktop chat UI: sends chat
- User → Voice manager: speaks to
- Desktop chat UI → Assistant runtime: submits requests
jarvis/app.py - Voice manager → Speech recognition: transcribes speech
jarvis/voice/voice_manager.py - Voice manager → Voice activity detection: gates speech
jarvis/voice/voice_manager.py - Assistant runtime → Voice manager: coordinates voice
jarvis/app.py - Assistant runtime → Prompt engine: builds prompts
jarvis/app.py - Assistant runtime → Provider routing: refreshes routing
jarvis/app.py - Assistant runtime → Tool registry: dispatches tools
jarvis/brain/tools.py - Assistant runtime → Conversation memory: uses memory
jarvis/app.py - Provider routing → AI providers: selects provider
- AI providers → External AI services: requests inference
- Assistant runtime → Speech output: speaks responses
- Tool registry → Desktop tools: uses accessibility
jarvis/brain/tools.py - Tool registry → Browser automation: invokes browser tools
jarvis/brain/tools.py - Assistant runtime → Workflow execution: runs workflows
- Plugin system → Plugin contract: implements contract
jarvis/plugins/manager.py - MCP registry → MCP client: manages clients
jarvis/mcp/registry.py - MCP client → MCP servers: calls tools
jarvis/mcp/client.py - Web UI → Web UI state: reads state
jarvis/webui/src/App.jsx - Web UI state → Web UI bridge: initializes bridge
jarvis/webui/src/store.jsx - User → Local HTTP API: sends HTTP requests
- Local HTTP API → Assistant runtime: routes requests
jarvis/api/local_server.py