Skip to content
/ VYOM Public

VYOM (Virtual Yet Omnipotent Machine) is a futuristic AI-powered personal assistant , inspired by J.A.R.V.I.S. from Iron Man. Designed to simplify your digital life, VYOM uses advanced language models and browser automation to handle complex tasks with simple voice or text commands.

License

Notifications You must be signed in to change notification settings

Th-Shivam/VYOM

🤖 VYOM – Virtual Yet Omnipotent Machine

VYOM Banner

Python Version MIT License Contributions Welcome SWOC'26

🚀 A Futuristic AI-Powered Personal Assistant Inspired by J.A.R.V.I.S.


🏗️ Technical Architecture

VYOM is built on a Modular Multi-Threaded Architecture. Unlike linear assistants, VYOM decouples peripheral I/O (Voice/Listen) from core logic (NLP/Action) to prevent UI freezing and ensure real-time responsiveness.

System Flow & Data Lifecycle

The following diagram illustrates how a voice command propagates through the modular layers:

graph TD
    subgraph Input_Layer [Perception]
        A[🎤 Voice Input] -->|PyAudio / SpeechRecognition| B(Audio Stream)
        B -->|Whisper / Google API| C{Speech-to-Text}
    end

    subgraph Brain_Layer [Processing]
        C -->|Raw Text| D[🧠 NLP Engine]
        D -->|Intent Extraction| E{Action Router}
    end

    subgraph Execution_Layer [Action]
        E -->|System Cmd| F[OS Controller]
        E -->|Web Query| G[Browser Automation]
        E -->|API Call| H[Weather/IoT/News]
    end

    subgraph Output_Layer [Feedback]
        F & G & H --> I[🗣️ TTS Engine]
        I --> J[🔊 Speaker Output]
    end
Loading

🧠 Multi-Threading Logic

To maintain the "Always Listening" capability while executing heavy AI tasks, VYOM utilizes Python's threading and asyncio modules:

  • Thread 1 (Listener): Continuously monitors the microphone for the wake word.
  • Thread 2 (Processor): Handles API calls to Groq/Cohere without blocking the listener.
  • Thread 3 (Executor): Manages OS-level tasks and GUI updates.

📂 Project Structure

For SWOC contributors, please refer to this modular map before submitting PRs:

VYOM/
├── core/
│   ├── engine.py      # Main loop & multi-threading orchestration
│   ├── listener.py    # Voice capture & STT logic
│   └── speaker.py     # TTS implementation
├── modules/           # Modular skills (Add new features here)
│   ├── system_ops.py  # File handling & OS controls
│   └── web_search.py  # Playwright/Selenium automation
├── docs/              # Detailed technical documentation
├── data/              # Model weights, logs, and user configurations
└── main.py            # Entry point for the application

🛠️ Installation & Setup

Prerequisites

  • Python 3.13+
  • FFmpeg (Required for audio processing)
  • C++ Build Tools (Required for PyAudio on Windows)

🐧 Linux/Mac Setup (Audio Dependencies) Most setup errors occur due to missing audio driver headers. Run the following before pip install:

  • For Ubuntu/Debian:
sudo apt-get update
sudo apt-get install python3-pyaudio portaudio19-dev libasound2-dev espeak
  • For macOS:
brew install portaudio
pip install pyaudio

📦 Standard Installation

1. Clone & Environment

git clone [https://github.com/th-shivam/vyom.git](https://github.com/th-shivam/vyom.git) && cd vyom
python -m venv .venv
source .venv/bin/activate  # Mac/Linux
# .venv\Scripts\activate   # Windows

2. Install & Run

pip install -r requirements.txt
python main.py

🤝 Contributing

We are proud to be an official part of Social Winter of Code (SWOC) 2026! 🚀

We welcome contributors of all skill levels. To ensure a smooth collaboration, please identify your path:

  • 🌱 Beginners: Look for issues labeled good-first-issue and documentation. Perfect for your first PR!
  • 🛠️ Advanced: Check for modular-enhancement and threading-optimization to work on the core engine.

🛣️ Quick Workflow

  1. Fork the repository and create your branch.
  2. Follow the PEP 8 style guide for Python code.
  3. Ensure your module is placed in the correct directory (see Project Structure).
  4. Open a PR with a clear description of your changes.

📋 Full Contributing Guide | 🏗️ Architecture Deep Dive


📄 License

This project is licensed under the MIT License. You are free to use, modify, and distribute this software, provided the original copyright and license notice are included.

TL;DR: Open-source, permissive, and community-friendly.

See the LICENSE file for the full legal text.


If you find VYOM helpful, don't forget to give it a ⭐!

VYOM v2.0 • Built with 🐍 Python • Focused on 🏗️ Modular Architecture

⬆ Back to Top

About

VYOM (Virtual Yet Omnipotent Machine) is a futuristic AI-powered personal assistant , inspired by J.A.R.V.I.S. from Iron Man. Designed to simplify your digital life, VYOM uses advanced language models and browser automation to handle complex tasks with simple voice or text commands.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 11

Languages