惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
T
Threatpost
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - Franky
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
M
MIT News - Artificial intelligence
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
云风的 BLOG
云风的 BLOG
S
Security Affairs
P
Proofpoint News Feed
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
S
Security @ Cisco Blogs
H
Hacker News: Front Page
Security Archives - TechRepublic
Security Archives - TechRepublic
Vercel News
Vercel News
Engineering at Meta
Engineering at Meta
Know Your Adversary
Know Your Adversary
Y
Y Combinator Blog
美团技术团队
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
月光博客
月光博客
量子位
博客园_首页
The Last Watchdog
The Last Watchdog
D
DataBreaches.Net
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed
The Register - Security
The Register - Security
Schneier on Security
Schneier on Security
H
Help Net Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
F
Full Disclosure
C
Cyber Attacks, Cyber Crime and Cyber Security
MyScale Blog
MyScale Blog
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
L
Lohrmann on Cybersecurity
S
Secure Thoughts
Stack Overflow Blog
Stack Overflow Blog
Cloudbric
Cloudbric
Microsoft Security Blog
Microsoft Security Blog

Show HN

GitHub - steveking-gh/firmion: Firmion is DSL and engine for firmware image generation. GitHub - villagesql/villagesql-skills: Agent skills for VillageSQL - gemini-cli-extension; claude-code-plugin GitHub - flightdeckhq/flightdeck: Observability and control plane for AI agents. CSP Radar GitHub - Light-Heart-Labs/DreamServer: Turn your PC, Mac, or Linux box into an AI server. LLM inference, chat UI, voice, agents, workflows, RAG, and image generation. GitHub - Diplomat-ai/diplomat-agent-ts: What can your TypeScript AI agent do to the real world? Scan your code. See which tool calls have zero checks Code Block Selector - Visual Studio Marketplace Prometheus dependency graph — interactive showcase | Riftmap Show HN: I made a vi-like modal keyboard plugin for Figma GitHub - run-llama/liteparse: A fast, helpful, and open-source document parser GitHub - dalemyers/Roar: A macOS CLI tool for notifications GitHub - district-solutions/open-agent-tools-coder: Enables small-to-large self-hosted ai models to use local source code when running tool-calling agentic workloads. We actively data mine 20,900+ (2+ TB) popular github repos using large and small ai models to create reuseable: json, markdown and parquet files for local-first tool-calling models. GitHub - progapandist/stripeek: A local TUI proxy for real-time Stripe API debugging, built for navigating complex payloads fast. GitHub - sir1st/hermes-desktop: All-in-one cross-platform desktop app for Hermes Agent — bundles Python + hermes-agent + hermes-web-ui GitHub - astefanutti/shaderbang: Shebang for Shaders Show HN: Generate Claude Code Workflows using Spec Driven Development approach GitHub - nixys/nxs-universal-chart: The Helm chart you can use to install any of your applications into Kubernetes/OpenShift Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap GitHub - noopolis/moltnet: Self-hostable chat network for AI agents. Pre-built bridges for Claude Code, Codex, and the Claws. Rooms, DMs, history. No Slack bots, no Matrix, no glue code. GitHub - tamerh/enju: Coordinating Humans, AI Agents, and Compute as Peers on a Shared Workflow Graph Show HN: Continuity-auth – Respect-weighted rate limits for the open web GitHub - luml-ai/luml: AI lifecycle platform where engineers and agents track experiments, train models, and ship to production. GitHub - mrdanielcasper/CoreTex: A UNIX-inspired, biomimetic, flat-file AI harness and knowledge engine. GitHub - clemg/pierre-github: Pierre's diffs.com and trees.software for Github GitHub - lyriks-io/unspaghettit: Behavior-driven AI development without prompt spaghetti. GitHub - sofumel/claude-handoff-revive: Resume Claude Code work after rate/usage/context limits without replaying the prior transcript. Auto-saves at 90%/95% usage. Plugin-installable, 10 languages. GitHub - dotexorg/saferpc: Typed, end-to-end encrypted RPC over any bidirectional channel. GitHub - BeeZeeAgent/beezee: Agent harness orchestration Legato Next.js Boilerplate for Internal Tools · CoreUI GitHub - clark-labs-inc/clark-hash: Clark Hash, 32x smaller searchable sketches for embeddings GitHub - ZeroPointRepo/youtube-mcp: The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free. Typing Mastery — climb toward 100+ WPM, deliberately GitHub - Andebugulin/Awareen GitHub - fayzan123/claude-workflow-composer: Visual desktop app for composing multi-agent coding workflows. Drag agents, attach skills and MCPs, wire handoffs, export to .claude/ GitHub - harshaneel/humanize: Best static AI text humanizer. Two research-grounded skills that work in any LLM (Claude, ChatGPT, Gemini, Codex): humanize beats perplexity-based detectors, ai-check produces forensic scoring with evidence-quoted flags. Nine levers, 50+ peer-reviewed sources, 2024-2026 detection literature. GitHub - StackOneHQ/stack-nudge GitHub - nodes-app/swift-markdown-engine: A native AppKit Markdown editor for macOS, built on TextKit 2 and bridged to SwiftUI. We hardened an LLM agent. Each defense we added made it more exploitable. GitHub - alkait/WhatsKept: Agent-queryable WhatsApp history from an iOS backup — a single Go binary. GitHub - octelium/cordium: Open-source, general-purpose sandbox platform for devs and AI agents that provides identity-based secure access to infrastructure without credentials. WAR.GOV/UFO Microfilm5 GitHub - scosman/videowright: Build animated explainer videos with your coding agent GitHub - dipankar/dscode: The code editor you can take apart. GitHub - zoharbabin/web-researcher-mcp: MCP server (Go) for AI assistants: web search, content extraction, academic/patent/news research. Multi-provider routing, 4-tier scraping, search lenses. Works with Claude, Cursor, and any MCP client. GitHub - ruvnet/RuView: π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video. GitHub - scanaislop/aislop: Catch the slop AI coding agents leave in your code: narrative comments, swallowed exceptions, as-any casts, dead code, oversized functions. 50+ rules across 7 languages (TypeScript, JavaScript, Python, Go, Rust, Ruby, PHP). Sub-second, deterministic, no LLM at runtime. MIT-licensed. GitHub - kouhxp/cheap-im: CPU-only voice agent approximating Thinking Machines' Interaction Models demo GitHub - unprovable/OrchidMantis: Orchid Mantis — standalone framework for Zero-Knowledge Proofs of eXploit (ZKPoX). GitHub - MarcellM01/TinySearch: Shrink the web for your local LLMs! GitHub - TangibleResearch/Halgorithem: A Algo designed to detect AI Hallucitions GitHub - DO-SAY-GO/freelang: I love freelang GitHub - CarpseDeam/Aura-IDE: An AI coding harness that shaped itself - Planner/Worker agents, repo awareness, surgical edits, validation, recovery, and safe diff approvals. GitHub - chojs23/concord: A feature-rich TUI client for Discord GitHub - tommyjepsen/awesome-ux-skills: UX & AI Product designs skills you can use today in Claude Code GitHub - aerf-spec/aerf: Agent Evidence Receipt Format (AERF) — an open specification for tamper-evident, independently verifiable records of AI agent actions. GitHub - kklimuk/docx-cli: CLI for AI agents (Claude, Codex) to read, edit, and comment on .docx files with full format fidelity. GitHub - Jwrede/tokentoll: Catch LLM cost changes in code review. Infracost for LLM spend. GitHub - samchon/ttsc: A `typescript-go` toolchain for compiler-powered plugins and type-safe execution + 500x faster lint integrated into compiler GitHub - Higangssh/homebutler: 🏠 Manage your homelab from chat. Single binary, zero dependencies. GitHub - olalie/tapmap: See where your computer connects and what stands out on a live world map. GitHub - Diplomat-ai/diplomat-agent: What can your AI agent do to the real world? Scan your code. See which tool calls have zero checks GitHub - Bajusz15/beacon: Open-source agent for secure remote access, monitoring, and deploys across home-lab and self-hosted machines like Raspberry Pi, N100, or any Linux server. Open web based TTY or tunnel Home Assistant and other local services securely without opening ports. BigTech AI News - Chrome 应用商店 GitHub - vinhnx/VTCode: VT Code is an open-source coding agent with LLM-native code understanding and robust shell safety. Supports multiple LLM providers with automatic failover and efficient context management. GitHub - michaelaz774/decision-engine: A decision operating system for startup founders, powered by Claude Code. Synthesizes wisdom from 25+ legendary founders and investors into interactive AI-driven decision frameworks. GitHub - Chrilleweb/dotenv-diff: Validate environment variable usage in your codebase GitHub - Lumen-Labs/brainapi2: BrainAPI is a knowledge graph–powered AI memory layer that transforms unstructured data into structured knowledge, enabling intelligent search, recommendations, and contextual memory for AI agents and applications. GitHub - familiar-software/familiar: Let AI watch you work. Familiar lets your AI update its memory, skills, and knowledge by watching your screen. GitHub - skorotkiewicz/rudo: A small, elegant dock for Wayland GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. make sidebar/address bar rounded corner toggleable
GitHub - unmodeled-tyler/vessel-browser: Built from the ground-up for agents, Vessel Browser is an open source AI browser for Linux/Mac/Windows that provides a durable state, MCP control, and BYOK with full autonomous browsing. Use with Hermes Agent, OpenClaw, or connect to your favorite API provider.
unmodeledtyl · 2026-06-18 · via Show HN

