How dawoodtouseef/j.ar.v.i.s. works
Purpose and launch surfaces
This is a Windows-oriented Python desktop automation assistant (“JARVIS”) supporting voice, text, camera, screenshot, and system-status interactions. Primary launch paths are the desktop application (main.py, jarvis.py, run_jarvis.bat), with selectable GPT All Star coding and Open Interpreter modes. The UI is a PyQt-based desktop client rooted in gui/AssistantGUI.py and gui/Home.py.
Desktop interaction and background workers
The GUI coordinates user-facing screens, terminal access, settings, login, and integrations. Background objects handle agent execution, alerts, speech recognition, TTS, wake-word activation, and consciousness/monitoring behavior. Key boundaries:
• Presentation/workers: gui/AssistantGUI.py, gui/Objects/AgentWorker.py, gui/Objects/SpeechRecognition.py
• Voice lifecycle: gui/Objects/wakeword.py, gui/Objects/TTSWorker.py
• Embedded terminal subsystem: gui/terminal/terminal_manager.py, gui/terminal/virtual_filesystem.py
Assistant brain, agent routing, and memory
The core assistant layer turns requests and sensed context into delegated agent work. It defines conversational, planning, proactive, security, financial, Gmail, vision, and personal-assistant roles; shared agent state provides the control/data boundary between orchestration and specialized actions. Persistent conversational memory is isolated under core/memory/.
• Orchestration: core/brain.py, core/agents/state.py
• Agent roles: core/agents/ConversationalAgent.py, core/agents/planner_agent.py, core/agents/vision_agents.py
• Persistence: core/memory/memory_agent.py
Automation, sensing, and external capabilities
Tools encapsulate OS-facing and external integrations: system health/sensors, scheduling, routing, web/news access, calculator/charting, home automation, software management, and stop control. This creates a practical boundary: agents decide intent; tools perform side effects and return observations.
• Tool catalog and routing: core/tools/router.py, core/tools/standard_tools.py
• Monitoring and proactive signals: core/tools/health_monitor.py, core/tools/sensors.py, core/tools/consciousness.py
• Automation integrations: core/tools/scheduler.py, core/tools/home_assistant_tool.py, core/tools/news_scraper.py
Computer-use interpreter runtime
The bundled Open Interpreter-style runtime offers an LLM-driven tool loop for desktop control. Its core resolves LLM responses/tool calls, then invokes browser, filesystem, terminal, display, keyboard, mouse, clipboard, contacts, calendar, mail, and vision adapters. It can be used independently through a terminal interface.
• Control loop and LLM dispatch: interpreter/core/core.py, interpreter/core/llm/llm.py, interpreter/computer_use/loop.py
• Computer abstraction: interpreter/core/computer/computer.py, interpreter/core/computer/terminal/terminal.py
• CLI/profiles: interpreter/terminal_interface/terminal_interface.py, interpreter/terminal_interface/profiles/profiles.py
GPT All Star coding pipeline
A separate multi-agent software-delivery workflow converts a coding request into staged specification, system/UI design, development, QA, healing, execution, and deployment. Role-specific agents collaborate through chains/team state; tools enable files, shell commands, and document/index retrieval. components/coder/ and components/gpt_all_star/ are near-parallel implementations and should be treated as duplicated architectural surfaces unless consolidated.
• Entrypoints/orchestration: components/coder/main.py, components/coder/core/gpt_all_star.py
• Roles and collaboration: components/coder/core/agents/agents.py, components/coder/core/team.py
• Pipeline stages: components/coder/core/steps/steps.py, components/coder/core/steps/development/development.py, components/coder/core/steps/quality_assurance/quality_assurance.py
• Execution boundary: components/coder/core/execution/execution.py, components/coder/core/tools/shell_tool.py
Infrastructure and persistence
The application is Python 3.12+ and Windows 10/11-focused, using PyQt5 and OpenCV per project documentation. Audio providers include OpenAI and local Whisper STT plus multiple TTS implementations. The integration layer contains database models and Alembic migrations, indicating persisted users, preferences, command history, contacts, agents, tools, sensors, and environment variables.
• Audio provider boundary: jarvis_integration/audio/stt_providers/openai.py, jarvis_integration/audio/tts_providers/BaseTTS.py
• Data models/database: jarvis_integration/internals/db.py, jarvis_integration/models/command_history.py
• Schema evolution: alembic.ini, migrations/env.py
Main entry points: brain.py Assistant brain · AssistantGUI.py PyQt assistant UI · main.py Desktop launchers · SpeechRecognition.py Speech input
Components 24
Desktop client
- Desktop launchers · Windows launch surfaces and mode selection.
main.py - PyQt assistant UI
gui/AssistantGUI.py - Agent worker
gui/Objects/AgentWorker.py - Speech input · Recognition and wake-word activation.
gui/Objects/SpeechRecognition.py - Speech output
gui/Objects/TTSWorker.py - Embedded terminal · Virtual filesystem-backed terminal access.
gui/terminal/terminal_manager.py
Assistant core
- Assistant brain · Routes requests and sensed context to roles and tools.
core/brain.py - Shared agent state
core/agents/state.py - Specialist agents · Conversational, planning, vision, and domain agents.
core/agents/ConversationalAgent.py - Conversation memory
core/memory/memory_agent.py - Tool router
core/tools/router.py - Monitoring signals · Health, sensor, and consciousness signals.
core/tools/health_monitor.py - Automation integrations · Scheduling, home automation, news, and OS capabilities.
core/tools/scheduler.py
Computer-use runtime
- Interpreter control loop
interpreter/core/core.py - Computer adapters · Terminal, display, input, filesystem, browser, and vision adapters.
interpreter/core/computer/computer.py - Interpreter CLI
interpreter/terminal_interface/terminal_interface.py
Coding pipeline
- GPT All Star orchestrator
components/coder/core/gpt_all_star.py - Coding agent team · Role collaboration and shared team state.
components/coder/core/team.py - Delivery stages · Specification through development, QA, healing, and deployment.
components/coder/core/steps/steps.py - Code execution · Runs shell and file operations.
components/coder/core/execution/execution.py - Parallel GPT All Star surface · components/gpt_all_star mirrors the coder workflow surface.
Integration platform
- Audio providers · OpenAI/local STT and multiple TTS implementations.
jarvis_integration/audio/stt_providers/openai.py - Application database · Users, preferences, history, contacts, agents, tools, and sensors.
jarvis_integration/internals/db.py - Schema migrations
migrations/env.py
Connections 26
- Desktop launchers → PyQt assistant UI: starts
- PyQt assistant UI → Agent worker: submits requests
- PyQt assistant UI → Speech input: controls
- PyQt assistant UI → Speech output: controls
- PyQt assistant UI → Embedded terminal: hosts
- Speech input → Agent worker: voice requests
- Agent worker → Assistant brain: invokes
- Assistant brain → Shared agent state: reads and updates
- Assistant brain → Specialist agents: delegates
- Assistant brain → Conversation memory: retrieves and stores
- Assistant brain → Tool router: selects capabilities
- Monitoring signals → Assistant brain: proactive context
- Tool router → Automation integrations: performs side effects
- Speech output → Audio providers: synthesizes through
- Speech input → Audio providers: transcribes through
- Assistant brain → Application database: persists application data
- Schema migrations → Application database: evolves schema
- Interpreter CLI → Interpreter control loop: runs
- Interpreter control loop → Computer adapters: executes tool calls
- Embedded terminal → Interpreter CLI: can launch
- GPT All Star orchestrator → Coding agent team: coordinates
- Coding agent team → Delivery stages: drives
- Delivery stages → Code execution: hands off execution
- Parallel GPT All Star surface → GPT All Star orchestrator: parallel surface
- Desktop launchers → GPT All Star orchestrator: selectable mode
- Desktop launchers → Interpreter CLI: selectable mode