A sci-fi "Jarvis" for your desktop — one that listens, sees, remembers, and actually controls your machine.
Features • Quick Start • Architecture • Auth System • Contributing
Most "AI assistants" are chatbots wearing a nice UI. Atlas is not that.
It's a locally-run Python assistant that sits inside your operating system — not beside it. Ask it to open an app, mute your volume, describe what's on your screen, or just vent about your day, and it responds with zero-latency voice, real system telemetry, and a memory that persists across sessions. Built with a holographic "Astra" aesthetic, Atlas feels less like software and more like a presence on your desktop.
If you've ever wanted your PC to feel like it's listening — this is that project.
| Category | What It Does |
|---|---|
| 🖥️ OS Control | Open/close apps, manage windows & tabs, adjust volume/brightness — all via natural language |
| 🧠 Cognitive Brain | Emotion detection, persistent cross-session memory, and pattern learning that adapts to you |
| 🎙️ Zero-Latency Voice | Local Windows SAPI/PowerShell TTS for instant replies + ambient noise calibration so it hears you properly |
| 👁️ Vision | Webcam-based environment analysis and screen reading — Atlas can see what you see |
| 📊 Live Sci-Fi Dashboard | Frameless PyQt5 HUD with real-time CPU/RAM/Disk telemetry and holographic feedback |
📖 Want the full breakdown, module-by-module? See FEATURES.md.
- Python 3.10+
- Windows (for native TTS/SAPI support)
- A free Groq API key
git clone https://github.com/codewith-aditya/Atlas-Ai.git
cd Atlas-Aipip install -r requirements.txt# Rename and edit the env file with your Groq key
cp .env.example .env
# Add your OpenWeatherMap key
cd materials/
cp weather_api_key.txt.example weather_api_key.txtpython main.py💡 First launch: The GUI will prompt for a subscription key. This is the open-source release — use
atlas-lifetime-masterto unlock full access. See the authentication section below for how this works under the hood.
Atlas isn't one script — it's a modular nervous system where each file has a clear job:
Atlas-Ai/
├── main.py # 🧠 Nervous System — boot, GUI init, threading, query routing
├── automation.py # 🦾 The Hands — OS ops via psutil, pyautogui, subprocess
├── Ai.py # 💭 The Brain — emotion detection, TF-IDF contextual memory
├── conversational_ai.py # 🗣️ The Voice — Groq/LLM connection, persona enforcement
├── listening.py # 👂 The Ears — ambient-aware microphone input
├── speech_windows.py # 🔊 The Mouth — zero-latency Windows SAPI output
└── Gui.py # 👤 The Face — frameless sci-fi HUD, live telemetry
| Module | Role | Key Libraries |
|---|---|---|
main.py |
Boots the app, wires up threads, routes every query to the right module | PyQt5, threading |
automation.py |
Turns LLM intent into real OS actions | psutil, pyautogui, subprocess |
Ai.py |
Detects emotion, injects empathy, recalls relevant memory | scikit-learn (TF-IDF) |
conversational_ai.py |
Talks to Groq, keeps Atlas in-character | groq |
listening.py |
Calibrates to ambient noise, captures speech | speech_recognition, pyaudio |
speech_windows.py |
Converts text to speech instantly, no cloud round-trip | Windows SAPI / PowerShell |
Gui.py |
Renders the live dashboard | PyQt5 |
Atlas ships with a lightweight local licensing layer. Here's exactly how it works:
-
Prompt on first boot —
main.pylaunches a PyQt5SubscriptionGUIasking for a key. -
Key tiers:
Key Access Duration atlas-testing-key5 minutes atlas-weekly-pro7 days atlas-monthly-elite30 days atlas-lifetime-masterUnlimited -
Validation & encryption — the entered key is checked against an internal dictionary; if valid, an expiration timestamp is calculated, encrypted with a symmetric
Fernetkey, and written tomaterials/system.cfg. -
Boot check — on every subsequent launch,
main.pydecryptssystem.cfg. Valid timestamp → Atlas boots straight through. Expired → the config is deleted and the prompt reappears. -
LLM auth passthrough — the raw key is also stored in
materials/recover.txtand reused as the API key for the Groq backend.
⚠️ Heads-up for contributors: since this is open-source, the key dictionary and Fernet secret live in the codebase itself — meaning the gate is more of a UX formality than a real restriction in this public build. If you're forking this for a distributed/commercial version, you'll want to move key validation server-side.
PRs are genuinely welcome — automation hooks, UI polish, new model integrations, all fair game.
- Fork the repo
- Create a branch:
git checkout -b feature/amazing-feature - Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
Licensed under the MIT License — see LICENSE for details.