Open source chromium-based browser for persistent web agents. Linux is the most mature install target today, and macOS release packaging is available from source.

Vessel gives external agent harnesses a real browser with durable state, MCP control, and a human-visible supervisory UI. It is built for long-running workflows where the agent drives and the human audits, intervenes, and redirects when needed.

  • Built for agent harnesses such as Hermes Agent, OpenClaw, and other MCP clients
  • Keeps browser state alive with named sessions, pinned tabs, editable/exportable bookmarks, annotated checkpoints, action undo, and structured page visibility
  • Keeps humans in the loop with approvals, runtime controls, and a visible browser instead of a headless black box

Vessel is in active development and currently makes no security assurances. Use and deploy it with care.

vessel-browser-demo-1.mp4

Quick Start

Want the full agent toolkit from day one? Start a 7-Day Free Trial of Vessel Premium — $5.99/mo.

Fastest Install Today

Linux AppImage from GitHub Releases:

  1. Download the latest Vessel-<version>-x64.AppImage
  2. Mark it executable: chmod +x Vessel-*.AppImage
  3. Launch it: ./Vessel-*.AppImage
  4. Open Settings (Ctrl+,) and confirm the MCP endpoint shown there

Install via npm

npm install -g @quanta-intellect/vessel-browser
vessel-browser

