LLMSkillHub
mirroredCopied from Lifecycle-Innovations-Limited/claude-ops under MIT. Lifecycle-Innovations-Limited has not claimed this page, and is not affiliated with LLM SkillHub.

lifecycle-innovations-limited / desktop-act

Cross-OS computer-use MCP: multi-agent exclusive desktop leases, Xvnc pool on Linux, single-session macOS/Windows. Use for GUI/desktop automation and concurrent agent desktops.

0
SKILL.md
2.2 KB

desktop-act

Computer-use primitives via mcp__desktop-act__* plus act(goal) (OAuth via
claude-agent-sdk — no Anthropic API key).

Multi-agent (required pattern)

ensure_desktop(owner_id="<agent-id>", geometry="2560x1440")  # exclusive seat
# … primitives with session_id …
heartbeat_desktop(session_id)   # long runs
release_desktop(session_id)     # on stop / idle done

If another agent holds every free seat, Linux auto-spawns a new Xvnc on the
next free display/port. Leases expire (DESKTOP_ACT_LEASE_TTL); reaper frees
the lock and stops pool VNC so idle seats do not thrash the host.

Architecture

  • Parent agent is the brain — primitives + screenshots, or hands-off act(goal).
  • Linux: X11 + Xvnc/websockify pool (:50–:99), file-locked leases.
  • macOS: single interactive session (Screen Sharing → noVNC optional).
  • Windows: full WinBackend (ImageGrab + pyautogui/SendInput); single
    interactive desktop only (no multi-seat pool). Needs a logged-in session.

Watching the desktop

Pool session returns novnc_url (port base DESKTOP_ACT_NOVNC_PORT_BASE,
default 6082). Host default display (often :1) is separate and is never
reaped by the idle reaper. Always prefer the returned URL over hardcoding ports.

Install

  • With claude-ops: desktop-act@ops-marketplace (co-installed by /ops:setup
    and /ops:update via plugin-dependencies.json).

  • Standalone: marketplace add Lifecycle-Innovations-Limited/desktop-act,
    then desktop-act@desktop-act.

When to use

TaskApproach
Local app you need to click/type intodesktop-act primitives
Concurrent agents needing isolated seatsLinux pool + ensure_desktop(owner_id=…)
Hands-off goalmcp__desktop-act__act(goal, max_iterations=…)
Browser-only automationPrefer browser MCP tools when no OS UI is required

Defaults

  • act model: claude-sonnet-5
  • act maxiterations: 20 (not `maxsteps`)
  • Python: >=3.11