How enricofranke/omarchy-computer-use works
Omarchy Computer Use gives an MCP-capable agent a separate, nested Hyprland desktop, while letting the user preview and take control without surrendering their own input. The principal workflow is agent tool requests → permission checks → desktop actions → screenshots or window results. Users can also manage roles and settings, watch the desktop, and share the clipboard during takeover. The graph includes documented capabilities whose wiring is not fully visible in the sampled excerpts; uncertain implementation links are omitted.
Main entry points: computer.py Computer actions · desk.py Desktop lifecycle · mcp.py MCP server · hypr.py Hyprland control
Components 20
Agent access
- CLI entry
bin/agentdesk - MCP server
agentdesk/mcp.py
Sandbox desktop
- Computer actions
agentdesk/computer.py - Desktop lifecycle
agentdesk/desk.py - Virtual pointer
agentdesk/wayland.py - Hyprland control
agentdesk/hypr.py - Agent cursor
agentdesk/cursor.py - Runtime state
agentdesk/desk.py
User control
- Live preview
agentdesk/watch.py - Herdr preview bridge
agentdesk/herdr.py - Bar controls
omarchy/BarWidget.qml - Clipboard sharing
agentdesk/clipboard.py
Settings and roles
- Role permissions
agentdesk/roles.py - Settings and role CLI
agentdesk/admin.py - Configuration
agentdesk/config.py
Other components
- MCP agent
- Desktop user
- Host Hyprland
- Nested Hyprland
- Screen and input tools
Connections 28
- MCP agent → MCP server: requests tools
- CLI entry → MCP server: starts server
- MCP server → Role permissions: checks permissions
- MCP server → Computer actions: dispatches actions
- Computer actions → Desktop lifecycle: controls lifecycle
- Computer actions → Virtual pointer: sends pointer events
- Computer actions → Nested Hyprland: types and captures
- Desktop lifecycle → Hyprland control: controls compositor
- Hyprland control → Host Hyprland: issues commands
- Hyprland control → Nested Hyprland: issues commands
- Desktop lifecycle → Runtime state: reads and writes
- Desktop lifecycle → Agent cursor: sets cursor theme
- Nested Hyprland → Screen and input tools: uses
- Computer actions → Configuration: loads settings
- Computer actions → Herdr preview bridge: opens preview
- Herdr preview bridge → Live preview: starts viewer
- Desktop user → CLI entry: runs controls
- Desktop user → Bar controls: toggles desktop
- Bar controls → CLI entry: invokes commands
- Desktop user → Live preview: views and takes over
- Live preview → Desktop lifecycle: controls visibility
- Desktop lifecycle → Clipboard sharing: starts or stops sharing
- Clipboard sharing → Screen and input tools: copies clipboard
- Desktop user → Settings and role CLI: manages settings
- Settings and role CLI → Configuration: reads and edits
- Settings and role CLI → Role permissions: configures roles
- Role permissions → Configuration: resolves role settings
- Host Hyprland → Nested Hyprland: hosts nested window