Browser Plugin Product Notes

Core contracts: Plugin system, capability services, and web renderer.

Current Direction

MVP Building Blocks

Profiles

Tasks

Checkpoints

Browser Capabilities Needed

Product Behavior Decisions

Example Task Shape

"Use this source post as reference. Prepare drafts for LinkedIn, YouTube, WhatsApp Web, Telegram Web, X, and Instagram. Open each in a new tab. Adapt tone per platform. Do not publish. Notify me when review is ready."

Non-Goals For Now

Architectural Direction

Command Direction

File Structure Direction

Current target direction for plugins/browser/:

plugins/browser/
  init.ts
  adapter.ts
  definition.ts
  open-db.ts

  commands/
    run/
      handler.ts
      definition.ts
      adapter.ts
    list/
      handler.ts
      definition.ts
      adapter.ts
      db.ts
      format.ts
    help/
      module.ts

  tasks/
    db.ts
    types.ts
    format.ts

  run/
    orchestrator.ts
    browser-service.ts
    checkpoint-router.ts
    notifications.ts
    prompts.ts

Notes:

MVP DB Schema Direction

tasks

Task status values:

task_events

Event model:

Notes:

Waiting-tab Recovery Implementation

Open Questions

Dual-model execution

Keep the headed dedicated persistent profile and Playwright controller. Browser owns observation, task state, action execution, recovery, and reports. Browser invokes system-one:v1 in-process for operation/target decisions; a separately configured small text model supplies initial navigation when needed, TYPE_TEXT values, and final observed reports. Master task decomposition and scoped conversations retain their current agent integration.

Reference repositories were cloned under workspace tmp/ for analysis only: browser-use/jev-ultrafast at 1231850 and chy4pro/jev-for-chrome at d5c24de. Adopt indexed compatible action spaces, speculative target questions, freshness checks, and bounded loop detection; do not add the Python harness or Chrome extension as runtime dependencies.

Implementation limits: main-document viewport controls and page scrolling, 120 controls and 6,000 text characters per snapshot, native select options, and ten recent observations per decision/report. Frames, shadow-root controls, uploads, drag/drop, nested scrolling, live latency, and model-based outcome quality remain future/live verification concerns. Completion verification is observation-based model cross-checking, not deterministic site assertions. System One requests retain their provider deadline and discard results after cancellation; upstream abort propagation is not yet part of the decision contract. Backend changes require a deliberate bot restart; no restart signal was issued from this chat.

Phase 1: Dedicated Task Workspace

Confidence policy and compact widget revision

Confirmed layout: compact tree rows with title/status/time, expandable latest outcome and Open task action; collapsed new-task composer; task panel with a small toolbar, concise checkpoint and Continue, and collapsed report/activity details. Avoid duplicate controls and raw decision/dispatch logs in the conversation.

Agreed layout: compact browser list/new-task widget; opening or creating a root places its dedicated task panel in the main timeline, not a modal or docked widget. Messages, checkpoint actions, and refresh update that timeline panel in place. Children are execution steps, not separate conversations. Login stays manual in the local headed browser. Phase 2 schedules executions through the job capability.

Implementation: the plugin owns the task widget, scoped conversations, execution locks/cancellation, and browser_runs report history. Core/client changes provide the reusable WebNodeRoot.autoRefreshMs primitive and ensure explicit timeline actions take precedence over docking without replacing the origin widget. Timeline-opening correction passed targeted ESLint and web TypeScript checks. A root retains its conversation agent session; each child retains its worker agent session. Phase 2 scheduling is deferred. Bot restart is required to load these backend changes; no restart signal was issued from the active chat.

Earlier Product Questions

  1. How should browser timeline/thread UX map onto current core/web timeline primitives?
  2. For MVP, do we want a dedicated browser thread/timeline immediately, or a simpler /browser run-started run that already writes to its own event store?
  3. After we settle the schema, should tasks/ stay minimal or split into events.ts / checkpoints.ts later?