# Adom Desktop — RustDesk Bridge

Drive **RustDesk** remote-desktop sessions from cloud Claude (or any Adom Desktop caller) on the user's real machine. It wraps the `rustdesk.exe` CLI + Windows process/window queries behind first-class `rustdesk_*` verbs.

Reach for RustDesk where RDP can't go: **Windows Home** (which can't host RDP at all), or any host without an RDP server. On the same network (e.g. over a VPN) RustDesk auto-negotiates a direct peer-to-peer link.

## Verbs (Phase 1 — client side)

| Verb | Args | What it does |
|---|---|---|
| `rustdesk_connect` | `{to, password?}` | Launch `rustdesk --connect <to> [--password <pw>]`. `to` = RustDesk ID or IP. |
| `rustdesk_client_status` | — | Installed client path + active outbound sessions (parsed from the live windows). |
| `rustdesk_disconnect` | `{to?}` | Close the session window for `to` (or all sessions). |
| `rustdesk_ensure_client` | — | Ensure the client binary is present; download the portable build if missing. |

## Install / activate

```bash
# 1. register the bridge into Adom Desktop
adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/api/v1/pages/adom-desktop-rustdesk-bridge/files/rustdesk-bridge-manifest.json"}'
# 2. make sure the RustDesk client is on the machine (downloads the portable build if not)
adom-desktop rustdesk_ensure_client
# 3. connect
adom-desktop rustdesk_connect '{"to":"48174343","password":"<one-time-or-permanent>"}'
```

## Roadmap — Phase 2 (host/server side)

`rustdesk_get_id`, `rustdesk_set_password`, `rustdesk_host_status`, `rustdesk_enable_direct_ip`, `rustdesk_set_relay`, `rustdesk_install_service` — the controlled-machine side (permanent password, unattended access, self-hosted relay).

> **Provenance — verbs + manifest.** Authored by hand for this bridge; the `bridge.json` + `server.py` shipped in this page's Files are the source of truth. Mirrors the conventions of the bundled `rdp` and `blender` Adom Desktop bridges.
