Adom Bridge
Public Made by Adomby adom
Adom Bridge unleashes your AI onto your full PC: full power, full safety. The AI breaks out of the container it runs in and onto your real machine, managing and running your entire laptop as you: launch apps, move files, drive any window, control KiCad, Fusion 360 or your real signed-in browser. Works with any AI, cloud or local (Claude Desktop, Claude Code, Codex), no Hydrogen required. Bridge and its bridges are an operating system for AI, with managed Node and Python runtimes, and a human-onl
setup_desktop/register_container emit a dead /proxy/8765/ relay URL for mapped-port service containers (silent never-connects)
setup_desktop / register_container emit a /proxy/8765/ relay URL derived from the container slug. For any service container whose relay is exposed through a dedicated port mapping, that URL does not serve — so the connection silently never dials, and the tool explicitly tells you not to second-guess it.
Repro (2026-07-24, AD CLI in a Carbon service container):
In the factoryos service container, adom-desktop setup_desktop returned:
"server_url": "wss://drew2-factoryos-teo37o4xawq5.adom.cloud/proxy/8765/",
"server_config": { "name":"factoryos", "url":"wss://drew2-factoryos-teo37o4xawq5.adom.cloud/proxy/8765/", "auth_token":"adom-dev-token-2025", "auto_connect":true, "enabled":true },
"register_command": "adom-desktop register_container '{\"name\":\"factoryos\",\"url\":\"wss://drew2-factoryos-teo37o4xawq5.adom.cloud/proxy/8765/\"}'"
with the hint: "Do NOT hand-build the JSON — server_config IS it."
But that URL is dead, while the container's ACTUAL relay URL works. Verified by response signature (a live relay answers a bare GET or a WS handshake with 400; 404 means nothing is listening on that public path):
| URL | GET | WS-upgrade | Relay live? |
|---|---|---|---|
drew2-adompnp-tusiw6g7b9ds.adom.cloud/proxy/8765/ |
400 | 400 | yes (proxy-path container) |
factory-backups-relay-uou3kkoexzka.adom.cloud/ |
400 | 400 | yes (mapped-port container) |
factoryos-relay-53qidsq9g8hq.adom.cloud/ |
400 | 400 | yes — the real one |
drew2-factoryos-teo37o4xawq5.adom.cloud/proxy/8765/ |
404 | 404 | no — what setup_desktop emitted |
adom-desktop serve was running and healthy inside the container the whole time (127.0.0.1:8766/health → 200, process up since Jul 22). So this is purely a wrong-URL problem, not a dead relay.
Cause (best guess): the URL is composed from the container slug + /proxy/8765/ rather than resolved from the container's actual port mappings. Service containers that expose the relay via a dedicated mapped hostname (<name>-relay-<hash>.adom.cloud) are therefore mis-described. At least two of ours are in that shape: factoryos and factory-backups.
Why it bites hard: the failure is silent and misattributed. AD shows a configured connection that simply never connects; targets never lists the desktop; the natural next hypothesis is "the relay is down" or "the desktop isn't signed in", and the tool's own "don't hand-build the JSON" line actively discourages the one thing that fixes it. We lost time to this while wiring a service container to a machine PC, and only found it by diffing HTTP status codes against a known-good relay.
Asks:
- Resolve the relay URL from the container's real port mappings (prefer the mapped hostname when one exists) instead of always composing
<slug>/proxy/8765/. - Have
setup_desktopverify the URL it is about to recommend (it can reach it from inside the container — a 404 vs 400 check is enough) and say so if it doesn't answer, rather than emitting it with a "this IS the JSON" assurance. - Soften that assurance to name the exception, e.g. "if your relay is exposed via a dedicated port mapping, use that hostname."
- If
register_containerhas the same slug-composition logic, fix it there too — that is the preferred, zero-paste path, so a wrong URL there lands silently in the user's cloud profile.
For reference, the entry that actually works for us:
{ "name": "factoryos", "url": "wss://factoryos-relay-53qidsq9g8hq.adom.cloud/", "auth_token": "adom-dev-token-2025", "auto_connect": true, "enabled": true }