Or run it directly without installing:

npx @quanta-intellect/vessel-browser

Source Install

curl -fsSL https://raw.githubusercontent.com/unmodeled-tyler/vessel-browser/main/scripts/install.sh | bash

Development From Source

Vessel development uses Node.js 22. If you use fnm, run fnm use from the repo root to pick up .node-version.

fnm use
npm install
npm run dev

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.

Why Vessel?

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.

Vessel Browser supervisor sidebar showing agent workflow controls Vessel Browser command bar and agent-driven page interaction Vessel Browser persistent session and checkpoint interface Vessel Browser integrated chat assistant with browser tools

Vessel is built for persistent web agents that need a real browser, durable state, and a human-visible interface. The agent is the primary operator. The human follows along in the live browser UI, audits what the agent is doing, and steers when needed.

Today, Vessel provides the browser shell, page visibility, and supervisory surfaces needed to support that model. The long-term goal is not "a browser with AI features," but a browser runtime for autonomous agents with a clear supervisory experience for humans.

Features

  • Agent-first browser model — Vessel is designed around an agent driving the browser while a human watches, intervenes, and redirects
  • Human-visible browser UI — pages render like a normal browser so agent activity stays legible instead of disappearing into a headless run
  • Command Bar (Ctrl+L) — a secondary operator surface for harness-driven workflows and future runtime commands
  • Supervisor Sidebar (Ctrl+Shift+L) — live supervision across eight tabs: Supervisor, Bookmarks, Checkpoints, Chat, Skills, History, Changes, and Research
  • Chat Assistant — built-in conversational AI in the sidebar Chat tab; supports Anthropic, OpenAI, Ollama, llama.cpp, 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
  • Skills (Premium) — reusable browser skills in the sidebar Skills tab; import, view, run, or delete skills the built-in agent can use for research, shopping, and site-specific workflows
  • Research Desk (Beta) — a dedicated sidebar Research tab for structured research reports; start with a topic, complete an in-tab briefing, let Vessel draft research objectives, approve the plan, then dispatch browser sub-agents to collect source-backed claims and synthesize a markdown-exportable report. Starting the brief is free; plan approval, sub-agent execution, and report export require Vessel Premium.
  • 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
  • Browser Basics For Long Runs — pinned tabs stay compact at the front of the tab strip and are protected from accidental close; tab groups can be color-coded and collapsed; audible tabs show audio indicators with mute controls; open additional browser windows with Ctrl+N; print the active page with Ctrl+P or save it directly as PDF with Ctrl+Shift+P
  • Action Undo / Rollback — restore the browser to the session snapshot captured immediately before the last successful mutating agent action; available from the Supervisor tab and through the undo_last_action tool
  • Agent-Meaningful Bookmarks — bookmarks carry structured context the agent can read and act on: intent (what the page is for), expectedContent (what to expect on the page), keyFields (important form fields), agentHints (arbitrary directives), and a stored pageSchema; humans can create and edit this metadata directly in the Bookmarks tab, and all fields are searchable
  • Portable Bookmark Export — export browser-compatible Netscape HTML for import into Chrome, Firefox, Safari, Edge, Brave, and other browsers; optionally include Vessel notes/agent metadata, or export a full-fidelity Vessel JSON archive
  • Page Schema Inference — Vessel automatically infers a typed schema for every page: pageType (article, product, form, search, checkout, login, dashboard), primaryEntity (structured fields for products and articles), formFields (with names, types, labels, selectors), and actionButtons (with inferred intents: submit, addToCart, login, etc.); schema is attached to every content extraction result
  • Bookmarks for Agents — save pages into folders, attach one-line folder summaries, and search bookmarks over MCP instead of dumping the entire library
  • Named Session Persistence — save cookies, localStorage, and current tab layout under a reusable name, then reload it after a restart
  • Annotated Checkpoints — capture and restore short-lived browser recovery points with names and editable notes, so humans and agents can mark why a checkpoint matters before risky flows
  • 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
  • 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
  • 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
  • Structured Page Visibility Context — extraction can report in-viewport elements, obscured controls, active overlays, and dormant consent/modal UI
  • Popup Recovery Tools — agents can explicitly dismiss common popups, newsletter gates, and consent walls instead of brute-forcing generic clicks
  • Form Autofill Profiles — save reusable personal or work profiles in Settings and fill common contact, address, and organization fields on the current page; Vessel matches fields using labels, names, placeholders, and autocomplete hints
  • Page Diff / "What Changed?" — Vessel remembers the last snapshot of a page and surfaces a Changed badge in the address bar when the title, headings, or main content differ on a later visit; expand it to see a compact summary of what changed since the last snapshot
  • What Changed Timeline (Premium) — the sidebar Changes tab keeps a per-page history of recent change bursts, showing when each update was detected and a compact summary of what changed
  • Per-Tab Ad Blocking Controls — tabs default to ad blocking on, but agents can selectively disable and re-enable blocking when a page misbehaves
  • Domain Policy — allowlist or blocklist domains globally in Settings; agents cannot navigate to blocked domains
  • 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
  • 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
  • Obsidian Memory Hooks (Premium) — optional vault path for agent-written markdown notes, page captures, and research breadcrumbs
  • Runtime Health Checks — startup warnings for MCP port conflicts, unreadable settings, and user-data write failures
  • Reader Mode — extract article content into a clean, distraction-free view; toggle on and off from the address bar
  • Focus Mode (Ctrl+Shift+F) — hide all chrome, content fills the screen
  • Resizable Panels — drag the sidebar edge to resize; width persists across sessions
  • Minimal Dark Theme — warm dark grays, restrained accent color, and no pure black/white

