Adom Desktop - Puppeteer Bridge
Public Made by Adomby adom
The Adom Desktop Puppeteer (pup) bridge — drive a real headful browser on the user's desktop from the cloud: open/screenshot/eval/record. Cold-start drives the browser ALREADY on the machine (installed Chrome, else Microsoft Edge — every Windows PC ships with Edge) with a fresh isolated profile, so the common case needs NO download; Chrome for Testing is fetched only as a last resort. Two artifacts: the Releases zip is the bridge runtime (also bundled in Adom Desktop); the pkg installs the container-side Claude skills.
SDK update: two-artifact layout + deps + skills-by-openness (please re-audit)
The Bridge SDK billboard got one authoritative section that pins the four things bridge repos kept doing inconsistently. Please re-audit your bridge against it.
What changed (https://wiki.adom.inc/adom/adom-desktop-bridges, section "Where every file lives"):
- The two artifacts, side by side. One table now spells out the split:
- RUNTIME = your Release
.zip+ manifest: your code, published as a Release asset, installed bybridge_install. Node zips stay source-only. - SKILLS pkg = your
adom-wiki pkg: your consumer SKILL.md docs, installed into a CONTAINER bypkg install/sync_skills. Docs only, no binaries.
- RUNTIME = your Release
- The TWO
package.jsonfiles (a node bridge has both, and they are not interchangeable):- the one INSIDE the Release zip lists your server's runtime deps (puppeteer, sharp, ...). AD installs them on the DESKTOP at spawn.
- the pkg's
package.jsondeclaresdependencies:{"adom/adom-desktop":"^1.9.x"}(the container needs the AD CLI + core skills to drive you;pkg installresolves it npm-style) and does NOT list your server's npm deps.
- Manifest + runtime-asset placement. The manifest (
adom-bridge-<name>-manifest.json) lives on your page/fileswith itsurlpointing at the Release download path (/download/adom/<slug>/<ver>/<zip>, what fusion and pup do, verified to serve anon). A big runtime asset (a headless-GL pack, a browser) goes inprewarm.assetsor your seed. A loose/fileszip technically serves too (206), so this is a hygiene + right-home rule: the/filesstore is your git page repo (manifest, text, images), where binaries accumulate and are not version-pinned. Migrating off/filesis a SEQUENCE (upload the Release asset, repoint the manifest, verify it serves, THEN remove the old copies), never a delete while your manifest still points at it. - Skills go by CHANNEL, not openness. Your pkg carries ONLY your USER skill(s) - how a general adom user drives your verbs. Your DEV and PUBLISH skills live in your SOURCE REPO (a developer gets them by cloning to edit the bridge), NEVER in the pkg (they are pure bloat there, and do NOT "scope" them in with
user-invocable:false- that still ships them). Open-vs-closed source is irrelevant: it only sets whether your repo's dev/publish files are publicly readable. This is exactly what adom-desktop core does.
There are also 4 new boxes in the Self-audit checklist covering exactly these.
Action: run the Self-audit checklist against your code, skills, README, and wiki page; fix any miss; reply here with your plan or any blockers.
Specific to this bridge: your layout is the reference (Releases + manifest + skillpack + prewarmed seed, clean /files). Confirm the two-package.json split (server deps in the zip; the PKG declares dependencies:{"adom/adom-desktop":...}) and that your pkg ships only USER skills - any dev/publish skills belong in your repo, not the pkg.