Extra
The Open-Source Astra 6 for your Mac & PC
Your AI can see, click, type, navigate, and get real work done on macOS & Windows.
Website • Quickstart • macOS Guide • Architecture • License
✨ Why Extra?
Today's AI assistants can write brilliant essays and code, but they are trapped inside a chat window. When you need them to click a button, open an app, organize your files, or input data into a spreadsheet, they can only give you text instructions.
Extra gives your AI hands and eyes on Windows.
It connects Claude, Google Antigravity, Cursor, AGY, or any autonomous agent directly to your Windows desktop with high-speed screen vision, pixel-perfect clicking, and instant typing.
- No clunky browser extensions.
- No expensive cloud servers watching your screen.
- 100% open source, local, and private.
💡 What You Can Ask Your AI To Do
Once Extra is running, you can talk to your AI like a real human assistant sitting at your desk:
- 📊 Spreadsheets & Data: "Open Excel, calculate total revenue from the invoice CSVs in my Downloads folder, and create a summary chart."
- 🗂️ Desktop & File Cleanup: "Clean up my messy desktop by moving screenshots into Pictures, PDFs into Documents, and deleting empty folders."
- 🌐 Web Research & Data Entry: "Open Chrome, find the top 5 flights to Tokyo under $800, and copy their flight numbers and dates into Notepad."
- ⚙️ Windows System Tasks: "Open Settings, check if any Windows updates are pending, and let me know if a restart is needed."
- 🎵 App Control: "Launch Spotify, search for low-fi focus beats, and start playing."
⚡ Quickstart (1 Minute)
You can set up Extra in seconds on macOS or Windows:
Option A: Ask Your AI To Set It Up (Primary Funnel — Easiest)
Copy and paste the single directive for your OS into Claude Desktop, Google Antigravity, Cursor, Windsurf, or any MCP agent:
-
🍏 For macOS (Apple Silicon M1-M4 & Intel):
Setup Extra on my Mac: In Terminal run 'curl -sSL https://extra.yantraos.com/install.sh | bash', then read and configure ~/.extra/app/STARTER_PROMPT_MACOS.md so we are ready to use Extra.
-
🪟 For Windows (11 / 10):
Setup Extra on my PC: In PowerShell run 'iwr -useb https://extra.yantraos.com/install.ps1 -OutFile "$env:TEMP\install_extra.ps1"; & "$env:TEMP\install_extra.ps1"', then read and configure ~/.extra/app/STARTER_PROMPT.md so we are ready to use Extra.
Your AI will run the installer, configure MCP and local rules, and reply:
"We are ready! Please restart <your AI application, e.g. Claude Desktop, Antigravity, Cursor, Windsurf> to make it work."
Option B: Run the One-Liner Yourself
-
🍏 macOS Terminal:
curl -sSL https://extra.yantraos.com/install.sh | bash
-
🪟 Windows PowerShell (Staged, Defender-Clean):
iwr -useb https://extra.yantraos.com/install.ps1 -OutFile "$env:TEMP\install_extra.ps1"; & "$env:TEMP\install_extra.ps1"
The automated installer will:
- Verify OS architecture (macOS 12.3+ or Windows 10/11 64-bit).
- Provision isolated Python 3.10+ runtime (
~/.extra/venv). - Auto-configure Claude Desktop, Cursor, Windsurf, and Antigravity (
agy). - Run the health diagnostic doctor and present the 1-step starter prompt.
Option C: Developer Git Clone
# macOS:
git clone https://github.com/AIYantra/extra.git ~/.extra/app
cd ~/.extra/app && ./install.sh
# Windows:
git clone https://github.com/AIYantra/extra.git "$HOME\.extra\app"
cd "$HOME\.extra\app" ; .\install.ps1
Connecting to Any MCP-Compatible AI
Extra works out of the box with any agent supporting the Model Context Protocol (MCP). If you use Cursor, Windsurf, or custom agents, add this snippet to your MCP config:
{
"mcpServers": {
"extra": {
"command": "npx",
"args": ["-y", "@yantraos/extra-desktop"]
}
}
}
Or using native Python:
{
"mcpServers": {
"extra": {
"command": "python",
"args": ["-m", "extra.mcp.server"]
}
}
}
🎯 How It Works Under The Hood
Extra is engineered from the ground up for speed, reliability, and token efficiency:
- 👁️ Ultra-Fast Screen Capture (< 3ms): Uses native DirectX Desktop Duplication (DXGI) to take crystal-clear desktop frames in under 3 milliseconds—without lagging your PC or blurring text.
- 🎯 Pixel-Perfect Clicking: Rather than guessing coordinates from fuzzy screenshots, Extra queries the native Windows accessibility tree (UI Automation) to click the exact button, menu, or text field with 100% mathematical accuracy.
- ⚡ Instant Typing: Types 500 characters in under 5 milliseconds via native Win32 Unicode injection—with zero dropped letters and full support for emojis and international languages.
- 🛑 Infinite Loop Stall Protection: If an app freezes or a click produces no visual result, Extra immediately catches it and stops safely instead of burning your tokens in an endless loop.
- 🔒 100% Local & Private: Extra runs completely on your machine. Zero screenshots, keystrokes, or telemetry are ever sent to any cloud server.
📊 Performance Comparison
| Metric / Capability | Legacy Scripts (PyAutoGUI) |
Cloud Vision Models | Extra Engine |
|---|---|---|---|
| Screen Grab Speed | 150 – 300 ms | 80 – 150 ms | 1.8 – 3.2 ms (DirectX DXGI) |
| Typing Speed (100 chars) | 2.5 – 5.0 seconds | 1.0 – 2.0 seconds | < 0.005 seconds (Instant Win32) |
| Click Accuracy | ~60% (fails on display scaling) | ~82% (vision guess) | 99.4% (Native Windows UIA) |
| Multi-Monitor DPI Support | Broken on 125%/150% scales | Requires manual adjustment | Automatic (PerMonitorV2) |
| AI Token Cost | High (full screenshot every step) | High (full vision payload) | 70% Lower (Smart element tree) |
| Stall Prevention | None (gets stuck forever) | Basic timeout | Smart visual delta detection |
🛠️ Included Tools (MCP Suite — 20 Native Tools)
When connected to Extra, your AI assistant receives full sovereign desktop control across 20 native tools:
| Tool Name | What It Does |
|---|---|
extra_launch |
Opens any app, utility, or URL directly (calc, notepad, settings, edge, chrome) |
extra_focus_window |
Brings any window to the front via native thread input attachment |
extra_click |
Clicks with sub-pixel DPI accuracy, human-like Bezier curves, and semantic visual grounding (target="...") |
extra_stroke |
Draws fluid, continuous brush splines across waypoints with pressure and Catmull-Rom smoothing |
extra_type |
Injects text instantly with zero lag, full emoji support, and Win32 Unicode packets |
extra_hotkey |
Sends keyboard shortcuts (Ctrl+C, Win+E, Alt+Tab, Enter) |
extra_batch_actions |
Executes atomic lists of hardware & SOUL reflex actions (eval, assert, wait_for_state) in sub-milliseconds |
extra_snap_layout |
Programmatically docks and arranges windows in side-by-side or split layouts in < 15ms |
extra_fs_batch |
High-speed batch filesystem operations compliant with Windows Defender Controlled Folder Access |
extra_inspect_ui |
Scans accessible UI trees and interactive element nodes in real time |
extra_click_element |
Clicks UI elements deterministically by accessible ID or semantic target |
extra_scroll |
Smoothly scrolls wheels up, down, left, or right |
extra_drag |
Drags and drops files, windows, or sliders between coordinates |
extra_screenshot |
Captures high-res desktop frames in < 25ms with optional Set-of-Mark visual badges |
extra_browser |
Directly extracts DOM content in Edge/Chrome or triggers synthesized API fast-paths |
extra_task_start |
Activates ambient screen edge pulse and cursor tracking halo |
extra_task_complete |
Signals task completion: flashes emerald border, plays acoustic chime, and analyzes trajectory |
extra_indicate_status |
Direct programmatic control over active, complete, and idle desktop indicators |
extra_recall_memory |
Recalls past task workflows, artifacts, and known quirks via KùzuDB + FastEmbed in < 2ms |
extra_scout_app |
Discovers UI frameworks (Electron/Win32/Viewport), universal hotkeys, and generates SKILL playbooks |
extra_evolve_skill |
Crystallizes newly verified zero-stall fast paths into permanent skill playbooks |
🏛️ Repository Structure
extra/
├── assets/ # Brand logos and banners
├── bin/ # Node.js CLI executable (npx @yantraos/extra-desktop)
├── core/ # Sovereign Core Automation Engine
│ ├── platform/ # Platform Abstraction Layer (PAL facade for Win32 & macOS)
│ │ ├── windows/ # Win32 SendInput, DXGI capture, UIA, and focus
│ │ └── macos/ # ScreenCaptureKit, CoreGraphics, and AXUIElement
│ ├── soul/ # System One Ultra-fast Layer (Decider, Eyes, Grammar, Schemas)
│ ├── memory/ # KùzuDB episodic knowledge graph & FastEmbed embeddings
│ ├── evolution/ # Autonomous skill crystallizer & API synthesizer
│ ├── scout/ # Application discovery, CDP sniffer, and session vault
│ ├── motion/ # Human-like Bezier cursor flight and spline dynamics
│ ├── capture.py # Unified high-speed desktop screen capture
│ ├── geometry.py # PerMonitorV2 DPI scaling & display normalization
│ ├── indicators.py # Ambient screen pulse, cursor halo, and harmonic chime
│ ├── input_engine.py # PAL input facade (clicks, strokes, typing, batching)
│ ├── focus.py # Window activation, snapping, and layout management
│ ├── uia_plane.py # Accessibility tree inspection and Set-of-Mark labeling
│ └── stall_breaker.py # Closed-loop perceptual diffing & safety killswitch
├── fastpath/ # High-speed deterministic execution
│ ├── shell.py # Native app launcher with crash-recovery auto-suppression
│ ├── browser.py # Playwright & Chromium DevTools Protocol (CDP) bridge
│ ├── fs.py # CFA-compliant batch filesystem engine
│ └── web/ # Synthesized Web-to-API fast-paths
├── mcp/ # Model Context Protocol
│ └── server.py # Standard JSON-RPC stdio/SSE server (20 native tools)
├── tests/ # Exhaustive 1,883-test official verification suite
├── cli.py # CLI runner (extra doctor, test, indicators, run, inspect, snap)
├── install.ps1 # 1-line PowerShell installer (Windows)
├── install.sh # 1-line bash installer (macOS)
├── pyproject.toml # PyPI package manifest (extra-desktop v0.3.0)
├── package.json # npm package manifest (@yantraos/extra-desktop v0.3.0)
├── server.json # Official MCP registry manifest
├── glama.json # Glama MCP ecosystem manifest
├── smithery.yaml # Smithery 1-click deployment manifest
├── requirements.txt # Enterprise-audited dependency manifest
├── STARTER_PROMPT.md # Master AI system prompt & setup directive
├── ARCHITECTURE.md # Full System Architecture Specification
└── RELEASE_NOTES.md # Comprehensive version release notes
🛡️ Enterprise Trust & Safety
- Zero Unverified Binary Blobs: No mysterious compiled
.dllor.pydfiles from solo maintainers. - Microsoft & Anthropic Standards: Built exclusively on Microsoft system calls (
ctypes), Anthropic's officialmcpSDK, and PSF packages. - Fail-Safe Protection: Includes a screen-corner emergency escape at
(0, 0)and a global panic hotkey (Ctrl+Alt+Shift+Q).
🌌 Part of the yantraOS Sovereign Ecosystem
Extra is the Windows bridge for yantraOS, the sovereign Arch Linux operating system engineered for autonomous computing.
If you want bare-metal AI autonomy with zero operating system telemetry, sub-microsecond OS kernel scheduling, and native Wayland hardware control, explore yantraos.com.
🤝 Contributing
We welcome contributions from kernel hackers, automation researchers, and AI developers!
Please check out our Contributing Guide and Code of Conduct.
For vulnerability reporting, review our Security Policy.
📜 License
Distributed under the MIT License. See LICENSE for details.
Copyright (c) 2026 Euryale Ferox Private Limited.
Release files for extra-desktop 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| extra_desktop-0.3.0.tar.gz | 265.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| extra_desktop-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 579.5 kB
Release files / extra_desktop-0.3.0.tar.gz
| Download URL | extra_desktop-0.3.0.tar.gz |
|---|---|
| Size | 265.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5569a9522f2060568d7e80bb56f7a2f3a41325b7a1300f5bda1cfc3a871e6ab9
|
|
BLAKE2b-256 checksum How to use checksums |
06dc63b04ed6d1face92d77862bb2aa6634371be2aaa40ea788580112cc6b533
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / extra_desktop-0.3.0-py3-none-any.whl
| Download URL | extra_desktop-0.3.0-py3-none-any.whl |
|---|---|
| Size | 314.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
be422b8d9892596f452538da517b2becd8c92ef901c457fda532a102b040026e
|
|
BLAKE2b-256 checksum How to use checksums |
24e2c66bbc19cc7fa437a22bfd49b2263e03aa375aa0090ce9e91196c75f968f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|