fix(computer_use): reconcile Linux gate with stale "gated off" comments

The runtime gate (check_computer_use_requirements) and the hermes tools
platform_gate both enable linux alongside darwin/win32, but several
docstrings/comments still described Linux as "alpha, gated off until it
flips upstream" — contradicting the code that ships it. Bring the prose in
line with the gate that's actually live:

- tool.py / cua_backend.py module docstrings: Linux is enabled (X11 today,
  Wayland via XWayland), not gated off.
- toolsets.py description and hermes tools display name: (macOS/Windows) ->
  (macOS/Windows/Linux).

No behavior change — the gate already allowed all three platforms.
This commit is contained in:
teknium1 2026-06-21 20:04:15 -07:00 committed by Teknium
parent f2e37549c6
commit e3505c7f73
4 changed files with 20 additions and 14 deletions

View file

@ -516,9 +516,10 @@ TOOL_CATEGORIES = {
],
},
"computer_use": {
"name": "Computer Use (macOS/Windows)",
"name": "Computer Use (macOS/Windows/Linux)",
"icon": "🖱️",
# Runtime backends ship for macOS + Windows today; Linux is alpha.
# Runtime backends ship for macOS, Windows, and Linux (X11 today,
# Wayland via XWayland). Per-host gaps surface via `computer-use doctor`.
"platform_gate": ["darwin", "win32", "linux"],
"providers": [
{

View file

@ -1,4 +1,4 @@
"""Cua-driver backend (macOS + Windows).
"""Cua-driver backend (macOS, Windows, Linux).
Speaks MCP over stdio to `cua-driver`. The Python `mcp` SDK is async, so we
run a dedicated asyncio event loop on a background thread and marshal sync
@ -6,14 +6,16 @@ calls through it.
The same `cua-driver call <tool>` surface (click, type_text, hotkey, drag,
scroll, screenshot, launch_app, list_apps, list_windows, get_window_state,
move_cursor, wait) works identically across macOS + Windows cua-driver's
PARITY matrix marks every action tool VERIFIED on Windows in the
cross-platform Rust port (`cua-driver-rs`).
move_cursor, wait) works identically across macOS, Windows, and Linux
cua-driver's PARITY matrix marks the action tools VERIFIED on macOS and
Windows in the cross-platform Rust port (`cua-driver-rs`).
Linux support exists in cua-driver-rs but is alpha today Linux PARITY
rows are mostly OPEN, not VERIFIED so it's gated off in
`check_computer_use_requirements` until that flips upstream. The plumbing
in this file is OS-agnostic, so flipping that gate later is one-line.
Linux is the most recent runtime (X11 today, Wayland via XWayland; pure-
Wayland progress tracked upstream). It is enabled in
`check_computer_use_requirements` alongside macOS and Windows. The plumbing
in this file is OS-agnostic; per-host gaps (no DISPLAY, missing AT-SPI,
etc.) surface as specific blocked checks via `hermes computer-use doctor`
rather than failing silently.
Install:
- **macOS**:

View file

@ -1,12 +1,15 @@
"""Entry point for the `computer_use` tool.
Universal (any-model) desktop control across macOS + Windows via
Universal (any-model) desktop control across macOS, Windows, and Linux via
cua-driver's background computer-use primitive. Replaces #4562's
Anthropic-native `computer_20251124` approach the schema here is standard
OpenAI function-calling so every tool-capable model can drive it.
Linux support exists in cua-driver-rs (alpha PARITY rows are mostly
OPEN today, not VERIFIED) and is gated off here until it flips upstream.
Linux is the most recent runtime (X11 + Wayland, via cua-driver-rs's
AT-SPI tree path); it is enabled here alongside macOS and Windows. When a
host's display server or accessibility stack isn't reachable, cua-driver's
`health_report` (surfaced by `hermes computer-use doctor`) reports the
exact blocked check rather than the toolset silently failing.
Return contract
---------------

View file

@ -142,7 +142,7 @@ TOOLSETS = {
"computer_use": {
"description": (
"Background desktop control via cua-driver (macOS/Windows) — "
"Background desktop control via cua-driver (macOS/Windows/Linux) — "
"screenshots, mouse, keyboard, scroll, drag. Does NOT steal the "
"user's cursor or keyboard focus. Works with any tool-capable model."
),