Positioning

Most browsers treat automation as secondary and assume a human is the primary actor. Vessel is the opposite: it is the browser for the agent, with a visible interface that keeps the human in the loop.

That means the product should optimize for:

  • persistent browser state across tasks and sessions
  • clear visibility into what the agent is doing right now
  • lightweight human intervention instead of constant manual driving
  • a browser runtime that can serve long-lived agent systems such as Hermes Agent or OpenClaw-style harnesses

Stack

Layer Technology
Engine Chromium (Electron 40)
UI Framework SolidJS
Language TypeScript
Build electron-vite + Vite
AI Control External agent harnesses (Hermes Agent, OpenClaw, MCP clients) + built-in chat (Anthropic, OpenAI, Ollama, llama.cpp, and any OAI-compatible endpoint)
Content Extraction @mozilla/readability

Architecture

Main Process                              Renderer (SolidJS)
├── TabManager (WebContentsView[])        ├── TabBar, AddressBar
├── AgentRuntime (session + supervision)  ├── CommandBar (secondary surface)
├── MCP server for external agents        ├── AI Sidebar (Supervisor/Bookmarks/Checkpoints/Chat/Automate/History/Changes/Research)
├── AI providers (Anthropic + OAI-compat) ├── DevTools Panel (Console/Network/Activity)
├── Supervision, bookmarks, checkpoints   ├── Agent Transcript Dock
└── IPC Handlers ◄──contextBridge──► ──► └── Signal stores (tabs, ai, ui)
└── IPC Handlers ◄──contextBridge──► Preload API

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.

