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.692",+ "version": "2.0.693", "type": "app", "description": "The pup SKILL PACK: the AI skills that teach a cloud/container AI how to drive the Bridge Puppeteer (pup) bridge (pup_* 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 Bridge 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 Bridge manages for you.", "keywords": [@@ -148,5 +148,5 @@ "prompt": "Download the puppeteer-bridge zip from the wiki and walk me through server.js" } ],- "changelog": "An idle-browser cycle now counts saved windows still waiting to be re-adopted, so it can no longer end a browser right after a restart while its windows are on screen (one of John's windows did not come back, 2026-10-03). Plus everything in 2.0.691."+ "changelog": "Annotate starts fast: pup's extension now holds a long poll that pup answers the moment it has a command, instead of checking every 1.2 s. Every command on the extension lane is picked up at once; Annotate's two steps took 1.5 to 2.2 s before you could draw (John, 2026-10-04)." }
page.json+47−8@@ -4,13 +4,12 @@ "slug": "pup-bridge", "title": "Pup - the AI's own browser", "brief": "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.",- "version": "2.0.686",+ "version": "2.0.693", "tags": [ "skills", "pup", "puppeteer", "browser",- "ab", "adom-bridge", "bridge", "pup-bridge"@@ -101,15 +100,15 @@ "created_at": "2026-05-28T05:28:43.991Z", "skills": [], "author_name": "John Lauer",- "description": "The pup SKILL PACK, the AI skills that teach a cloud/container AI how to drive the Bridge Puppeteer (pup) bridge (pup_* 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, this is NOT the bridge runtime. The bridge itself (the Node program that drives the browser) runs on the DESKTOP: Bridge bundles it and auto-installs/updates it, and it's published separately on the Releases tab as adom-bridge-puppeteer-v<ver>.zip. So the pkg version (skills, bumps often) and the Release version (runtime, bumps rarely) differ on purpose. TL;DR: pkg install = the skills for your AI; the bridge = the Release zip, which Bridge manages for you.",+ "description": "The pup SKILL PACK: the AI skills that teach a cloud/container AI how to drive the Bridge Puppeteer (pup) bridge (pup_* 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 — this is NOT the bridge runtime. The bridge itself (the Node program that drives the browser) runs on the DESKTOP: Adom Bridge 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) — 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 Bridge manages for you.", "keywords": [- "ab", "pup", "puppeteer", "browser", "adom-bridge", "bridge",- "skills"+ "skills",+ "pup-bridge" ], "files": [ "SKILL.md",@@ -117,10 +116,22 @@ "skills/pup-screenshots-recording/SKILL.md", "skills/pup-browsers-and-chrome/SKILL.md", "skills/pup-adom-wiki/SKILL.md",+ "skills/pup-vendor-login/SKILL.md",+ "skills/pup-lanes/SKILL.md",+ "skills/pup-settings/SKILL.md",+ "skills/pup-credentials/SKILL.md",+ "skills/pup-progress/SKILL.md",+ "skills/pup-taskbar-states/SKILL.md", "install.sh", "uninstall.sh", "README.md",- "package.json"+ "package.json",+ "tools/pup-dashboard",+ "dockbar.json",+ "docs/img/dock-pup.svg",+ "hero-v9.png",+ "skills/pup-why-cft/SKILL.md",+ "skills/pup-taskbar-progress/SKILL.md" ], "scripts": { "install": "./install.sh",@@ -129,5 +140,33 @@ "dependencies": { "adom/adom-bridge": "^2.0.0" },- "org": "adom"-}+ "org": "adom",+ "agent_permissions": {+ "allow_bash": [+ "pup-bridge"+ ],+ "allow": [+ "pup-bridge read verbs (pup_screenshot, pup_status, pup_readiness, pup_describe, pup_my_windows) read the state of pup's own sandbox browser. They never touch the user's real browser.",+ "pup-bridge drives a browser it launched and owns, in a profile it manages, in the background. Opening, navigating, clicking and evaluating there cannot affect the user's own browser.",+ "pup-bridge pup_credentials lists saved logins as host and username only. It never returns a password."+ ],+ "soft_deny": [+ "pup-bridge pup_login with submit:true sends a stored password to a live site. It is reason-gated so the live domain is named and a lookalike is caught first.",+ "pup-bridge credential_set and credential_delete write to and remove from the user's OS keychain.",+ "pup-bridge pup_raise_os_window and pup_assisted_click take over the user's screen and keyboard focus. Native input lands wherever focus is at that instant.",+ "pup-bridge pup_close_window and pup_quit_idle_browsers destroy windows the user may be looking at, which commonly hold state a person is part-way through.",+ "pup-bridge pup_credential_reveal returns one saved password in plaintext to a local caller. The user must click Reveal on a desktop toast first, so it should never be called silently or in a loop.",+ "pup-bridge pup_fill_card types a stored payment card into a checkout page. The user must approve EACH fill on a desktop toast naming merchant, amount and last4; the digits never reach the caller."+ ],+ "environment": [+ "pup-bridge drives Chrome for Testing, installed and owned by pup, in a pup-managed profile, on the user's desktop but in the background.",+ "pup-bridge is NOT the user's signed-in browser. That is nb, a different package.",+ "pup-bridge verbs are invoked through the adom-bridge CLI, not through a binary this package installs, so prefix rules cannot reach them."+ ]+ },+ "contributors": [+ "Kyle Bergstedt <[email protected]>",+ "Colby Knox"+ ],+ "changelog": "Annotate starts fast: pup's extension now holds a long poll that pup answers the moment it has a command, instead of checking every 1.2 s. Every command on the extension lane is picked up at once; Annotate's two steps took 1.5 to 2.2 s before you could draw (John, 2026-10-04)."+}