app
Adom Bridge (macOS)
Public Made by Adomby adom
Adom Bridge is a small operating system for AI on your Mac: it gives an AI real hands on your native desktop, including your signed-in browser, KiCad, Fusion 360, the shell, files, windows and screenshots. It provisions its own Node and Python so bridges run without touching your setup, and it talks straight to your machine. It ships with Adom Hydrogen and installs standalone too, so if you drive your Mac with Claude Desktop or another AI, this is what gives that AI hands.
← Commit history
1.9.186: menu-bar agent + one-line install script + README rewrite (Bridge branding, notarized)
3 files changed
+132−27
README.md+34−16@@ -1,26 +1,44 @@-# Adom Desktop (macOS)+# Adom Bridge (macOS) -The Adom Desktop companion app for **macOS** (Apple Silicon). This is the macOS port-of [Adom Desktop](/adom/adom-desktop) (the Windows release).+Bridge for **macOS** (Apple Silicon). Bridge is the daemon that connects AI tools+to your Mac: it runs quietly in the menu bar (no Dock icon), starts at login, and+serves AI callers over the Adom relay and the local API. -Installed automatically by [Adom Hydrogen (macOS)](/adom/adom-hydrogen-macos)-during its setup cascade — Hydrogen downloads the dmg advertised in this page's-`version.json` and copies the app into /Applications.+Every build is Developer ID-signed, hardened-runtime, and **notarized by Apple**. -## Manual install+## Install (one line) -Download the latest dmg from this page's releases and drag Adom Desktop into-Applications. The current build (v1.9.156) is Developer ID-signed with hardened-runtime but **not yet notarized** — on first launch, right-click the app and-choose **Open** to pass Gatekeeper. After that it auto-updates silently-(mount → bundle swap → relaunch) from this page's `version.json`.+```sh+curl -fsSL https://wiki.adom.inc/api/v1/pages/adom-bridge-macos/files/install.sh | sh+``` -## What works on macOS (v1.9.156 parity port)+The script downloads the latest dmg from this page, verifies its SHA-256 against+`version.json`, installs the app into /Applications, and launches it. Safe to+re-run: it upgrades in place. Prefer a manual install? Download the dmg from this+page's releases and drag the app into Applications. -Core-app parity with the Windows release: window enumeration + per-window+Bridge is also installed automatically by+[Adom Hydrogen (macOS)](/adom/adom-hydrogen-macos) during its setup cascade;+nothing to do in that case.++## How it behaves++- **Menu-bar agent.** After sign-in, launches go straight to the menu bar: no+ window, no Dock icon. Click the menu-bar icon (or launch the app again) to open+ the window for settings and approvals.+- **First run** opens a sign-in window. Signing in to any Adom app on this Mac+ signs in Bridge too: the session lives in a shared keychain item, and it+ survives uninstall/reinstall.+- **Starts at login** (LaunchAgent, on by default; toggle in Settings).+- **Auto-updates** silently from this page's `version.json` (mount, bundle swap,+ relaunch).++## What works on macOS++Core parity with the Windows release: window enumeration and per-window screenshots (CGWindowList + `screencapture`), full synthetic desktop input-(CGEvent), process list/kill, Adom-branded notifications-(UNUserNotificationCenter), LaunchAgent autostart, and the mac CLI companion at+(CGEvent), process list/kill, native notifications (UNUserNotificationCenter),+LaunchAgent autostart, and the mac CLI companion at `Adom Desktop.app/Contents/Resources/adom-desktop-cli`. Windows-inherent verbs (WSL, registry, RDP/mstsc, Hydrogen build, UIA background input, WGC recording) return a clean "Windows-only" error by design.
install.sh+91−4@@ -1,4 +1,91 @@-#!/usr/bin/env bash-# This page distributes a macOS .app via its releases (version.json + dmg), not a-# workspace binary. Adom Hydrogen's setup installs the app on the host Mac.-echo "adom-desktop-macos: no workspace payload — the dmg ships via this page's releases."+#!/bin/sh+# Adom Bridge — macOS installer.+#+# curl -fsSL https://wiki.adom.inc/api/v1/pages/adom-bridge-macos/files/install.sh | sh+#+# Downloads the latest signed + notarized Bridge dmg from the wiki release+# channel, verifies its SHA-256 against the published manifest, installs the+# .app, and launches it. Bridge registers its own launch-at-login agent on+# first run and lives in the menu bar. Safe to re-run: upgrades in place.+#+# No sudo needed on a standard admin account (/Applications is admin-writable);+# falls back to ~/Applications otherwise.++set -eu++MANIFEST_URL="https://wiki.adom.inc/api/v1/pages/adom-bridge-macos/files/version.json"+APP_NAME="Adom Desktop.app"++say() { printf '%s\n' "$*"; }+fail() { printf 'bridge-install: ERROR: %s\n' "$*" >&2; exit 1; }++[ "$(uname -s)" = "Darwin" ] || fail "this installer is macOS-only"+[ "$(uname -m)" = "arm64" ] || fail "this build is Apple Silicon (arm64) only"++say "Fetching release manifest..."+MANIFEST=$(curl -fsSL -A adom-bridge-install "$MANIFEST_URL") || fail "could not fetch $MANIFEST_URL"++json_field() {+ printf '%s' "$MANIFEST" | sed -n "s/.*\"$1\"[[:space:]]*:[[:space:]]*\"\([^\"]*\)\".*/\1/p" | head -1+}++VERSION=$(json_field version)+URL=$(json_field installer_url)+SHA=$(json_field installer_sha256)+[ -n "$VERSION" ] && [ -n "$URL" ] && [ -n "$SHA" ] || fail "manifest missing version/installer_url/installer_sha256"++say "Latest version: $VERSION"++TMP=$(mktemp -d /tmp/bridge-install.XXXXXX)+trap 'rm -rf "$TMP"' EXIT+DMG="$TMP/bridge.dmg"++say "Downloading $URL"+curl -fSL -A adom-bridge-install -o "$DMG" "$URL" || fail "download failed"++GOT=$(shasum -a 256 "$DMG" | cut -d' ' -f1)+[ "$GOT" = "$SHA" ] || fail "SHA-256 mismatch (expected $SHA, got $GOT) — aborting"+say "SHA-256 verified."++MNT=$(hdiutil attach "$DMG" -nobrowse -readonly | sed -n 's/.*\(\/Volumes\/.*\)$/\1/p' | head -1)+[ -n "$MNT" ] || fail "could not mount dmg"+trap 'hdiutil detach "$MNT" -quiet 2>/dev/null; rm -rf "$TMP"' EXIT++[ -d "$MNT/$APP_NAME" ] || fail "dmg does not contain $APP_NAME"++DEST="/Applications"+if [ ! -w "$DEST" ]; then+ DEST="$HOME/Applications"+ mkdir -p "$DEST"+ say "/Applications not writable — installing to $DEST"+fi++# If Bridge is running, quit it so the bundle swap is clean; it relaunches below.+if pgrep -f "$APP_NAME/Contents/MacOS" >/dev/null 2>&1; then+ say "Quitting the running Bridge for the upgrade..."+ osascript -e 'tell application "Adom Desktop" to quit' >/dev/null 2>&1 || true+ sleep 2+ pkill -f "$APP_NAME/Contents/MacOS" 2>/dev/null || true+ sleep 1+fi++say "Installing to $DEST/$APP_NAME"+rm -rf "$DEST/$APP_NAME"+cp -R "$MNT/$APP_NAME" "$DEST/"++hdiutil detach "$MNT" -quiet 2>/dev/null || true+trap 'rm -rf "$TMP"' EXIT++# Gatekeeper assessment of what we just installed (notarized builds pass).+if ! spctl -a -vv "$DEST/$APP_NAME" >/dev/null 2>&1; then+ say "warning: Gatekeeper did not accept the app (unexpected for a notarized build)"+fi++say "Launching Bridge $VERSION..."+open "$DEST/$APP_NAME"++say ""+say "Done. Bridge $VERSION is installed and running."+say "It lives in the menu bar (no Dock icon) and starts at login."+say "First run opens a sign-in window; once signed in, Bridge runs quietly"+say "from the menu bar (click the menu-bar icon to open it again)."
version.json+7−7@@ -1,13 +1,13 @@ { "manifest_version": 1,- "version": "1.9.185",- "released_at": "2026-08-10T18:20:00Z",+ "version": "1.9.186",+ "released_at": "2026-08-10T18:35:00Z", "macos": {- "installer_url": "https://wiki.adom.inc/download/adom/adom-bridge-macos/1.9.185/Adom.Desktop_1.9.185_macos_aarch64.dmg",- "installer_filename": "Adom.Desktop_1.9.185_macos_aarch64.dmg",- "installer_sha256": "8fe9afdc049cbcc9868df7490fadaee33b3c67ea7af4a3e8903e07582f832e7b",- "installer_size": 12753154,+ "installer_url": "https://wiki.adom.inc/download/adom/adom-bridge-macos/1.9.186/Adom.Bridge_1.9.186_macos_aarch64.dmg",+ "installer_filename": "Adom.Bridge_1.9.186_macos_aarch64.dmg",+ "installer_sha256": "4764f88e8569dca2af1947f6754aac320b0ef83e68279cc1c94a94f386f3d3e8",+ "installer_size": 12750515, "arch": "aarch64" },- "changelog": "macOS 1.9.185: shared Adom session across apps. Bridge now stores the session token in a shared Data-Protection keychain item (with Adom Hydrogen), so one sign-in serves both apps and the session survives uninstall/reinstall. Sign-out deletes the shared item everywhere, including any iCloud-synced copy. The app bundle now carries keychain entitlements plus an embedded Developer ID provisioning profile. Notarized + stapled."+ "changelog": "macOS 1.9.186: Bridge is now a menu-bar agent. Signed-in launches go straight to the menu bar (no window, no Dock icon); click the menu-bar icon or relaunch the app to open the window for settings and approvals. First run still opens the sign-in window. One-line install: curl -fsSL https://wiki.adom.inc/api/v1/pages/adom-bridge-macos/files/install.sh | sh. Notarized + stapled." }