The sidebar Skills tab renders skill 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. The Changes tab reads the current page's diff timeline through IPC and unlocks persisted history for Premium users. The Research tab has a dedicated IPC surface for its state machine: briefing is available to everyone, while objective approval, parallel browser sub-agents, report synthesis, and markdown export are Premium-gated during the beta.

Getting Started

The installer:

  • clones or updates Vessel into ~/.local/share/vessel-browser
  • installs dependencies and builds the app
  • creates a vessel-browser launcher in ~/.local/bin
  • creates a vessel-browser-launch helper in ~/.local/bin
  • creates a vessel-browser-update helper in ~/.local/bin
  • creates a vessel-browser-status helper in ~/.local/bin
  • creates a desktop entry for Linux app launchers
  • writes ~/.config/vessel/vessel-settings.json with MCP port 3100
  • writes ~/.config/vessel/mcp-stdio-snippet.json
  • writes ~/.config/vessel/mcp-http-snippet.json
  • installs a vessel-browser-mcp helper that can run as a stdio-to-HTTP proxy (--stdio) or print config snippets
  • prints the exact recommended stdio MCP snippet to paste into your harness config

The packaged AppImage path:

  • does not require a local Node/Electron toolchain
  • uses the packaged Vessel app icon and metadata
  • is the recommended path for early adopters who just want to run Vessel

Windows packaged releases:

  • use the Vessel-<version>-x64-setup.exe NSIS installer
  • can be installed over an existing Vessel install when upgrading
  • preserve Vessel app data during the normal upgrade path

You do not need to uninstall Vessel before installing a newer Windows release. Uninstall first only if you are recovering from a broken install or intentionally removing local Vessel data.

After install:

# Use the pinned Node.js 22 runtime
fnm use

# Install dependencies
npm install

# If Electron download fails, use a mirror:
ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/" npm install

# Development (with HMR)
npm run dev

# Production build
npm run build

# Smoke-test the MVP release path
npm run smoke:test

# Package an unpacked Linux app
npm run dist:dir

# Package a Linux AppImage
npm run dist

# Package an unpacked universal macOS app bundle (run on macOS)
npm run dist:mac:dir

# Package universal macOS DMG + ZIP artifacts (run on macOS)
npm run dist:mac

# Verify a universal macOS build contains Intel and Apple Silicon slices
npm run verify:mac:universal

# Package signed macOS DMG + ZIP artifacts (run on macOS with signing set up)
npm run dist:mac:signed

Notes:

  • npm run dev still launches the stock Electron binary, so Linux may continue showing the default Electron gear icon in development
  • packaged builds created with npm run dist / npm run dist:dir use the Vessel app icon
  • npm run build:icon:mac regenerates resources/vessel-icon.icns from resources/vessel-icon.png for macOS packaging
  • npm run dist:mac and npm run dist:mac:dir build universal macOS artifacts by default, so the same app runs natively on Intel and Apple Silicon Macs
  • npm run dist:mac:x64 and npm run dist:mac:arm64 are available when you need smaller architecture-specific test artifacts
  • npm run verify:mac:universal uses lipo to confirm the packaged app executable and Electron framework include both x86_64 and arm64 slices
  • npm run dist:mac, npm run dist:mac:dir, npm run dist:mac:x64, and npm run dist:mac:arm64 intentionally disable auto-signing so local packaging works on any Mac without keychain setup
  • npm run dist:mac:signed and npm run dist:mac:dir:signed build universal artifacts and use normal electron-builder signing discovery; if your login keychain has duplicate Apple certs, clean those up or use a dedicated keychain before running the signed path
  • signed builds are still not notarized by this repo out of the box, so Gatekeeper warnings remain until notarization is added for release publishing
  • the tracked smoke test runs typecheck, build, the MCP stdio proxy regression check, and the Electron navigation regression harness
  • for headless CI, run the smoke test under xvfb-run -a npm run smoke:test

