Files
gnome-jarvis/docs/computer-use.md
T
snxraven 5b7c2b3b6d
Rolling release / release (push) Successful in 9m40s
Fix libei
2026-09-12 11:07:40 -04:00

60 lines
1.9 KiB
Markdown

# Computer use
Computer use is a revocable mode that combines observation, semantic actions,
portal input, and a visible ARC overlay. It is never implicitly enabled by a
normal chat turn.
```mermaid
sequenceDiagram
participant User
participant D as jarvisd
participant H as Harness
participant CU as CU session
participant P as Portal/EIS
participant A as AT-SPI
User->>D: “take the wheel”
D->>CU: grant(persist, monitors)
CU->>P: ScreenCast + RemoteDesktop consent
User-->>P: approve
loop step budget
CU->>P: capture frame
CU->>A: tree snapshot
CU->>H: observe bundle
H-->>CU: one action
CU->>CU: safety + target validation
CU->>P: EIS input or
CU->>A: named action
end
User->>D: “hands off” / Escape
D->>CU: revoke
CU->>P: close sessions immediately
```
## Actuator priority
1. Domain skill or app API.
2. App D-Bus/GIO action.
3. AT-SPI named action or stable reference.
4. GNOME Shell window/focus helper.
5. Vision coordinates for broken accessibility.
6. Opt-in ydotool/X11 fallback.
The primary Wayland input path is XDG RemoteDesktop plus EIS/libei. After
portal consent, Jarvis opens `ConnectToEIS` and injects pointer/keyboard
events through a built-in libei sender. `JARVIS_LIBEI_BRIDGE` is an optional
override. If EIS is unavailable, the helper falls back to portal Notify
methods instead of refusing readiness. Screenshot frames are downscaled for vision,
kept in temporary storage, and removed on revoke unless trace retention is
enabled.
## Safety rules
- Grant is off by default and dies on lock screen.
- Password/PAM roles are refused.
- Dangerous keys and destructive targets need confirmation.
- Default budget is 20 actions; hard cap is 100.
- Each action gets a visible target highlight and audit record.
- Three state-changing steps with no observed change abort the run.
See [computer-use acceptance](cu-acceptance.md) for the live GNOME scenarios.