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
v2.0.562 (insiders): Thread tile rendered in the binary; ext-lane windows stamped at birth and matched by title; no orphan about:blank windows.
1 file changed
−6
src/extension/worker.js−6@@ -4,8 +4,6 @@ // keeps the per-tab hover title ("Adom Pup — <thread>'s window") and actively CLEARS any badge // an older worker painted. const CANDIDATE_PORTS = [64230, 8851];-// The thread-tile renderer (ONE implementation, shared with the CDP lane's page evaluation).-try { importScripts('tile.js'); } catch (e) {} // pup STAGES port.json into this extension folder with the bridge's REAL port. Read it: a FRESH profile has@@ -213,10 +211,6 @@ async function pupExtPoll() { args: [cmd.expr || ''], }); out = { id: cmd.id, ok: true, result: res && res[0] && res[0].result, tabId: tab.id, windowId: tab.windowId, url: tab.url };- } else if (cmd.action === 'tile') {- // Render the taskbar name tile HERE (OffscreenCanvas, extension-owned font): no page, no page CSP.- const r = await self.pupRenderTile(cmd.name || '', chrome.runtime.getURL('fg-700.woff2'), cmd.sizes || [], cmd.render || 512);- out = { id: cmd.id, ok: true, result: JSON.stringify(r) }; } else if (cmd.action === 'newtab') { // a TAB in the SAME window: the channel could only create new WINDOWS, so it could not show many // pages in one window the way the CDP lane does.