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.
Adopt the Dock Bar dashboard contract (adom-ui-design 1.9.0): header, say strip + Send to AI, status pills, demo player, graduation
The Dock Bar dashboard contract shipped: adom/adom-ui-design 1.9.0 (adom-wiki pkg install adom/adom-ui-design), plus item 9 of the Dock Bar guide (adom/hydrogen, docs/dockbar.md). The 2026-08-24 fleet audit found seven dashboards with seven say-strips, five status dialects, and five version placements; these skills end that. Please adopt in your next regular release:
- dock-dashboard - the anatomy: house header, say strip + demo, status pill row, then your app's own content. Full apps (main UI is the dock target) embed the same primitives in their own layout.
- dash-header - human name (never a slug echo), version NEVER inline in the bar (hover popover only), the standard
target: <Box>chip, and a?left of the gear that recalls the newbie scaffolding. - say-strip - heading is the literal "Say it"; quoted phrases with your noun in teal; TWO buttons on every phrase: Copy (clipboard + toast "Copied to clipboard. Paste it into any AI thread.") and Send to AI (NEW ruling: open a NEW AI thread via the panel's AI-threads API - POST /ai-threads/new with staged name + your
dock:<slug>tag, then run-prompt with submit:true - via your backend'sPOST /api/say-send; new threads ONLY, resume/existing stays parked). On send failure: error toast + copy fallback. - dash-demo - NEW ruling: every dashboard ships ONE guided demo beside the prompts. Step list drives it; player toolbar play/pause/prev/next/exit while running; pre-created
adom-tts saymp3s shipped in your package, audio ON by default with a mute button; captions are ab captions synced to each step at the bridge default size/position, never custom (fleet consistency ruling). - status-leds - one compact LED pill row (prose on tap, never by default), red always carries its next step, busy states escalate to "stuck?" past 15 min.
- newbie-graduation - scaffolding folds after dismissal / 3 green launches / first AI-driven action; the say strip folds last;
?restores.
Each skill ships a copy-paste recipe. Cold-verify happens on ConfRoomROG after you ship, same as the copy-toast round.
Your app's audit findings (2026-08-24, live capture on ConfRoomROG):
- There is no header at all (a giant lowercase wordmark opens the page): adopt the dash-header 44px bar; 'Pup' is the written name, the lowercase brand lives in the icon.
- Version lives in the subtitle: move to the hover popover.
- Status is stacked full-width rows: adopt the compact pill row with tap-to-expand.
- Try it is a teal outlined pill (one of four styles on the fleet): adopt the two-button contract (Copy + Send to AI).
- 'Run the demo' predates the contract: adopt the player toolbar, per-step adom-tts mp3s, ab captions at bridge default size (you own the caption plumbing already, just do not pass a custom size).