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+11−10@@ -49,22 +49,23 @@ }, "agent_permissions": { "allow_bash": [- "pup-dashboard"+ "pup-bridge" ], "allow": [- "pup-dashboard: prints the URL of pup's dashboard and reports its status. It starts no browser, opens no window, and changes nothing on the user's screen.",- "pup read-only verbs (pup_screenshot, pup_status, pup_readiness, pup_describe, pup_my_windows, pup_list_windows, pup_credentials): these READ the state of pup's own sandbox browser. They never touch the user's real browser, never take the screen, and pup_credentials returns hosts and usernames only, never a password.",- "pup navigation verbs (pup_open_window, pup_navigate, pup_reload, pup_open_tab, pup_click, pup_type, pup_eval): these drive a browser pup launched and owns, in a profile pup manages, in the BACKGROUND. It is not the user's signed-in browser and it does not take over their screen."+ "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_login with submit:true: sends a stored password to a live site. It is reason-gated on purpose, and the reason names the live domain, because catching a lookalike domain before the secret is sent is the whole point.",- "credential_set and credential_delete: these write to and remove from the user's OS keychain.",- "pup_raise_os_window, pup_assisted_click, and any native desktop input: these take over the user's SCREEN and keyboard focus. Native input goes to whatever window holds focus at that instant, so a mistimed one types into the user's own work.",- "pup_close_window and pup_quit_idle_browsers: these destroy windows the user may be looking at, and a pup window commonly holds state a person is part-way through."+ "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." ], "environment": [- "pup drives a browser pup installed and owns (Chrome for Testing), in a pup-managed profile, on the user's desktop but in the background. It is NOT the user's signed-in browser: that is nb, a different package.",- "pup's verbs are invoked through the adom-bridge CLI rather than through a binary this package installs, so the allow_bash prefix rules above cannot reach them and these natural-language lines are all the classifier has to go on."+ "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." ] }, "dependencies": {
page.json+23−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.353",+ "version": "2.0.355", "tags": [ "skills", "pup",@@ -143,5 +143,26 @@ "contributors": [ "Kyle Bergstedt <[email protected]>", "Colby Knox"- ]+ ],+ "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."+ ],+ "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."+ ]+ } }