Releases: protoLabsAI/agent-browser-plugin
Release list
v0.5.1 — Open ↗ in full mode
Adds an Open ↗ button to full mode to pop the embedded dashboard into a full browser tab — shown whenever the dashboard is on this machine, and it works even from an https console where the embed is mixed-content-blocked.
🤖 Generated with Claude Code
v0.5.0 — full mode embeds the local dashboard inline
fullis the default and embeds the dashboard inline at its own local origin (http://<host>:<port>/) — on a local setup you get the real dashboard (viewport + activity/console/network feeds) right in the panel. Verified e2e against the live binary.- A clear error, not a blank frame, when it can't embed — opened remotely (fleet member / non-loopback host / https), the panel detects it and points you at
panel_mode: minimal. minimalstays as the works-everywhere screenshot viewport. Start/Stop the dashboard from the panel either way.
🤖 Generated with Claude Code
v0.4.0 — the panel works, start the dashboard from the UI
Fixes the blank Browser panel and lets you manage the dashboard from the UI.
minimalis the default — a live screenshot + nav toolbar through the gated same-origin routes. The panel now shows and drives the browser, everywhere (host + member). Verified end-to-end against the real binary.- Start the dashboard from the panel — a status dot + Start/Stop control (gated
GET/POST /api/plugins/agent_browser/dashboard). No terminal. fullmode is a launcher, not an embed — the dashboard is a Next.js app with root-absolute assets (no base-path), so it can't render under a sub-path panel. Full mode opens it at its own origin ("Open dashboard ↗") and the dead sub-path reverse proxy (HTTP + WebSocket) is removed.
🤖 Generated with Claude Code
v0.3.0 — tests, CI, Settings UI
Brings the plugin to fleet parity. No behavior change to the shipped tools/panel — this is the test/CI/config-surface layer.
- Host-free test suite (18 tests) — tool arg-building + graceful error degradation, the panel routers (page / four-rules /
/apigating / dashboard-proxy 502-when-down),register()wiring, the dashboard lifecycle, and manifest/version coherence.subprocess.runis mocked — no agent-browser binary, no real browser. - CI —
ruff check+pyteston every PR (the repo's first). - Settings ▸ Plugins — the operator knobs are editable fields (
panel_modeas a select). - Fixed two dead locals (
build_panel_router) and re-syncedpyproject.toml(was stuck at 0.1.0) with the manifest → both 0.3.0.
🤖 Generated with Claude Code
v0.2.0 — gated shot/nav + DS plugin-kit adoption
Security: /shot + POST /nav move to the bearer-gated /api/plugins/agent_browser prefix (plugin-view rule 2) — previously anyone reaching a token-gated deployment's port could drive the operator's browser and read its screen. The iframe-loaded /panel/dash proxy stays public of necessity (gating design tracked in #9). Kit: dynamic-import plugin-kit.js (ESM — protoContent#224) on both pages; the full page keeps a thin raw-message relay to the embedded dashboard. From the 2026-06-12 plugin-ecosystem hardening pass.