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.
master
John Lauer
docs/contract: golden fixtures recorded from the Node build 2.0.399 for the Rust port
71c0e87
1mo ago
{
"_hint": "Info returned as JSON only — nothing was drawn on the user's screen (hwnd included for desktop_screenshot_window when you need the browser chrome in frame). A USER clicking the jump-list/toolbar gets the visual card; an AI caller can opt in with showCaption:true when the user asked to have the window identified.",
"_timeoutHint": "ab waits up to 60s for this verb before the request times out. If it's a long operation (cloud open / download / export), DON'T treat a timeout as failure — the work usually keeps running on the bridge. Poll `pup_readiness` until it reports done.",
"ageMinutes": 0,
"captionShown": false,
"cardShown": false,
"durationMs": 33,
"error": "",
"foreground": false,
"hwnd": 18219718,
"lastAgentUpdate": {
"note": null,
"tabId": "tab-1",
"ts": 1788612378630,
"verb": "pup_eval"
},
"lastTakeoverBy": null,
"output": "{\"_hint\":\"Info returned as JSON only — nothing was drawn on the user's screen (hwnd included for desktop_screenshot_window when you need the browser chrome in frame). A USER clicking the jump-list/toolbar gets the visual card; an AI caller can opt in with showCaption:true when the user asked to have the window identified.\",\"_timeoutHint\":\"ab waits up to 60s for this verb before the request times out. If it's a long operation (cloud open / download / export), DON'T treat a timeout as failure — the work usually keeps running on the bridge. Poll `pup_readiness` until it reports done.\",\"ageMinutes\":0,\"captionShown\":false,\"cardShown\":false,\"foreground\":false,\"hwnd\":18219718,\"lastAgentUpdate\":{\"note\":null,\"tabId\":\"tab-1\",\"ts\":1788612378630,\"verb\":\"pup_eval\"},\"lastTakeoverBy\":null,\"owner\":\"pup-bridge\",\"ownerContainer\":null,\"profile\":\"adom-you\",\"sessionId\":\"contract-fx\",\"statusVerb\":\"pup_readiness\",\"success\":true,\"tabs\":[{\"active\":true,\"tabId\":\"tab-1\",\"title\":\"Example Domain\",\"url\":\"https://example.com/?nav=1\"}],\"timeoutSeconds\":60}",
"owner": "pup-bridge",
"ownerContainer": null,
"profile": "adom-you",
"sessionId": "contract-fx",
"status": "ok",
"statusVerb": "pup_readiness",
"success": true,
"tabs": [
{
"active": true,
"tabId": "tab-1",
"title": "Example Domain",
"url": "https://example.com/?nav=1"
}
],
"timeoutSeconds": 60
}