You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Embedded browser preview with screenshot-to-composer and agent-operated verification #155
An embedded browser preview the user AND the agent share: agents navigate, screenshot, click and type in a visible webview; users can select page elements and attach redacted annotations to a prompt (changelog 0.6.4).
Solenta today
No webview at all. electron/links.js:22-24 hands every URL to the OS browser by policy; dev-server URLs open externally.
Why it matters
"The agent says the UI works" is currently unverifiable without leaving the app. Browser evidence (screenshots attached to the task) closes the loop for frontend work, and element annotations remove the "describe the button in words" friction. This and the terminal are the two biggest daily-workflow holes versus the field.
Scope suggestion
A preview pane pointed at the thread's dev-server URL, with a screenshot-into-composer action as step one; agent-operated navigation via the existing tool surface as step two. Note the navigation policy in electron/links.js stays the outer boundary.
Research note (Onlook, Apache-2.0, documented in-repo): the strong version of preview integration is element-to-code mapping via instrumentation — instrument the previewed app so every DOM element maps back to its source location; click an element in the preview and the agent gets the exact file/line. Bigger bet than screenshot annotations, but it is the category's standout differentiator and the implementation approach is open source.
Round-19: Orca Design Mode is the sharpest version of the annotation half of this ticket (https://www.onorca.dev/).
A real Chromium window per worktree. Click any UI element → the agent receives that element's HTML, CSS, and a cropped screenshot. Not a verbal description of "the blue button", not a full-page screenshot the model has to search.
Synara 0.6.4/0.6.6 already specified the transport (versioned, count- and field-bounded, exact-page affinity kept local, document-only metadata stripped before provider injection). Combine: Orca's payload (HTML + CSS + crop) + Synara's bounds. That is the annotation step. Live agent-operated navigation stays step two, as written.
autoVerify: true by default: after every edit the agent screenshots, checks for errors, inspects the DOM, clicks elements, fills forms and fixes what it finds — with a per-project override in the same file and a toggle in the dropdown.
Persist sessions: cookies and localStorage survive server restarts so the agent does not have to re-login on every iteration. This is the small thing that decides whether agent-driven verification works past the login screen at all.
It is a tabbed browser, not a preview iframe: docs and issue trackers open next to the running app, Cmd+Shift+B toggles, Cmd+Shift+S selects an element (→ composer, which is this issue's screenshot-to-composer).
Backends too: "Claude can test API endpoints, view server logs, and iterate" — the pane is not a frontend-only feature.
Clean profile by design: the pane uses a browser profile with none of the user's logins, explicitly distinct from the Chrome extension that acts as you (Signed-in browser bridge: agents drive the user's real browser session #267). Good split for Solenta: embedded pane = build-and-test, signed-in bridge = act-as-me.
The .claude/launch.json shape is the highest-value piece and is independently useful without the pane.
Shipped on this branch (coder/fork-embedded-browser-preview-with-scree-a06432).
Step 1: preview pane + screenshot-to-composer
Views → Browser is a real pane (no longer a placeholder).
It loads the thread's captured dev-server URL (or a typed localhost URL).
Add screenshot captures the visible page and pins it on the composer as an image attachment.
Step 2: agent-operated navigation
coder-threads MCP tool preview (info / navigate / reload / back / forward / screenshot / click / type) drives the same visible guest.
The pane must be open on that thread. Screenshot returns a PNG the agent can see.
Boundary
App window policy in electron/links.js is unchanged (still never navigates to the web).
The guest is loopback-only (localhost / 127.0.0.1 / ::1). Other http(s) links open in the OS browser. webviewTag guests must use partition solenta-preview:<threadId> or they are refused.
Not in this slice: element annotations (click a node, attach a redacted callout). That is the remaining Synara gap.
Landed on main as 79cab12 "Embedded browser preview pane with screenshot-to-composer (#155) (#679)". The issue was left open with plan:done; closing during the 2026-10-03 board cleanup.
Activity
currentbits commentedon Aug 17, 2026
Research note (Onlook, Apache-2.0, documented in-repo): the strong version of preview integration is element-to-code mapping via instrumentation — instrument the previewed app so every DOM element maps back to its source location; click an element in the preview and the agent gets the exact file/line. Bigger bet than screenshot annotations, but it is the category's standout differentiator and the implementation approach is open source.
currentbits commentedon Aug 18, 2026
Round-19: Orca Design Mode is the sharpest version of the annotation half of this ticket (https://www.onorca.dev/).
A real Chromium window per worktree. Click any UI element → the agent receives that element's HTML, CSS, and a cropped screenshot. Not a verbal description of "the blue button", not a full-page screenshot the model has to search.
Synara 0.6.4/0.6.6 already specified the transport (versioned, count- and field-bounded, exact-page affinity kept local, document-only metadata stripped before provider injection). Combine: Orca's payload (HTML + CSS + crop) + Synara's bounds. That is the annotation step. Live agent-operated navigation stays step two, as written.
currentbits commentedon Aug 19, 2026
Claude Code Desktop's Browser pane is now the most complete version of this feature shipped anywhere. Details worth lifting (docs):
.claude/launch.jsonwithname/runtimeExecutable/runtimeArgs/port, multiple configurations per project (frontend + API), auto-detected on first run, editable from a server dropdown in the session toolbar. This is the answer to Per-project setup script auto-run on worktree creation, plus named quick actions #153 and Per-worktree dev-server isolation: port injection, data dirs, app identity #250 as well — a checked-in file beats a per-project setting in Solenta's store, and it survives worktrees for free.autoVerify: trueby default: after every edit the agent screenshots, checks for errors, inspects the DOM, clicks elements, fills forms and fixes what it finds — with a per-project override in the same file and a toggle in the dropdown.Cmd+Shift+Btoggles,Cmd+Shift+Sselects an element (→ composer, which is this issue's screenshot-to-composer).The
.claude/launch.jsonshape is the highest-value piece and is independently useful without the pane.currentbits commentedon Aug 23, 2026
Shipped on this branch (
coder/fork-embedded-browser-preview-with-scree-a06432).Step 1: preview pane + screenshot-to-composer
Step 2: agent-operated navigation
preview(info / navigate / reload / back / forward / screenshot / click / type) drives the same visible guest.Boundary
electron/links.jsis unchanged (still never navigates to the web).localhost/127.0.0.1/::1). Other http(s) links open in the OS browser.webviewTagguests must use partitionsolenta-preview:<threadId>or they are refused.Not in this slice: element annotations (click a node, attach a redacted callout). That is the remaining Synara gap.
Embedded browser preview pane with screenshot-to-composer (#155) (#679)
currentbits commentedon Oct 3, 2026
Landed on main as 79cab12 "Embedded browser preview pane with screenshot-to-composer (#155) (#679)". The issue was left open with plan:done; closing during the 2026-10-03 board cleanup.