@quanta-intellect/vessel-browser 0.1.20 → 0.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -12
- package/out/main/index.js +961 -108
- package/out/preload/index.js +62 -0
- package/out/renderer/assets/{index-CKOT_IZt.js → index-32axMD1q.js} +2444 -397
- package/out/renderer/assets/{index-DwRZftNk.css → index-BynCvURs.css} +831 -0
- package/out/renderer/index.html +2 -2
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+

|
|
3
4
|
# Vessel: Your Agent's Browser
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
4
9
|
|
|
5
10
|
Open-source browser runtime for persistent web agents on Linux.
|
|
6
11
|
|
|
@@ -55,6 +60,8 @@ npm install
|
|
|
55
60
|
npm run dev
|
|
56
61
|
```
|
|
57
62
|
|
|
63
|
+
If you want extra local AI tracing in development, create an optional `src/main/telemetry/trace-logger.local.cjs` file. Vessel will load it only in local dev builds, and packaged production builds ignore it.
|
|
64
|
+
|
|
58
65
|
### Why Vessel?
|
|
59
66
|
|
|
60
67
|
Most browser automation stacks are either headless, stateless, or designed around a human as the primary operator. Vessel is built around the opposite model: the browser is the agent's operating surface, and the human stays in the loop through a visible interface with clear supervisory controls.
|
|
@@ -76,16 +83,22 @@ Today, Vessel provides the browser shell, page visibility, and supervisory surfa
|
|
|
76
83
|
- **Agent-first browser model** — Vessel is designed around an agent driving the browser while a human watches, intervenes, and redirects
|
|
77
84
|
- **Human-visible browser UI** — pages render like a normal browser so agent activity stays legible instead of disappearing into a headless run
|
|
78
85
|
- **Command Bar** (`Ctrl+L`) — a secondary operator surface for harness-driven workflows and future runtime commands
|
|
79
|
-
- **Supervisor Sidebar** (`Ctrl+Shift+L`) — live supervision across
|
|
86
|
+
- **Supervisor Sidebar** (`Ctrl+Shift+L`) — live supervision across five tabs: Supervisor, Bookmarks, Checkpoints, Chat, and Automate
|
|
80
87
|
- **Chat Assistant** — built-in conversational AI in the sidebar Chat tab; supports Anthropic, OpenAI, Ollama, Mistral, xAI, Google Gemini, OpenRouter, and any OpenAI-compatible endpoint; reads the current page automatically; has full access to the same browser tools as external agents; multi-turn session history; configure provider, model, and API key in Settings
|
|
88
|
+
- **Automation Kits** (Premium) — parameterized workflow templates in the sidebar Automate tab; fill in a short form and the built-in agent executes the workflow autonomously; bundled kits include Research & Collect (multi-source research with bookmark saving) and Price Scout (cross-retailer price comparison); designed for a future kit marketplace
|
|
81
89
|
- **Dev Tools Panel** (`F12`) — inspect console output, network requests, and MCP/agent activity in a resizable panel at the bottom of the window; export logs by category and date range as JSON
|
|
82
90
|
- **Bookmarks for Agents** — save pages into folders, attach one-line folder summaries, and search bookmarks over MCP instead of dumping the entire library
|
|
83
91
|
- **Named Session Persistence** — save cookies, localStorage, and current tab layout under a reusable name, then reload it after a restart
|
|
92
|
+
- **Page Highlights** — agents can visually highlight text or elements on any page with labeled, color-coded markers that persist across navigation; highlight count and navigation controls appear in the sidebar; cleared explicitly or via tool call
|
|
93
|
+
- **Agent Transcript Dock** — floating transcript overlay anchored to the browser chrome; configurable display modes (off, summary, full) set in Settings; shows live agent thinking and status updates without occupying sidebar space
|
|
94
|
+
- **Workflow Flow Tracking** — agents can declare a named multi-step workflow at runtime using `flow_start`; progress is tracked step-by-step with `flow_advance` and visible in the sidebar throughout execution
|
|
84
95
|
- **Structured Page Visibility Context** — extraction can report in-viewport elements, obscured controls, active overlays, and dormant consent/modal UI
|
|
85
96
|
- **Popup Recovery Tools** — agents can explicitly dismiss common popups, newsletter gates, and consent walls instead of brute-forcing generic clicks
|
|
86
97
|
- **Per-Tab Ad Blocking Controls** — tabs default to ad blocking on, but agents can selectively disable and re-enable blocking when a page misbehaves
|
|
98
|
+
- **Domain Policy** — allowlist or blocklist domains globally in Settings; agents cannot navigate to blocked domains
|
|
87
99
|
- **Agent Credential Vault** (Premium) — encrypted credential storage for agent-driven logins; credentials are filled directly into login forms via a "blind fill" pattern and are never sent to AI providers; user consent dialog before every use; TOTP 2FA support; domain-scoped access; append-only audit log
|
|
88
|
-
- **
|
|
100
|
+
- **Screenshot & Visual Analysis** (Premium) — take a full-page screenshot and pass the image directly to the AI for visual layout analysis; useful when text extraction fails on heavy or canvas-rendered pages
|
|
101
|
+
- **Obsidian Memory Hooks** (Premium) — optional vault path for agent-written markdown notes, page captures, and research breadcrumbs
|
|
89
102
|
- **Runtime Health Checks** — startup warnings for MCP port conflicts, unreadable settings, and user-data write failures
|
|
90
103
|
- **Reader Mode** — extract article content into a clean, distraction-free view; toggle on and off from the address bar
|
|
91
104
|
- **Focus Mode** (`Ctrl+Shift+F`) — hide all chrome, content fills the screen
|
|
@@ -120,14 +133,17 @@ That means the product should optimize for:
|
|
|
120
133
|
Main Process Renderer (SolidJS)
|
|
121
134
|
├── TabManager (WebContentsView[]) ├── TabBar, AddressBar
|
|
122
135
|
├── AgentRuntime (session + supervision) ├── CommandBar (secondary surface)
|
|
123
|
-
├── MCP server for external agents ├── AI Sidebar (Supervisor/Bookmarks/Checkpoints/Chat)
|
|
136
|
+
├── MCP server for external agents ├── AI Sidebar (Supervisor/Bookmarks/Checkpoints/Chat/Automate)
|
|
124
137
|
├── AI providers (Anthropic + OAI-compat) ├── DevTools Panel (Console/Network/Activity)
|
|
125
|
-
├── Supervision, bookmarks, checkpoints
|
|
138
|
+
├── Supervision, bookmarks, checkpoints ├── Agent Transcript Dock
|
|
139
|
+
└── IPC Handlers ◄──contextBridge──► ──► └── Signal stores (tabs, ai, ui)
|
|
126
140
|
└── IPC Handlers ◄──contextBridge──► Preload API
|
|
127
141
|
```
|
|
128
142
|
|
|
129
143
|
Each browser tab is a separate `WebContentsView` managed by the main process. The browser chrome (SolidJS) runs in its own view layered on top. All communication between renderer and main goes through typed IPC channels via `contextBridge`.
|
|
130
144
|
|
|
145
|
+
The sidebar Automate tab renders kit forms entirely in the renderer and passes the rendered prompt to the built-in agent via the same `query()` path used by the Chat tab — no additional IPC surface is needed.
|
|
146
|
+
|
|
131
147
|
## Getting Started
|
|
132
148
|
|
|
133
149
|
The installer:
|
|
@@ -237,6 +253,23 @@ Page interaction and recovery tools exposed today include:
|
|
|
237
253
|
- `vessel_dismiss_popup`
|
|
238
254
|
- `vessel_set_ad_blocking`
|
|
239
255
|
- `vessel_wait_for`
|
|
256
|
+
- `vessel_screenshot` (Premium) — capture the full page as an image for visual AI analysis
|
|
257
|
+
|
|
258
|
+
Page highlight tools:
|
|
259
|
+
|
|
260
|
+
- `vessel_highlight` — visually mark text or an element on the page with a labeled, color-coded overlay; persists until cleared
|
|
261
|
+
- `vessel_clear_highlights` — remove all highlights from the current page
|
|
262
|
+
|
|
263
|
+
Workflow tracking tools:
|
|
264
|
+
|
|
265
|
+
- `vessel_flow_start` — begin a named multi-step workflow and declare its steps upfront; progress appears in the sidebar throughout execution
|
|
266
|
+
- `vessel_flow_advance` — mark the current step complete and advance to the next
|
|
267
|
+
- `vessel_flow_status` — check current workflow progress
|
|
268
|
+
- `vessel_flow_end` — clear the active workflow tracker
|
|
269
|
+
|
|
270
|
+
Data extraction tools (Premium):
|
|
271
|
+
|
|
272
|
+
- `vessel_extract_table` — extract a page table as structured JSON rows with column headers
|
|
240
273
|
|
|
241
274
|
Named session tools exposed today include:
|
|
242
275
|
|
|
@@ -253,6 +286,10 @@ Agent Credential Vault tools (Premium):
|
|
|
253
286
|
- `vessel_vault_login` — fill a login form using stored credentials (blind fill — credentials go directly into the page, never into the AI conversation)
|
|
254
287
|
- `vessel_vault_totp` — generate and fill a TOTP 2FA code from a stored secret
|
|
255
288
|
|
|
289
|
+
Session performance tools (Premium):
|
|
290
|
+
|
|
291
|
+
- `vessel_metrics` — show per-tool call counts, average durations, error rates, and total session stats
|
|
292
|
+
|
|
256
293
|
Vault security model:
|
|
257
294
|
|
|
258
295
|
- Credentials are encrypted at rest using AES-256-GCM with a key protected by the OS keychain (Electron safeStorage)
|
|
@@ -373,13 +410,24 @@ src/
|
|
|
373
410
|
├── main/ # Electron main process
|
|
374
411
|
│ ├── ai/ # Agent tools, query flow, and AI provider implementations
|
|
375
412
|
│ ├── tabs/ # Tab + TabManager (WebContentsView)
|
|
376
|
-
│ ├── agent/ # Agent runtime, checkpoints, supervision
|
|
377
|
-
│ ├── content/ # Readability extraction, reader mode
|
|
413
|
+
│ ├── agent/ # Agent runtime, checkpoints, supervision, flow tracking
|
|
414
|
+
│ ├── content/ # Readability extraction, reader mode, screenshot
|
|
378
415
|
│ ├── config/ # Settings persistence
|
|
379
416
|
│ ├── ipc/ # IPC handler registry
|
|
380
417
|
│ ├── vault/ # Agent Credential Vault (encrypted storage, consent, audit)
|
|
381
418
|
│ ├── mcp/ # MCP server for external agent control
|
|
382
419
|
│ ├── devtools/ # CDP session management for Dev Tools panel
|
|
420
|
+
│ ├── highlights/ # Page highlight capture, injection, and persistence
|
|
421
|
+
│ ├── health/ # Runtime health monitoring (MCP, settings, ports)
|
|
422
|
+
│ ├── premium/ # Subscription management, feature gating, Stripe integration
|
|
423
|
+
│ ├── bookmarks/ # Bookmark and folder persistence
|
|
424
|
+
│ ├── history/ # Browse history
|
|
425
|
+
│ ├── memory/ # Obsidian vault hooks
|
|
426
|
+
│ ├── network/ # Ad blocking, URL safety, link validation, downloads
|
|
427
|
+
│ ├── sessions/ # Named session save/load/delete
|
|
428
|
+
│ ├── startup/ # App initialization, menu, shortcuts, renderer bootstrap
|
|
429
|
+
│ ├── telemetry/ # PostHog analytics (opt-in)
|
|
430
|
+
│ ├── tools/ # Tool definitions, input coercion, pruning
|
|
383
431
|
│ ├── window.ts # Window layout manager
|
|
384
432
|
│ └── index.ts # App entry point
|
|
385
433
|
├── preload/ # contextBridge scripts
|
|
@@ -388,13 +436,13 @@ src/
|
|
|
388
436
|
├── renderer/ # SolidJS browser UI
|
|
389
437
|
│ └── src/
|
|
390
438
|
│ ├── components/
|
|
391
|
-
│ │ ├── chrome/ # TitleBar, TabBar, AddressBar
|
|
392
|
-
│ │ ├── ai/ # CommandBar, Sidebar (Supervisor/Bookmarks/Checkpoints/Chat)
|
|
439
|
+
│ │ ├── chrome/ # TitleBar, TabBar, AddressBar, AgentTranscriptDock
|
|
440
|
+
│ │ ├── ai/ # CommandBar, Sidebar (Supervisor/Bookmarks/Checkpoints/Chat/Automate)
|
|
393
441
|
│ │ ├── devtools/ # DevTools panel (Console, Network, Activity)
|
|
394
442
|
│ │ └── shared/ # Settings panel
|
|
395
|
-
│ ├── stores/ # SolidJS signal stores
|
|
443
|
+
│ ├── stores/ # SolidJS signal stores (tabs, ai, ui, runtime, bookmarks, etc.)
|
|
396
444
|
│ ├── styles/ # Theme, global CSS
|
|
397
|
-
│ └── lib/ # Keybindings
|
|
445
|
+
│ └── lib/ # Keybindings, markdown, automation kits registry
|
|
398
446
|
└── shared/ # Types + IPC channel constants
|
|
399
447
|
```
|
|
400
448
|
|