← Commit history

Upload 1 file(s)

John Lauer ·12bbef09f5 ·4mo ago ·parent a5921df
1 file changed +19−81
README.md+19−81
@@ -1,16 +1,16 @@ # Adom Desktop -A Tauri v2 desktop app for Windows that bridges Adom's cloud AI to the local desktop: KiCad, Fusion 360, real Chrome (Puppeteer), native shell, file transfer, screenshots, notifications — plus a Hydrogen Desktop proxy and an HD-driven embedded auto-update control API. One install gives Claude every desktop verb it needs.+A Tauri v2 desktop application for Windows that bridges Adom's cloud AI tools to local desktop applications: KiCad, Fusion 360, real Chrome (Puppeteer), native shell, file transfer, screenshots, notifications — plus a Hydrogen Desktop proxy. One install gives Claude every desktop verb it needs.  ## Install (in an Adom container)  ```-adompkg install adom/adom-desktop+adompkg install adom-desktop ```  That installs the **container-side** pieces: -- the `adom-desktop` Linux CLI companion binary (bundled in this package, installed to PATH)+- the `adom-desktop` CLI binary (downloaded from this page's blob store, SHA256-verified against the bundled `version.json`) - the Claude skill bundle into `~/.claude/skills/`:  | Skill | What Claude learns |@@ -19,101 +19,39 @@ That installs the **container-side** pieces: | `adom-desktop-pup` | real-Chrome (Puppeteer) automation: sessions, tabs, eval, recording | | `adom-desktop-kicad` | KiCad control: open/edit schematics + PCBs, exports, 3D viewer | | `adom-desktop-fusion` | Fusion 360 control: designs, exports, BOM/CPL |-| `adom-desktop-direct-api` | the loopback HTTP control API for sibling apps (incl. the HD embedded auto-update contract) |+| `adom-desktop-direct-api` | the loopback HTTP API for sibling apps | | `adom-desktop-installer` | how to drive the Windows installer (silent flags, logs) | | `adom-desktop-discovery` | how a fresh container finds + refreshes the CLI | -The CLI is owner-qualified because the page lives under the `adom` org: install with `adompkg install adom/adom-desktop` (a bare `adom-desktop` slug does not resolve to org pages).- ## What it looks like -The main window — server list (which relays/containers it's connected to), the bridge bar (KiCad · Fusion · Puppeteer · HD · sample bridges), and the live activity log:--![Adom Desktop — main window](screenshots/ad-standalone.png)--**Settings** — manage relay/container connections (per-server config JSON), quick-add from a pasted Docker config, plus bridges and app preferences:--![Adom Desktop Settings](screenshots/ad-settings.png)--**Build details + auto-update status** — click the version chip to pin a panel with version, signature, HOST/SANDBOX context, the direct-API port, and the wiki auto-update check:--![Adom Desktop build-details panel](screenshots/ad-build-info.png)--**Shell-command approval** — every shell command the cloud AI requests is gated (Approve / Approve-for-1h / 24h / Deny) unless auto-approve is enabled:--![Adom Desktop shell-command approval dialog](screenshots/ad-shell-approval.png)--### Standalone vs embedded in Hydrogen Desktop--Adom Desktop runs **standalone** (its own app, system-tray icon, "Sign in" in the footer) or **embedded** by Hydrogen Desktop. When HD adopts it, the window gains an **"Embedded · HD"** badge (bottom-right) and the shell-approval footer reads **"managed by Hydrogen Desktop"**; HD also drives AD's updates and suppresses its tray icon. The main-window shot above is standalone — here it is embedded:--![Adom Desktop — embedded in Hydrogen Desktop](screenshots/ad-embedded.png)--### Flagship bridges — drive the laptop's heavy apps from the cloud--The point of Adom Desktop is to make the cloud AI a power user of the apps that only run on the user's machine. Four flagship bridges:--**KiCad** — send a custom symbol, footprint and 3D model into KiCad, place the board, render it in 3D, export gerbers to JLCPCB / InstaPCB:--![KiCad driven by Adom Desktop](screenshots/kicad.png)+The desktop app, connected to two containers, with the bridge bar and live activity log: -**Fusion 360** — open a design in the live Fusion app, render it from any angle, and export to STEP · STL · 3MF · USDZ · IGES · F3D — plus BOM + CPL for assembly:+![Adom Desktop GUI](gui.png) -![Fusion 360 driven by Adom Desktop](screenshots/ad-fusion-bridge.png)+Driving KiCad end-to-end from the container — symbol, footprint, 3D model, schematic, board, gerbers: -**Puppeteer (real Chrome)** — drive a real, non-headless Chrome on the laptop: navigate, screenshot, run JS, record full sessions — all from the container. It can even **drive the user's own everyday Edge / Chrome / Brave** — `nativeRelaunch` reopens their browser in debug mode with their tabs, logins and extensions intact, so the AI works inside the real, signed-in browser (not an isolated test profile):+![KiCad driven by Adom Desktop](kicad-shot.png) -![Real Chrome driven by Adom Desktop](screenshots/ad-pup-bridge.png)--**Hydrogen Desktop** — build, ship, screenshot and supervise the HD dev workspace (VS Code · Claude Code · a real browser · the dev container), and embed Adom Desktop inside it — the `hd_*` lifecycle bridge:--![Hydrogen Desktop driven by Adom Desktop](screenshots/ad-hydrogen.png)--### Build your own bridge--A bridge is just a tiny HTTP server (`/command` + `/status`) plus a `bridge.json`. Two ~80-line reference bridges ship in the repo — **hello-python** (stdlib only) and **hello-rust** (one static binary) — fork either to bridge any app on the user's machine (Altium, MATLAB, instrument SDKs, your in-house tools) to the cloud AI:--![Write your own Adom Desktop bridge](screenshots/ad-bridge-sdk.png)--`adom-desktop bridge_install '{"manifestUrl":"…/bridge.json"}'` registers the verb prefix; AD auto-spawns the bridge on the first matching call and shows it in the bridge bar.--The **laptop-side GUI** installs separately on the user's Windows machine — a signed NSIS installer (Azure Trusted Signing, publisher "Adom Industries, Inc."). Download the latest from <https://github.com/adom-inc/adom-desktop/releases/latest>. Once installed, the GUI auto-updates itself (prompt by default, every 4h + on launch). When Hydrogen Desktop bundles AD, HD keeps AD updated automatically via AD's control API — AD stages the verified update and HD applies it at a safe moment.+The **laptop-side GUI** installs separately on the user's Windows machine — a signed NSIS installer served from this page (the package manifest's `assets` map / `version.json` carry the exact URL + SHA256; Hydrogen Desktop's setup installs it automatically). Once installed, the GUI auto-updates itself from the wiki's `version.json` manifest (prompt by default, every 4h + on launch).  ## How it fits together  ``` Adom container (this package)            User's laptop-+--------------------------+             +--------------------------+-| adom-desktop CLI + skills| <- relay -> | Adom Desktop GUI (Tauri) |-| (Claude drives verbs)    |             | KiCad . Fusion . Chrome  |-+--------------------------+             | shell . files . screens  |-                                         +--------------------------++┌──────────────────────────┐             ┌──────────────────────────┐+│ adom-desktop CLI + skills│ ⇆ relay ⇆  │ Adom Desktop GUI (Tauri) │+│ (Claude drives verbs)    │             │ KiCad · Fusion · Chrome  │+└──────────────────────────┘             │ shell · files · screens  │+                                         └──────────────────────────┘ ``` -The CLI talks to the user's GUI over the Adom relay (or the direct loopback HTTP API when co-resident). Verbs: `desktop_*`, `browser_*` (pup), `kicad_*`, `fusion_*`, `hd_*`, `shell_execute`, file transfer, and more — run `adom-desktop help` after install.--## Highlights (v1.8.134)--- **HD-driven embedded auto-update** — AD exposes its update state (`GET /update/status`) + an apply trigger (`POST /update/apply`) on the control API; HD updates the bundled AD with near-zero clicks while AD owns fetch + SHA-verify + stage.-- **Multi-AD addressing** — one relay drives many named Adom Desktops; `adom-desktop targets`, `--target <name>`, `--target all`.-- **Signed Windows installer** — Azure Trusted Signing; SmartScreen-clean.-- **Real-Chrome automation, KiCad + Fusion 360 control, screenshots, file transfer, notifications.**--## Talk to the AI--- **Connect / check:** "ping my Adom Desktop", "list the desktops connected to the relay" (`targets`)-- **Screens / files:** "screenshot my laptop", "copy this file to my desktop"-- **KiCad:** "open this schematic in KiCad on my laptop", "export gerbers"-- **Fusion:** "open this design in Fusion 360", "export a STEP"-- **Pup:** "open this URL in real Chrome on my laptop and screenshot it"-- **Target a machine:** "run that on `--target adomlapper`", "screenshot `--target all`"--## Dependencies--None (adompkg). The CLI talks to the laptop GUI over the Adom relay; KiCad / Fusion 360 / Chrome are driven on the laptop if installed there.+The CLI talks to the user's GUI over the Adom relay (or the direct HTTP API when co-resident). Verbs: `desktop_*`, `browser_*` (pup), `kicad_*`, `fusion_*`, `hd_*`, `shell_execute`, file transfer, and more — run `adom-desktop help` after install.  ## Versioning -This adompkg version tracks the Adom Desktop release version (`X.Y.Z`). The Linux CLI companion is bundled in the package; the Windows GUI ships as a separately-downloaded signed installer that self-updates.+This adompkg version tracks the Adom Desktop release version (`X.Y.Z`). The package itself is a small scaffold; the multi-MB binaries live as blobs on this page and are fetched at install time with SHA256 verification — the package manifest's `assets` map carries server-computed checksums per platform.++- Source: <https://github.com/adom-inc/adom-desktop> (private during beta) -- Source: <https://github.com/adom-inc/adom-desktop> (private)+![Drive the real Chrome on the laptop](pup.png)