Setting up Vessel for Hermes Agent or OpenClaw

Vessel is designed to act as the browser runtime that your external agent harness drives.

  1. Launch Vessel
  2. Open Settings (Ctrl+,) to confirm MCP status, copy the endpoint, or change the MCP port
  3. Optional: set an Obsidian vault path, create autofill profiles, or adjust session preferences
  4. Start Hermes Agent or OpenClaw and point it at Vessel — the easiest way is vessel-browser-mcp --stdio as the MCP command (auth is resolved automatically), or connect directly to http://127.0.0.1:<mcpPort>/mcp with the bearer token from ~/.config/vessel/mcp-auth.json
  5. Use the Supervisor panel in Vessel's sidebar to pause the agent, change approval mode, review pending approvals, checkpoint, undo the last mutating action, or restore the browser session while the harness runs
  6. Use the Bookmarks panel to organize saved pages into folders, edit agent-facing bookmark metadata, export bookmarks for other browsers, and expose saved pages back to the agent over MCP

Notes:

  • Vessel exposes browser control to external agents through its local MCP server
  • The default MCP port is 3100
  • Hermes Agent and OpenClaw should treat Vessel as the persistent, human-visible browser rather than launching their own separate browser session
  • Vessel supports a built-in Chat tab with configurable AI provider; open Settings (Ctrl+,) and enable Chat Assistant to set a provider and model
  • The sidebar Research tab is marked Beta; use it to turn a broad research topic into a brief, approve a multi-thread plan, run browser sub-agents, and export the final report as markdown. Briefing is free, while full execution and export require Premium.
  • llama.cpp (Local) is a first-class chat provider in Settings and targets http://localhost:8080/v1 by default; Vessel auto-fetches the active model from llama-server
  • For llama-server, use --ctx-size 16384 minimum and 32768 recommended for reliable Vessel agent loops; lower values often fail once prompt, tool schema, and tool history accumulate
  • Approval policy is controlled live from the sidebar Supervisor panel rather than a separate global settings screen
  • Settings now show MCP runtime status, active endpoint, startup warnings, and allow changing the MCP port with an immediate server restart
  • Settings also include reusable Form Autofill profiles for one-click filling of common contact and address forms on the active page
  • The address bar can also show a Changed badge when Vessel detects that a previously visited page has meaningfully changed since the last saved snapshot
  • Premium users can open the sidebar Changes tab for the full What Changed timeline for the active page
  • The Bookmarks tab can export browser-compatible HTML, HTML with Vessel notes, or a full Vessel JSON archive with agent metadata intact
  • Agents can selectively disable ad blocking for a problematic tab, reload, retry the flow, and turn blocking back on later
  • Agents can persist authenticated state with named sessions, for example github-logged-in, and reload that state in later runs
  • The intended control plane is an external harness driving Vessel through MCP
  • If you set an Obsidian vault path in Settings, harnesses can write markdown notes directly into that vault via Vessel memory MCP tools

Using llama.cpp as the built-in chat provider

Vessel can talk directly to a local llama-server through its OpenAI-compatible API.

Example:

llama-server -m /path/to/model.gguf --port 8080 --ctx-size 32768

Then in Vessel:

  1. Open Settings (Ctrl+,)
  2. Enable Chat Assistant
  3. Choose llama.cpp (Local) as the provider
  4. Click refresh if needed; Vessel will auto-detect the active model from http://localhost:8080/v1

Notes:

  • --ctx-size 16384 is the minimum practical setting for Vessel agent loops
  • --ctx-size 32768 is the recommended default for longer browsing sessions
  • Vessel will warn in Settings if it detects a llama-server context size below the recommended floor, or if it cannot detect the ctx size from the running server

Initial memory tools:

  • vessel_memory_note_create
  • vessel_memory_append
  • vessel_memory_list
  • vessel_memory_search
  • vessel_memory_page_capture
  • vessel_memory_link_bookmark

Bookmark and folder tools exposed today include:

  • vessel_bookmark_list
  • vessel_bookmark_search
  • vessel_bookmark_open
  • vessel_bookmark_save
  • vessel_bookmark_remove
  • vessel_create_folder
  • vessel_folder_rename
  • vessel_folder_remove

