How hudson191-max/j.a.r.v.i.s works
J.A.R.V.I.S. is an offline-first Windows voice-assistant shell with optional network-backed model and speech services. Its main interaction captures speech through wake-word or push-to-talk input, transcribes it, processes a conversation and tool calls through Hermes, then synthesizes and plays a spoken reply. Desktop controls, dashboard diagnostics, debug-capture replay, and computer/screen features are supporting branches. Relationships are limited to those shown in excerpts, the source index, or README; some unsampled integrations are left unconnected.
Main entry points: controller.py Conversation controller · main.py App entry · agent.py Hermes agent · tools.py Tool registry
Components 22
Assistant runtime
- App entry
main.py - Conversation controller
src/jarvis/engine/controller.py - Event contracts
src/jarvis/contracts.py
Voice pipeline
- Audio capture
src/jarvis/audio/input.py - Wake detection
src/jarvis/audio/wake.py - Whisper transcription
src/jarvis/transcription/whisper.py - Speech synthesis
src/jarvis/tts/base.py - Audio playback
src/jarvis/audio/playback.py
Hermes intelligence
- Hermes agent
src/jarvis/hermes/agent.py - Model client
src/jarvis/hermes/client.py - Tool registry
src/jarvis/hermes/tools.py - Built-in capabilities
src/jarvis/hermes/builtin_tools.py - Delegated agents
src/jarvis/hermes/delegate_tools.py
Desktop experience
- Assistant capsule
src/jarvis/ui/overlay.py - System tray
src/jarvis/ui/tray.py - Push-to-talk key
src/jarvis/ui/hotkey.py - Dashboard server
src/jarvis/dashboard/server.py
Settings and diagnostics
- Debug captures
src/jarvis/debug.py - Runtime configuration
src/jarvis/config.py - Assistant settings
src/jarvis/platform/assistant_settings.py - Computer and screen
src/jarvis/platform/computer_use.py
Other components
- User
Connections 26
- User → Audio capture: speaks to
- User → Push-to-talk key: presses
- App entry → Conversation controller: starts
main.py - App entry → Assistant capsule: creates
main.py - App entry → System tray: creates
main.py - App entry → Push-to-talk key: configures
main.py - Conversation controller → Audio capture: captures from
src/jarvis/engine/controller.py - Conversation controller → Wake detection: uses
src/jarvis/engine/controller.py - Conversation controller → Whisper transcription: transcribes with
src/jarvis/engine/controller.py - Conversation controller → Hermes agent: processes turns with
- Conversation controller → Speech synthesis: synthesizes replies with
src/jarvis/engine/controller.py - Conversation controller → Audio playback: plays replies through
src/jarvis/engine/controller.py - Hermes agent → Model client: requests model events
- Hermes agent → Tool registry: dispatches tools
- Built-in capabilities → Tool registry: registers capabilities
src/jarvis/hermes/builtin_tools.py - Delegated agents → Tool registry: uses registry
src/jarvis/hermes/delegate_tools.py - Conversation controller → Debug captures: records captures
src/jarvis/engine/controller.py - Dashboard server → Debug captures: lists and replays
src/jarvis/dashboard/server.py - Dashboard server → Hermes agent: replays requests with
src/jarvis/dashboard/server.py - Dashboard server → Speech synthesis: synthesizes preview via
src/jarvis/dashboard/server.py - Conversation controller → Computer and screen: uses computer control
src/jarvis/engine/controller.py - Conversation controller → Assistant settings: configures session features
src/jarvis/engine/controller.py - Assistant settings → Tool registry: registers settings tools
src/jarvis/platform/assistant_settings.py - Conversation controller → Assistant capsule: emits assistant state
- Runtime configuration → Conversation controller: configures runtime
src/jarvis/engine/controller.py - Event contracts → Whisper transcription: defines transcript type
src/jarvis/transcription/whisper.py