app
Pup - the AI's own browser
Public Made by Adomby adom
pup gives your AI a real browser on your desktop that it drives completely, in the background, signed in as you: windows that never jump in front of your work, one shared profile that learns your logins, and every window labeled on the taskbar with its AI thread's name.
← Commit history
package.json+2−2@@ -1,6 +1,6 @@ { "slug": "pup-bridge",- "version": "2.0.579",+ "version": "2.0.580", "type": "app", "description": "The pup SKILL PACK \u2014 the AI skills that teach a cloud/container AI how to drive the Adom Desktop Puppeteer (pup) bridge (browser_* verbs): the everyday `pup` skill plus focused sub-skills for windows/sessions/tabs, screenshots+recording, browsers+Chrome install, and driving the Adom wiki. Installs into ~/.claude/skills + ~/.codex/skills. DOCS ONLY \u2014 this is NOT the bridge runtime. The bridge itself (the Node program that drives the browser) runs on the DESKTOP: Adom Desktop bundles it and auto-installs/updates it, and it's published separately on the Releases tab as adom-bridge-puppeteer-v<ver>.zip. The pkg version is kept in lockstep with the Release version so the page's max version row always carries BOTH a pkg tarball (skills) and a runtime zip (bridge) \u2014 a skills-only or runtime-only bump on the top row breaks constraint installs. TL;DR: pkg install = the skills for your AI; the bridge = the Release zip, which Adom Desktop manages for you.", "keywords": [@@ -148,5 +148,5 @@ "prompt": "Download the puppeteer-bridge zip from the wiki and walk me through server.js" } ],- "changelog": "ext lane: pup_type inserts the whole string in one trusted Input.insertText on the extension lane (per-key dispatch was two poll round trips per character and overran 30 s on a 20-char password); CDP lane unchanged."+ "changelog": "recovery: a lane whose worker goes silent (3 min with no lane window on glass, or 10 min regardless) is declared dead and every extension session is restored from its file, tabs included (a dead lane sat listed as 1 window for 14 h); a relaunch whose open answers starting:true waits for the worker and opens again instead of dropping the session; the another-caller guard compares Chrome window ids and treats a missing session as a failed relaunch; a token-less extension browser after a restart is adopted (token minted into port.json, pids learned from CfT frames); status reports live lane windows." }
page.json+2−2@@ -4,7 +4,7 @@ "slug": "pup-bridge", "title": "Pup - Puppeteer Bridge", "brief": "pup is the AI's own browser: a real, full Chrome on the user's desktop that the AI fully controls (a sandbox, not the user's signed-in browser). Rides Bridge; pup_* verbs open windows and tabs, navigate, screenshot, and eval JS.",- "version": "2.0.579",+ "version": "2.0.580", "tags": [ "skills", "pup",@@ -168,5 +168,5 @@ "pup-bridge verbs are invoked through the adom-bridge CLI, not through a binary this package installs, so prefix rules cannot reach them." ] },- "changelog": "ext lane: pup_type inserts the whole string in one trusted Input.insertText on the extension lane (per-key dispatch was two poll round trips per character and overran 30 s on a 20-char password); CDP lane unchanged."+ "changelog": "recovery: a lane whose worker goes silent (3 min with no lane window on glass, or 10 min regardless) is declared dead and every extension session is restored from its file, tabs included (a dead lane sat listed as 1 window for 14 h); a relaunch whose open answers starting:true waits for the worker and opens again instead of dropping the session; the another-caller guard compares Chrome window ids and treats a missing session as a failed relaunch; a token-less extension browser after a restart is adopted (token minted into port.json, pids learned from CfT frames); status reports live lane windows." }