app
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
← Commit history
Publish 1.9.135
7 files changed
+64−22
README.md+6−6@@ -118,14 +118,14 @@ Install a third-party bridge by pasting its manifest URL, or `bridge_install {"m ## The taskbar icon tells you the mode -Same Adom mark, two shades of teal, chosen the moment the window is created and kept in sync if the mode flips. A glance at the taskbar tells you whether AD is on its own or under Hydrogen Desktop.+The tile is always the Adom mark in the brand teal. When Hydrogen Desktop has the helm, AD adds a cogwheel badge to the corner of that tile. A glance at the taskbar tells you who is driving. -| Icon | Mode | Shade | Meaning |-|:---:|:---|:---|:---|-| <img src="docs/icon-standalone.png" alt="Standalone icon, muted teal" width="48"> | **Standalone** (not embedded) | Muted, darker teal (`#46817d`) | AD running on its own. The default for a normal install. |-| <img src="docs/icon-embedded.png" alt="Embedded icon, vivid teal" width="48"> | **Embedded** (under Hydrogen Desktop) | Vivid, brighter teal (`#00b8b0`) | Hydrogen Desktop launched AD and drives its lifecycle. |+| Icon | Mode | Meaning |+|:---:|:---|:---|+| <img src="docs/taskbar-standalone.png" alt="Standalone: plain Adom tile" width="88"> | **Standalone** (not embedded) | AD running on its own. The default for a normal install. |+| <img src="docs/taskbar-embedded.png" alt="Embedded: Adom tile with a cogwheel badge" width="88"> | **Embedded** (under Hydrogen Desktop) | Hydrogen Desktop launched AD and drives its lifecycle. The badge appears on entering embedded mode and clears on leaving: no restart, no flicker. | -Darker/muted tile = AD by itself; brighter/vivid tile = HD has the helm. A vivid tile with no HD running is a stale taskbar-button cache (fixed in v1.9.125); relaunch AD and it settles back to muted.+The badge is a Windows taskbar overlay icon, the one part of a taskbar button that repaints while the app runs. Builds before v1.9.133 signalled the mode by swapping the whole tile between a muted and a vivid teal, which Windows never redrew until the next restart. If you see a desaturated tile, upgrade: v1.9.133 is the first release where the taskbar, Start Menu and jump list all show the real brand colour. ## Settings
SKILL.md+21@@ -1589,6 +1589,27 @@ Two ways to use it: adom-desktop desktop_taskbar '{"hwnd":133560,"progress":{"state":"paused"},"flash":"until_focused"}' # captcha — come look adom-desktop desktop_taskbar '{"hwnd":133560,"progress":{"state":"none"},"overlay":{"badge":"none"},"flash":"stop"}' # done — clear all ``` +- `desktop_set_window_identity` + `desktop_register_app_identity` (v1.9.134+) -- **Full window-identity takeover.** Make a window you drive present itself as YOUR app: the taskbar button, Alt-Tab entry, hover tooltip and any user pin read your name and icon instead of the process that happens to own the HWND. Built for a bridge driving a borrowed host app (a Chrome for Testing window otherwise reads "Test" with Chrome's icon, which is two brands and a confusing word). AD is generic here — it applies whatever `appId` / `iconPath` / `displayName` you pass and knows nothing about which app that is. + + **You need BOTH halves.** `set_window_identity` stamps a LIVE window (`PKEY_AppUserModel_ID` + `WM_SETICON`); `register_app_identity` teaches Windows what that `appId` MEANS (an HKCU `AppUserModelId` key + a Start Menu shortcut carrying the same AUMID). An unregistered appId falls back to the owning exe's icon, so half one alone leaves Alt-Tab wrong. + + ```bash + # Once per install. Ship the .ico in your bridge's release zip; pass its cache path. + # `target`/`args` are what a user's PINNED tile launches — point it at a real verb so + # the pin opens a managed window instead of an orphan app. + adom-desktop desktop_register_app_identity '{"appId":"Adom.Pup","displayName":"Adom Pup", + "iconPath":"C:/.../adom-pup.ico", + "args":"browser_open_window {\"sessionId\":\"pinned\",\"owner\":\"pinned-launch\"}"}' + + # Per window, e.g. at park time. cacheKey survives page-title churn. + adom-desktop desktop_set_window_identity '{"cacheKey":"<sessionId>", + "titleContains":"(session: <sessionId>)","appId":"Adom.Pup", + "displayName":"Adom Pup","iconPath":"C:/.../adom-pup.ico"}' + ``` + - Window target: `hwnd` OR `titleContains` OR `cacheKey` (+ `fresh` to re-resolve). Response carries `resolvedBy` (`hwnd` | `cachedHwnd` | `title`) and `applied[]`. + - **Identity is per-HWND and dies with the window** — re-apply after a window is recreated. + - AD holds the icon handles for its whole process lifetime. Icon handles are process-owned: a transient setter leaves windows pointing at dead handles, so the icon reverts moments later. AD being long-lived is exactly why it owns them. + - `register_app_identity` writes HKCU only (never a UAC prompt). It is gated for RELAY callers like `write_file`; a bridge calling over the loopback API is trusted by transport and ungated. - `desktop_revoke_approvals` -- Revoke all shell auto-approve permissions and deny pending approvals. The next shell command will show the approval dialog. - Example: `adom-desktop desktop_revoke_approvals` - `desktop_caption` -- Show a global caption overlay that stays visible above ALL windows (KiCad, Fusion, Chrome). Native Win32 overlay — not a browser DOM element. Click-through: mouse events pass to windows below. Captured by screen recordings (browser `getDisplayMedia`, OBS, Game Bar).
dist/linux/adom-desktop⋯ 1 unchanged line ⋯
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-desktop", - "version": "1.9.128", + "version": "1.9.135", "type": "app", "description": "Two parts, two machines. DOWNLOAD (below) = the Windows desktop APP — install it on the PC you want Claude to control (the bridge + GUI, signed, auto-updating). PKG INSTALL (this command) = for a cloud AI's Linux container/Docker — it drops the adom-desktop CLI + Claude skills there so an assistant can drive that Windows PC over the relay. You need the Download on your PC; you need the pkg only inside a container. Capabilities: file transfer, screenshots, notifications, KiCad + Fusion 360, real-Chrome (Puppeteer) automation, shell, windows, and Hydrogen Desktop proxy.", "discovery_pitch": "Use when a cloud AI needs to reach a real Windows desktop: run shell commands, capture screenshots, drive native apps and browsers, transfer files, and control KiCad / Fusion 360 / third-party bridges.",
page.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-desktop",- "version": "1.9.128",+ "version": "1.9.135", "type": "app", "description": "Two parts, two machines. DOWNLOAD (below) = the Windows desktop APP — install it on the PC you want Claude to control (the bridge + GUI, signed, auto-updating). PKG INSTALL (this command) = for a cloud AI's Linux container/Docker — it drops the adom-desktop CLI + Claude skills there so an assistant can drive that Windows PC over the relay. You need the Download on your PC; you need the pkg only inside a container. Capabilities: file transfer, screenshots, notifications, KiCad + Fusion 360, real-Chrome (Puppeteer) automation, shell, windows, and Hydrogen Desktop proxy.", "keywords": [
skills/adom-desktop/SKILL.md+21@@ -1589,6 +1589,27 @@ Two ways to use it: adom-desktop desktop_taskbar '{"hwnd":133560,"progress":{"state":"paused"},"flash":"until_focused"}' # captcha — come look adom-desktop desktop_taskbar '{"hwnd":133560,"progress":{"state":"none"},"overlay":{"badge":"none"},"flash":"stop"}' # done — clear all ``` +- `desktop_set_window_identity` + `desktop_register_app_identity` (v1.9.134+) -- **Full window-identity takeover.** Make a window you drive present itself as YOUR app: the taskbar button, Alt-Tab entry, hover tooltip and any user pin read your name and icon instead of the process that happens to own the HWND. Built for a bridge driving a borrowed host app (a Chrome for Testing window otherwise reads "Test" with Chrome's icon, which is two brands and a confusing word). AD is generic here — it applies whatever `appId` / `iconPath` / `displayName` you pass and knows nothing about which app that is. + + **You need BOTH halves.** `set_window_identity` stamps a LIVE window (`PKEY_AppUserModel_ID` + `WM_SETICON`); `register_app_identity` teaches Windows what that `appId` MEANS (an HKCU `AppUserModelId` key + a Start Menu shortcut carrying the same AUMID). An unregistered appId falls back to the owning exe's icon, so half one alone leaves Alt-Tab wrong. + + ```bash + # Once per install. Ship the .ico in your bridge's release zip; pass its cache path. + # `target`/`args` are what a user's PINNED tile launches — point it at a real verb so + # the pin opens a managed window instead of an orphan app. + adom-desktop desktop_register_app_identity '{"appId":"Adom.Pup","displayName":"Adom Pup", + "iconPath":"C:/.../adom-pup.ico", + "args":"browser_open_window {\"sessionId\":\"pinned\",\"owner\":\"pinned-launch\"}"}' + + # Per window, e.g. at park time. cacheKey survives page-title churn. + adom-desktop desktop_set_window_identity '{"cacheKey":"<sessionId>", + "titleContains":"(session: <sessionId>)","appId":"Adom.Pup", + "displayName":"Adom Pup","iconPath":"C:/.../adom-pup.ico"}' + ``` + - Window target: `hwnd` OR `titleContains` OR `cacheKey` (+ `fresh` to re-resolve). Response carries `resolvedBy` (`hwnd` | `cachedHwnd` | `title`) and `applied[]`. + - **Identity is per-HWND and dies with the window** — re-apply after a window is recreated. + - AD holds the icon handles for its whole process lifetime. Icon handles are process-owned: a transient setter leaves windows pointing at dead handles, so the icon reverts moments later. AD being long-lived is exactly why it owns them. + - `register_app_identity` writes HKCU only (never a UAC prompt). It is gated for RELAY callers like `write_file`; a bridge calling over the loopback API is trusted by transport and ungated. - `desktop_revoke_approvals` -- Revoke all shell auto-approve permissions and deny pending approvals. The next shell command will show the approval dialog. - Example: `adom-desktop desktop_revoke_approvals` - `desktop_caption` -- Show a global caption overlay that stays visible above ALL windows (KiCad, Fusion, Chrome). Native Win32 overlay — not a browser DOM element. Click-through: mouse events pass to windows below. Captured by screen recordings (browser `getDisplayMedia`, OBS, Game Bar).
version.json+14−14@@ -1,14 +1,14 @@-{- "manifest_version": 1,- "version": "1.9.128",- "released_at": "2026-07-18T00:00:00Z",- "windows": {- "installer_url": "https://wiki.adom.inc/download/adom/adom-desktop/1.9.128/Adom.Desktop_1.9.128_windows_x64-setup.exe",- "installer_filename": "Adom.Desktop_1.9.128_windows_x64-setup.exe",- "installer_sha256": "545445a33c8ea8d19cef47523444f91034ba3b9d4defb4f8ba8af5c8b028b705",- "installer_size": 12770848- },- "changelog_url": "https://wiki.adom.inc/adom/adom-desktop",- "minimum_required": "1.3.30",- "note": "Machine-initiated relaunches (Hydrogen Desktop's supervisor, the boot autostart shortcut, the installer's post-install relaunch, the relauncher) no longer raise an 'Adom Desktop is already running' toast; only a bare relaunch by a person does. Also fixes the embedded and standalone taskbar tile on a PINNED taskbar: a pinned button takes its tile from the shortcut, so AD now signals the mode with a taskbar overlay badge, with an opt-in setting to rewrite the pinned icon for the full colour flip."-}+{ + "manifest_version": 1, + "version": "1.9.135", + "released_at": "2026-07-19T00:00:00Z", + "windows": { + "installer_url": "https://wiki.adom.inc/download/adom/adom-desktop/1.9.135/Adom.Desktop_1.9.135_windows_x64-setup.exe", + "installer_filename": "Adom.Desktop_1.9.135_windows_x64-setup.exe", + "installer_sha256": "60ef70416c54a37fd266c965143ef3fafab360664af43fad4241d73236121490", + "installer_size": 12780032 + }, + "changelog_url": "https://wiki.adom.inc/adom/adom-desktop", + "minimum_required": "1.3.30", + "note": "One brand icon everywhere: the taskbar, Start Menu and jump list now show the vivid Adom tile (a Start Menu shortcut regression had desaturated it since 1.9.58), with a cogwheel taskbar badge while embedded under Hydrogen Desktop. New desktop_set_window_identity and desktop_register_app_identity verbs let a bridge-driven app window present as its own app in the taskbar, Alt-Tab and pins. WebView2 low-memory mode suspends the hidden GUI, cutting the idle tray-app footprint from about 528 MB to about 93 MB." +}