Page interaction and recovery tools exposed today include:

  • vessel_extract_content
  • vessel_read_page
  • vessel_scroll
  • vessel_dismiss_popup
  • vessel_set_ad_blocking
  • vessel_wait_for
  • vessel_screenshot (Premium) — capture the full page as an image for visual AI analysis
  • undo_last_action — restore the browser to the snapshot captured before the last successful mutating agent action

Page highlight tools:

  • vessel_highlight — visually mark text or an element on the page with a labeled, color-coded overlay; persists until cleared
  • vessel_clear_highlights — remove all highlights from the current page

Workflow tracking tools:

  • vessel_flow_start — begin a named multi-step workflow and declare its steps upfront; progress appears in the sidebar throughout execution
  • vessel_flow_advance — mark the current step complete and advance to the next
  • vessel_flow_status — check current workflow progress
  • vessel_flow_end — clear the active workflow tracker

Data extraction tools (Premium):

  • vessel_extract_table — extract a page table as structured JSON rows with column headers

Named session tools exposed today include:

  • vessel_save_session
  • vessel_load_session
  • vessel_list_sessions
  • vessel_delete_session

Session files are sensitive because they may contain login cookies and tokens. Vessel stores them under the app user-data directory with restrictive file permissions.

Agent Credential Vault tools (Premium):

  • vessel_vault_status — check whether stored credentials exist for a domain (returns labels/usernames, never passwords)
  • vessel_vault_login — fill a login form using stored credentials (blind fill — credentials go directly into the page, never into the AI conversation)
  • vessel_vault_totp — generate and fill a TOTP 2FA code from a stored secret

Session performance tools (Premium):

  • vessel_metrics — show per-tool call counts, average durations, error rates, and total session stats

Vault security model:

  • Credentials are encrypted at rest using AES-256-GCM with a key protected by the OS keychain (Electron safeStorage)
  • Credential values are never sent to AI providers — they flow only through the main process to the content script
  • Every credential use triggers a user consent dialog ("Allow Once" / "Allow for Session" / "Deny")
  • All credential access is recorded in an append-only audit log
  • Credentials are domain-scoped — they can only be used on matching domains
  • Users manage credentials in Settings > Agent Credential Vault

Notable extraction modes include:

  • visible_only — only currently visible, in-viewport, unobstructed interactive elements plus active overlays
  • results_only — likely primary search/result links only
  • full / summary / interactives_only / forms_only / text_only

The extraction output can distinguish:

  • active blocking overlays
  • dormant consent/modal UI present in the DOM but not active for the current session or region

Stdio proxy MCP config (recommended — resolves auth automatically):

{
  "mcpServers": {
    "vessel": {
      "command": "vessel-browser-mcp",
      "args": ["--stdio"]
    }
  }
}

The stdio proxy reads the bearer token from ~/.config/vessel/mcp-auth.json at connection time, so no manual token management is needed. Vessel must already be running when your MCP client connects, and ~/.config/vessel/mcp-auth.json must exist from install or first launch.

Generic HTTP MCP config (requires copying the token manually):

{
  "mcpServers": {
    "vessel": {
      "type": "http",
      "url": "http://127.0.0.1:3100/mcp",
      "headers": {
        "Authorization": "Bearer <token from ~/.config/vessel/mcp-auth.json>"
      }
    }
  }
}

Hermes Agent config.yaml MCP config:

mcp_servers:
  vessel:
    url: "http://127.0.0.1:3100/mcp"
    headers:
      Authorization: "Bearer <token from ~/.config/vessel/mcp-auth.json>"
    timeout: 180
    connect_timeout: 30

Configuration

The installer writes three snippets to:

  • ~/.config/vessel/mcp-stdio-snippet.json
  • ~/.config/vessel/mcp-http-snippet.json
  • ~/.config/vessel/mcp-hermes-snippet.yaml

It also installs a helper command:

Helper examples:

# Run as stdio-to-HTTP proxy (for MCP client integration)
vessel-browser-mcp --stdio

# Recommended stdio MCP snippet
vessel-browser-mcp

# Generic JSON snippet with Authorization header
vessel-browser-mcp --format json

# Hermes-ready YAML snippet with Authorization header
vessel-browser-mcp --format hermes

