Overview
agent-desktop is built with cross-platform support in mind. Phase 1 delivers full macOS functionality, with Windows and Linux support planned for Phase 2.
Platform Support Matrix
Current Release: Phase 1 - macOS only
| Feature | macOS | Windows | Linux |
|---|---|---|---|
| Accessibility tree | Yes | Planned | Planned |
| Click / type / keyboard | Yes | Planned | Planned |
| Mouse input | Yes | Planned | Planned |
| Screenshot | Yes | Planned | Planned |
| Clipboard | Yes | Planned | Planned |
| App & window management | Yes | Planned | Planned |
macOS (Current)
Requirements
- macOS 13.0+ (Ventura or later)
- Rust 1.78+ (for building from source)
- Accessibility permission granted to terminal app
Installation
Permissions
macOS requires Accessibility permission for all commands. Grant it in: System Settings > Privacy & Security > Accessibility Add your terminal app (Terminal.app, iTerm2, VS Code, etc.) to the allowed list. Or trigger the system dialog:Technology Stack
- Accessibility API:
AXUIElement(native macOS accessibility framework) - Input synthesis:
CGEvent(Core Graphics keyboard/mouse events) - Screenshot:
CGWindowListCreateImage(window capture) - Clipboard:
NSPasteboard(Cocoa clipboard API)
Tested Applications
All 50+ commands are tested on:- Finder
- Safari
- TextEdit
- System Settings
- Notes
- Slack
- VS Code
- Xcode
Windows (Planned - Phase 2)
Expected Technology
- Accessibility API: UI Automation (
uiautomationcrate) - Input synthesis: Windows Input Simulator or SendInput API
- Screenshot: GDI+ or Desktop Duplication API
- Clipboard: Clipboard API via
windows-rs
Timeline
Phase 2 development planned for Q2 2026.Linux (Planned - Phase 2)
Expected Technology
- Accessibility API: AT-SPI 2 (
atspicrate +zbusfor D-Bus communication) - Input synthesis:
xdotoolwrapper orlibxdo - Screenshot: X11 or Wayland compositor APIs
- Clipboard: X11 clipboard or Wayland clipboard protocol
Desktop Environment Support
Planned support for:- GNOME (full AT-SPI 2 support)
- KDE Plasma (full AT-SPI 2 support)
- Xfce, MATE, Cinnamon (expected to work)
Timeline
Phase 2 development planned for Q2 2026.Cross-Platform Architecture
agent-desktop uses a platform adapter pattern to ensure identical behavior across operating systems:
Compile-Time Selection
The correct platform adapter is selected automatically at compile time:Feature Parity Goals
All 50+ commands will have identical JSON output structure across platforms. Any platform-specific limitations will return:Building from Source
macOS
Windows (Phase 2)
Linux (Phase 2)
Related
- Installation - Platform-specific installation instructions
- Permissions - Grant accessibility permissions
- Architecture - Cross-platform design