# Raw MCP endpoint URL
vessel-browser-mcp --format url

# Raw MCP bearer token
vessel-browser-mcp --format token

Source install update helpers:

# Check whether a source-install update is available
vessel-browser-update --check

# Fetch, rebuild, and update the local source install
vessel-browser-update

Status helper:

# Human-readable local install + MCP status
vessel-browser-status

# Machine-readable status for harnesses
vessel-browser-status --json

Smart launch helper:

# Launch Vessel using the best available local install
vessel-browser-launch

# Show the chosen launch path without starting anything
vessel-browser-launch --dry-run

vessel-browser-launch prefers a healthy source install and falls back to the newest local AppImage when the source install is likely blocked by Electron sandbox permissions.

Keyboard Shortcuts

Shortcut Action
Ctrl+L AI Command Bar
Ctrl+Shift+L Toggle AI Sidebar
Ctrl+Shift+F Toggle Focus Mode
F12 Toggle Dev Tools Panel
Ctrl+N New Window
Ctrl+T New Tab
Ctrl+W Close Tab
Ctrl+Shift+T Reopen Closed Tab
Ctrl+Shift+N New Private Window
Ctrl+F Find in Page
Ctrl++ / Ctrl+= Zoom In
Ctrl+- Zoom Out
Ctrl+0 Reset Zoom
Ctrl+P Print Active Page
Ctrl+Shift+P Save Active Page as PDF
Ctrl+, Settings

Project Structure

src/
├── main/                 # Electron main process
│   ├── ai/               # Agent tools, query flow, and AI provider implementations
│   ├── tabs/             # Tab + TabManager (WebContentsView)
│   ├── agent/            # Agent runtime, checkpoints, supervision, flow tracking
│   ├── content/          # Readability extraction, reader mode, screenshot, page snapshots/diff
│   ├── config/           # Settings persistence
│   ├── autofill/         # Autofill profile persistence and form-field matching
│   ├── ipc/              # IPC handler registry
│   ├── vault/            # Agent Credential Vault (encrypted storage, consent, audit)
│   ├── mcp/              # MCP server for external agent control
│   ├── devtools/         # CDP session management for Dev Tools panel
│   ├── highlights/       # Page highlight capture, injection, and persistence
│   ├── health/           # Runtime health monitoring (MCP, settings, ports)
│   ├── premium/          # Subscription management, feature gating, Stripe integration
│   ├── bookmarks/        # Bookmark and folder persistence
│   ├── history/          # Browse history
│   ├── memory/           # Obsidian vault hooks
│   ├── network/          # Ad blocking, URL safety, link validation, downloads
│   ├── sessions/         # Named session save/load/delete
│   ├── startup/          # App initialization, menu, shortcuts, renderer bootstrap
│   ├── telemetry/        # PostHog analytics (opt-in)
│   ├── tools/            # Tool definitions, input coercion, pruning
│   ├── window.ts         # Window layout manager
│   └── index.ts          # App entry point
├── preload/              # contextBridge scripts
│   ├── index.ts          # Chrome UI preload
│   └── content-script.ts # Web page preload (readability)
├── renderer/             # SolidJS browser UI
│   └── src/
│       ├── components/
│       │   ├── chrome/   # TitleBar, TabBar, AddressBar, AgentTranscriptDock
│       │   ├── ai/       # CommandBar, Sidebar (Supervisor/Bookmarks/Checkpoints/Chat/Automate/History/Changes/Research)
│       │   ├── devtools/ # DevTools panel (Console, Network, Activity)
│       │   └── shared/   # Settings panel
│       ├── stores/       # SolidJS signal stores (tabs, ai, ui, runtime, bookmarks, etc.)
│       ├── styles/       # Theme, global CSS
│       └── lib/          # Keybindings, markdown, skills registry
└── shared/               # Types + IPC channel constants

Design Principles

  • Agent first — the browser is the agent's operating surface, not just a human tool with automation bolted on
  • Human visible — the UI should make agent behavior easy to follow, audit, and steer
  • Persistent by default — browser state should survive long-running workflows and repeated sessions
  • Content first — chrome is 110px, everything else is your page
  • Easy on the eyes — warm dark grays, muted text, no visual noise
  • Linux-native — frameless window, system font fallbacks, XDG conventions

License

MIT

Developed by Tyler Williams in Portland, Oregon (2026)