Vessel Browser について
Vessel は AI アシスタントを内蔵したウェブブラウザです。実際のブラウザウィンドウ上で AI の操作を確認し、承認や手動操作への切り替えを行いたいユーザーを対象としています。永続セッションやチェックポイントにより、中断した長時間の作業を再開できます。
主な機能
- 01実際のブラウザウィンドウで動作するサイドバーアシスタント
- 02操作・ドメイン単位の承認ポリシー
- 03永続的な会話スレッドと実行インボックス
- 04チェックポイント、名前付きセッション、操作の取り消し
- 05ページスキーマの推論と変更の追跡
- 06MCP クライアントから利用可能なブラウザツール
活用シーン
- 01ウェブ上の調査やフォーム入力を AI が行う際の監督
- 02中断した長時間のブラウジング作業の再開
- 03ページの内容変化の継続的な追跡
MCP 対応
Vessel は内蔵ツールを外部の MCP クライアントやエージェントに公開し、内蔵アシスタントも同じツールを利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Vessel は、AI アシスタントを内蔵した、シンプルですっきりとしたウェブブラウザーです。通常どおりウェブを閲覧しながら、調査、ページの移動、読んでいる内容の要約、フォームへの入力、長時間にわたるタスクの記録などを Vessel に頼めます。
見えないところでブラウザーを自動操作するのとは異なり、Vessel では、実際のブラウザーウィンドウで AI の動作を確認できます。処理を見守り、重要な操作を承認し、作業を一時停止したり方向を変えたり、必要なときにいつでも引き継いだりできます。
- 使い慣れたブラウザーに、身近な AI のサポート — タブ、ブックマーク、リーダーモード、ダウンロードに加え、ウェブタスク向けのサイドバーアシスタントを備えています
- 長時間のブラウジングセッションに最適 — 継続性のある会話スレッド、複数の情報源をまたぐ実行受信トレイ、名前付きセッション、チェックポイント、メモ、ブックマーク、ページの変更により、中断した作業を再開できます
- 操作の主導権はあなたにあります — AI の動作を確認し、機密性の高い操作を一度だけ、または対象範囲を指定した実行/ドメインに対して承認し、指示を追加して拒否し、最近の変更を元に戻し、いつでも手動でのブラウジングに切り替えられます
- オープンソースで拡張可能 — Chromium をベースに構築されており、必要に応じて MCP クライアントやエージェントツール向けの高度な自動化をサポートします
現在、最も成熟しているインストール先は Linux です。macOS 向けのリリースパッケージはソースから利用できます。
Vessel は現在も活発に開発されています。特に機密性の高い閲覧やアカウントへのアクセスには、初期段階のソフトウェアとしてご利用ください。
https://github.com/user-attachments/assets/0a72b48a-873a-4eb0-b8f2-23e34d8472c4
クイックスタート
初日から AI ツールキットをすべて利用しますか?Vessel Premium の7日間無料トライアルを開始 — 月額5.99ドル。
今すぐ最速でインストール
GitHub Releases から Linux AppImage を入手します。
- 最新の
Vessel-<version>-x64.AppImageをダウンロードします - 実行可能にします:
chmod +x Vessel-*.AppImage - 起動します:
./Vessel-*.AppImage - Settings(
Ctrl+,)を開き、AI プロバイダーを選択して、高度な接続オプションを確認します
npm でインストール
npm install -g @quanta-intellect/vessel-browser
vessel-browser
インストールせずに直接実行する場合:
npx @quanta-intellect/vessel-browser
ソースからインストール
curl -fsSL https://raw.githubusercontent.com/unmodeled-tyler/vessel-browser/main/scripts/install.sh | bash
ソースから開発する
Vessel の開発には Node.js 22 を使用します。fnm を使用する場合は、リポジトリのルートで fnm use を実行し、.node-version の設定を適用します。
fnm use
npm install
npm run dev
開発中に追加のローカル AI トレースを取得する場合は、任意で src/main/telemetry/trace-logger.local.cjs ファイルを作成してください。Vessel はローカルの開発ビルドでのみこのファイルを読み込み、パッケージ化された本番ビルドでは無視します。
Vessel を選ぶ理由
多くの AI ツールは、ウェブに関する質問に答えられます。Vessel は、ページを読み、リンクをたどり、情報を比較し、フォームに入力し、変更を追跡し、長時間のブラウジングセッションを整理して、実際にウェブ上で作業するためのツールです。
Vessel では、こうした作業の様子を常に確認できます。AI は実際のブラウザを使うため、開いたページや選択した内容、あなたの承認が必要な箇所を確認できます。非表示の自動処理を見守ったり、後から何が起きたのかを推測したりする必要はありません。
パワーユーザーや開発者向けには、同じ基盤が外部エージェント、MCP クライアント、永続セッション、チェックポイント、ブラウザー自動化のワークフローにも対応しています。
機能
- AI 支援ブラウジング — Vessel に調査、ページの閲覧、ナビゲーション、フォーム操作、複数ステップのウェブタスクを支援してもらえます
- 人間に見えるブラウザー UI — ページは通常のブラウザーと同じように表示されるため、AI の操作が隠れた実行の中に消えることなく、把握しやすい状態に保たれます
- コマンドバー(
Ctrl+L)— ハーネス駆動のワークフローや、今後のランタイムコマンドに対応する追加の操作画面です - スーパーバイザーサイドバー(
Ctrl+Shift+L)— 10 個のタブを横断してリアルタイムに監督できます。永続的な実行受信トレイ、会話スレッド、承認、チェックポイント、変更、調査が含まれます - チャットアシスタント — サイドバーのチャットタブに組み込まれた会話型 AI です。Anthropic、OpenAI、Ollama、llama.cpp、Mistral、xAI、Google Gemini、OpenRouter、および OpenAI 互換エンドポイントに対応しています。現在のページを自動的に読み取り、外部エージェントと同じブラウザーツールにすべてアクセスできます。複数ターンのセッション履歴に対応しており、設定からプロバイダー、モデル、API キーを設定できます
- スキル(Premium)— サイドバーのスキルタブで再利用可能なブラウザースキルを管理できます。組み込みエージェントが調査、ショッピング、サイト固有のワークフローに使えるスキルをインポート、表示、実行、削除できます
- リサーチデスク(Beta)— 構造化された調査レポートを作成するための専用リサーチタブです。トピックを指定して開始し、タブ内のブリーフィングを完了すると、Vessel が調査目標の草案を作成します。計画を承認すると、ブラウザーのサブエージェントが出典に基づく主張を収集し、Markdown としてエクスポート可能なレポートをまとめます。ブリーフィングの開始は無料ですが、計画の承認、サブエージェントの実行、レポートのエクスポートには Vessel Premium が必要です
- 開発ツールパネル(
F12)— ウィンドウ下部のサイズ変更可能なパネルで、コンソール出力、ネットワークリクエスト、MCP/エージェントのアクティビティを確認できます。カテゴリと日付範囲を指定してログを JSON 形式でエクスポートできます - 長時間実行向けのブラウザー基本機能 — ピン留めしたタブはタブストリップの先頭でコンパクトに表示され、誤って閉じられるのを防ぎます。タブグループは色分けして折りたためます。音声を再生中のタブには音声インジケーターとミュート操作が表示されます。
Ctrl+Nでブラウザーウィンドウを追加で開き、Ctrl+Pでアクティブなページを印刷するか、Ctrl+Shift+Pで PDF として直接保存できます - 操作の取り消し/ロールバック — エージェントの最後に成功した変更操作の直前に取得されたセッションスナップショットにブラウザーを復元できます。スーパーバイザータブ、および
undo_last_actionツールから利用できます - 永続的な実行受信トレイ — チャット、MCP、スケジュール実行、調査の各作業が、状態フィルター、親子関係のある調査実行、秘匿化された入力、出力、エラー、タブのコンテキストを含む、単一の永続ライフサイクルを共有します
- 永続的な会話スレッド — 複数の独立したチャットを名前付きスレッドにまとめられます。各チャットは最初のやり取りが完了すると AI がタイトルを生成し、再度開いたりタイトルを変更したりできます。スレッドは名前の変更、アーカイブ、削除が可能です。アーカイブされたスレッドには、設定された履歴期間が適用されます
- 範囲を指定した承認ポリシー — 1 回だけ承認する、実行単位で承認する、ドメイン単位で承認する、または拒否して別の操作を指示することができます。明示的な拒否が優先され、期限切れの範囲指定ルールは無視されます
- エージェントが理解できるブックマーク — ブックマークには、エージェントが読み取って操作できる構造化コンテキストが含まれます。
intent(ページの用途)、expectedContent(ページで予想される内容)、keyFields(重要なフォームフィールド)、agentHints(任意の指示)、保存されたpageSchemaが含まれます。人間はブックマークタブでこのメタデータを直接作成・編集でき、すべてのフィールドを検索できます - ポータブルなブックマークのエクスポート — ブラウザー互換の Netscape HTML をエクスポートして、Chrome、Firefox、Safari、Edge、Brave などのブラウザーにインポートできます。必要に応じて Vessel のメモやエージェントのメタデータも含められます。また、Vessel の全情報を保持した JSON アーカイブもエクスポートできます
- ページスキーマの推論 — Vessel はすべてのページについて、型付きスキーマを自動的に推論します。
pageType(article、product、form、search、checkout、login、dashboard)、primaryEntity(商品や記事の構造化フィールド)、formFields(名前、タイプ、ラベル、セレクターを含む)、actionButtons(submit、addToCart、login など、推論された意図を含む)があり、スキーマはすべてのコンテンツ抽出結果に付加されます - エージェント向けブックマーク — ページをフォルダーに保存し、フォルダーの概要を 1 行で添えられます。ライブラリ全体を一度に取得する代わりに、MCP 経由でブックマークを検索できます
- 名前付きセッションの永続化 — Cookie、localStorage、現在のタブ配置を再利用可能な名前で保存し、再起動後に読み込めます
- 注釈付きチェックポイント — 名前と編集可能なメモを付けて、一時的なブラウザー復旧ポイントを取得・復元できます。リスクのある操作の前に、人間やエージェントがチェックポイントの重要な理由を記録できます
- ページのハイライト — エージェントは、ラベル付きの色分けされたマーカーで、任意のページ上のテキストや要素を視覚的にハイライトできます。ハイライトはページ遷移後も保持されます。ハイライト数とナビゲーション操作がサイドバーに表示され、明示的に、またはツール呼び出しによって解除できます
- エージェントトランスクリプトドック — ブラウザーのクロームに固定されたフローティングトランスクリプトオーバーレイです。表示モード(オフ、概要、全文)は設定で指定できます。サイドバーのスペースを占有せずに、エージェントの思考とステータスの更新をリアルタイムで表示します
- ワークフローの進行状況トラッキング — エージェントは
flow_startを使って、実行時に名前付きの複数ステップワークフローを宣言できます。flow_advanceでステップごとに進行状況を追跡でき、実行中はサイドバーに表示されます - 構造化されたページ可視性コンテキスト — 抽出時に、ビューポート内の要素、隠れているコントロール、アクティブなオーバーレイ、表示されていない同意/モーダル UI を報告できます
- ポップアップ復旧ツール — エージェントは、汎用的なクリックを力任せに行う代わりに、一般的なポップアップ、ニュースレターのブロック、同意画面を明示的に閉じることができます
- フォームの自動入力プロファイル — 設定で個人用または仕事用のプロファイルを保存し、現在のページの一般的な連絡先、住所、組織のフィールドに入力できます。Vessel はラベル、名前、プレースホルダー、自動入力のヒントを使ってフィールドを照合します
- ページ差分/「変更点」 — Vessel はページの最新スナップショットを記憶し、後日の訪問でタイトル、見出し、本文に違いがあると、アドレスバーに
Changedバッジを表示します。これを展開すると、前回のスナップショットからの変更点を簡潔に確認できます - 変更履歴タイムライン(Premium)— サイドバーの変更タブにページごとの最近の変更履歴が保存され、各更新が検出された時刻と、変更内容の簡潔な概要が表示されます
- タブごとの広告ブロック制御 — タブではデフォルトで広告ブロックが有効ですが、ページで問題が発生した場合、エージェントはブロックを選択的に無効化・再有効化できます
- ドメインポリシー — 設定でドメインをグローバルな許可リストまたは禁止リストに追加できます。エージェントはブロックされたドメインに移動できません
- エージェント認証情報保管庫(Premium)— エージェントによるログイン用の暗号化された認証情報ストレージです。「ブラインド入力」方式でログインフォームに直接認証情報を入力し、AI プロバイダーには決して送信しません。使用のたびにユーザーの同意ダイアログを表示し、TOTP 2FA、ドメイン単位のアクセス制御、追記専用の監査ログに対応しています
- スクリーンショットと視覚分析(Premium)— ページ全体のスクリーンショットを撮影し、画像を AI に直接渡して視覚的なレイアウトを分析できます。テキスト抽出が難しい、重いページや Canvas 描画のページで役立ちます
- Obsidian メモリーフック(Premium)— エージェントが作成する Markdown のメモ、ページのキャプチャ、調査の手がかりを保存するための、任意の保管庫パスを指定できます
- ランタイムのヘルスチェック — MCP ポートの競合、読み取れない設定、ユーザーデータの書き込み失敗について、起動時に警告します
- リーダーモード — 記事の内容を抽出し、余計なものを排除した読みやすい表示にします。アドレスバーから切り替えられます
- フォーカスモード(
Ctrl+Shift+F)— すべてのクロームを隠し、コンテンツを画面いっぱいに表示します - サイズ変更可能なパネル — サイドバーの端をドラッグしてサイズを変更できます。幅はセッション間で保持されます
- ミニマルなダークテーマ — 温かみのあるダークグレー、控えめなアクセントカラーを採用し、純粋な黒や白は使用しません
信頼性、履歴、承認
Supervisor サイドバーでは、チャット、外部 MCP エージェント、スケジュール済みジョブ、Research にまたがる長時間の作業を、把握しやすく管理できるようになりました。
- Runs を開くと、対応が必要な作業、実行中、失敗、完了、またはすべてのソースの作業を絞り込めます。各実行には、ステータスの変更、承認、出力、エラー、関連するタブのコンテキストを時系列で示すタイムラインがあります。記録は Markdown または JSON としてエクスポートするか、Vessel から削除できます。
- Threads を開くと、複数のチャットを名前付きのトピックの下に整理できます。チャットは個別に再開したり、タイトルを変更したりできます。また、親スレッドの名前変更、アーカイブ、削除も可能です。新しいチャットには、最初のやり取りが完了した後にタイトルが自動で付けられます。
- 承認カードには、アクション、機密情報を伏せた引数、ドメイン、取り消しが可能かどうかが表示されます。一度だけ承認する、現在の実行またはドメイン内で一致する作業を承認する、拒否する、または指示を書き添えて拒否することができます。保存されたスコープ付きルールは Supervisor に表示され、そこで削除できます。
- 実行中、または承認待ちの実行がある状態で Vessel を閉じた場合、次回の起動時にその実行は中断として記録され、誤って実行中のままになることはありません。Vessel は、未完了の実行を自動的に再開または再試行するとは保証しません。
- 終了した実行の履歴とアーカイブ済みスレッドには、
historyRetentionDaysが適用されます(デフォルトは90日。指定できる値は7、30、90、180、365、または自動期限切れなしを示すnullです)。実行中の実行とアーカイブされていないスレッドは保持されます。
会話履歴は、暗号化が利用可能な場合、Electron の safeStorage API を通じて暗号化されます。セキュアストレージを利用できない場合、Vessel は平文のチャット履歴を書き込まず、そのセッション中は会話をメモリ内に保持します。実行記録では、保存またはエクスポートの前に機密性の高い引数フィールドを伏せ、保存する出力のサイズを制限します。
位置付け
ほとんどのブラウザーは自動化を二次的なものとして扱い、人間が主な操作主体であることを前提としています。Vessel はその逆です。エージェントのためのブラウザーであり、人間が状況を把握し、関与し続けられる可視インターフェースを備えています。
そのため、製品では次の点を重視する必要があります。
- タスクやセッションをまたいで維持されるブラウザーの状態
- エージェントが現在何をしているかを明確に確認できること
- 常に手動で操作するのではなく、必要に応じて人間が簡単に介入できること
- Hermes Agent や OpenClaw 形式のハーネスなど、長時間稼働するエージェントシステムに対応できるブラウザーランタイム
技術スタック
| レイヤー | テクノロジー |
|---|---|
| エンジン | Chromium(Electron 40) |
| UI フレームワーク | SolidJS |
| 言語 | TypeScript |
| ビルド | electron-vite + Vite |
| AI 制御 | 外部エージェントハーネス(Hermes Agent、OpenClaw、MCP クライアント)+ 組み込みチャット(Anthropic、OpenAI、Ollama、llama.cpp、およびあらゆる OAI 互換エンドポイント) |
| コンテンツ抽出 | @mozilla/readability |
アーキテクチャ
Main Process Renderer (SolidJS)
├── TabManager (WebContentsView[]) ├── TabBar, AddressBar
├── AgentRuntime (session + supervision) ├── CommandBar (secondary surface)
├── Run, conversation, and policy managers ├── AI Sidebar (Supervisor/Runs/Threads/Chat/...)
├── MCP server for external agents ├── DevTools Panel (Console/Network/Activity)
├── AI providers (Anthropic + OAI-compatible) ├── Agent Transcript Dock
├── Bookmarks, checkpoints, and page history └── Signal stores (runtime/runs/conversations/policies/...)
└── IPC handlers ◄──contextBridge──► Preload API
各ブラウザータブは、それぞれ独立した WebContentsView としてメインプロセスが管理します。ブラウザーのクローム(SolidJS)は、前面に重ねて表示される独自のビューで動作します。レンダラーとメインプロセス間のすべての通信は、contextBridge を介した型付き IPC チャネルを通じて行われます。
サイドバーの「スキル」タブでは、スキルのフォームをレンダラー内ですべて描画し、描画したプロンプトを「チャット」タブと同じ query() 経路を使って組み込みエージェントに渡します。追加の IPC インターフェースは不要です。「変更」タブでは、現在のページの差分タイムラインを IPC 経由で読み込み、Premium ユーザーは保存済みの履歴を利用できます。「リサーチ」タブには、状態機械専用の IPC インターフェースがあります。ベータ期間中、概要説明はすべてのユーザーが利用できますが、目標の承認、並列ブラウザーサブエージェント、レポートの統合、Markdown のエクスポートは Premium ユーザー限定です。
はじめに
インストーラーは次の処理を行います。
- Vessel を
~/.local/share/vessel-browserにクローンするか、更新します - 依存関係をインストールし、アプリをビルドします
~/.local/binにvessel-browserランチャーを作成します~/.local/binにvessel-browser-launchヘルパーを作成します~/.local/binにvessel-browser-updateヘルパーを作成します~/.local/binにvessel-browser-statusヘルパーを作成します- Linux アプリランチャー用のデスクトップエントリーを作成します
- MCP ポート
3100を設定した~/.config/vessel/vessel-settings.jsonを書き込みます ~/.config/vessel/mcp-stdio-snippet.jsonを書き込みます~/.config/vessel/mcp-http-snippet.jsonを書き込みます- stdio-to-HTTP プロキシ(
--stdio)として実行したり、設定スニペットを出力したりできるvessel-browser-mcpヘルパーをインストールします - ハーネスの設定に貼り付ける、推奨される正確な stdio MCP スニペットを出力します
パッケージ化された AppImage の場合:
- ローカルの Node/Electron ツールチェーンは不要です
- パッケージ化された Vessel アプリのアイコンとメタデータを使用します
- Vessel をすぐに使いたい早期導入者に推奨される方法です
Windows のパッケージ版:
Vessel-<version>-x64-setup.exeNSIS インストーラーを使用します- アップグレード時は、既存の Vessel インストールに上書きしてインストールできます
- 通常のアップグレードでは Vessel のアプリデータを保持します
新しい Windows リリースをインストールする前に、Vessel をアンインストールする必要はありません。インストールが破損した場合の復旧時や、ローカルの Vessel データを意図的に削除する場合にのみ、先にアンインストールしてください。
インストール後:
vessel-browser
# 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
注意:
npm run devは引き続き標準の Electron バイナリを起動するため、Linux の開発環境ではデフォルトの Electron の歯車アイコンが引き続き表示されることがありますnpm run dist/npm run dist:dirで作成したパッケージ版ビルドでは、Vessel アプリのアイコンが使用されますnpm run build:icon:macは、macOS 向けパッケージ作成用にresources/vessel-icon.pngからresources/vessel-icon.icnsを再生成しますnpm run dist:macとnpm run dist:mac:dirは、デフォルトでユニバーサル macOS 成果物をビルドするため、同じアプリが Intel と Apple Silicon の Mac でネイティブに動作します- より小さいアーキテクチャ別のテスト成果物が必要な場合は、
npm run dist:mac:x64とnpm run dist:mac:arm64を利用できます npm run verify:mac:universalはlipoを使い、パッケージ化されたアプリの実行ファイルと Electron フレームワークにx86_64とarm64の両方のスライスが含まれていることを確認しますnpm run dist:mac、npm run dist:mac:dir、npm run dist:mac:x64、npm run dist:mac:arm64は、キーチェーンを設定せずにどの Mac でもローカルでパッケージを作成できるよう、自動署名を意図的に無効にしますnpm run dist:mac:signedとnpm run dist:mac:dir:signedはユニバーサル成果物をビルドし、通常のelectron-builder署名検出を使用します。ログインキーチェーンに重複する Apple 証明書がある場合は、署名付きビルドを実行する前に整理するか、専用のキーチェーンを使用してください- 署名付きビルドも、このリポジトリでは初期状態で公証されていないため、リリース公開時に公証が追加されるまでは Gatekeeper の警告が表示されます
- 登録済みのスモークテストでは、型チェック、ビルド、MCP stdio プロキシの回帰チェック、Electron ナビゲーションの回帰テストハーネスを実行します
- ヘッドレス CI では、
xvfb-run -a npm run smoke:testを使ってスモークテストを実行してください - 単独のナビゲーションテストを実行するには
npm run test:navigation-regressionを実行してください。このコマンドはテスト用と preload 用のバンドルを新しくビルドし、対象を絞ったテストウィンドウを開き、一時プロファイルとループバックサーバーを使用します - ナビゲーションランナーでは、終了コードがゼロであることに加えて、スイート完了レポートも必要です。3 分後にタイムアウトし、正常終了時または失敗時に一時ファイルを削除します
Hermes Agent または OpenClaw 向けに Vessel をセットアップする
Vessel は、外部エージェントのハーネスが操作するブラウザーランタイムとして動作するよう設計されています。
- Vessel を起動します
- Settings(
Ctrl+,)を開いて MCP のステータスを確認し、エンドポイントをコピーするか、MCP ポートを変更します - 必要に応じて、Obsidian の保管庫パスを設定したり、自動入力プロファイルを作成したり、セッション設定を調整したりします
- Hermes Agent または OpenClaw を起動して Vessel に接続します。最も簡単な方法は、MCP コマンドとして
vessel-browser-mcp --stdioを指定することです(認証情報は自動的に解決されます)。または、~/.config/vessel/mcp-auth.jsonのベアラートークンを使ってhttp://127.0.0.1:<mcpPort>/mcpに直接接続します - ハーネスの実行中に、Vessel のサイドバーにある Supervisor パネルを使ってエージェントを一時停止したり、承認モードを変更したり、保留中の承認を確認したり、チェックポイントを作成したり、最後の変更操作を元に戻したり、ブラウザーセッションを復元したりします
- Runs を開いて、Chat、MCP、スケジュール済みジョブ、Research のアクティビティを確認またはエクスポートします。Threads を使うと、永続的な会話を再び開いて整理できます
- Bookmarks パネルを使って、保存したページをフォルダーに整理したり、エージェント向けのブックマークメタデータを編集したり、他のブラウザー向けにブックマークをエクスポートしたり、保存したページを MCP 経由でエージェントに公開したりできます
注意事項:
- Vessel は、ローカル MCP サーバーを通じて外部エージェントにブラウザー制御機能を提供します
- MCP エンドポイントは、従来のクライアントと、
server/discoverを含む最新の2026-07-28プロトコルリビジョンの両方をサポートします - デフォルトの MCP ポートは
3100です - Hermes Agent と OpenClaw は、別個のブラウザーセッションを起動するのではなく、Vessel を永続的で人間にも見えるブラウザーとして扱う必要があります
- Vessel には、AI プロバイダーを設定できる組み込みの Chat タブがあります。Settings(
Ctrl+,)を開き、Chat Assistant を有効にしてプロバイダーとモデルを設定します - サイドバーの Research タブはベータ版です。幅広い調査テーマを概要にまとめ、複数スレッドの計画を承認し、ブラウザーのサブエージェントを実行して、最終レポートを Markdown としてエクスポートするために使います。概要の作成は無料ですが、全工程の実行とエクスポートには Premium が必要です
- Settings の
llama.cpp (Local)は、チャットプロバイダーとして標準で利用でき、デフォルトでhttp://localhost:8080/v1を使用します。Vessel はllama-serverからアクティブなモデルを自動取得します llama-serverを使う場合、Vessel のエージェントループを安定して動作させるには、--ctx-size 16384を最小値、32768を推奨値として指定してください。プロンプト、ツールスキーマ、ツール履歴が蓄積されると、それより小さい値では動作しなくなることがよくあります- 承認ポリシーは、独立したグローバル設定画面ではなく、サイドバーの Supervisor パネルから実行中に制御します
- Settings に MCP ランタイムのステータス、アクティブなエンドポイント、起動時の警告が表示され、MCP ポートを変更するとサーバーが即座に再起動します
- Settings には、現在のページでよく使われる連絡先フォームや住所フォームにワンクリックで入力できる、再利用可能な Form Autofill プロファイルもあります
- Vessel が、以前に訪問したページが最後に保存したスナップショット以降に大きく変化したことを検出すると、アドレスバーに
Changedバッジが表示されることがあります - Premium ユーザーは、サイドバーの Changes タブを開くと、現在のページの変更履歴全体を確認できます
- Bookmarks タブでは、ブラウザー互換の HTML、Vessel のメモ付き HTML、またはエージェントのメタデータを保持した Vessel の完全な JSON アーカイブをエクスポートできます
- エージェントは、問題のあるタブで広告ブロックを一時的に無効にし、再読み込みしてフローを再試行した後、広告ブロックを再び有効にできます
- エージェントは、たとえば
github-logged-inのような名前付きセッションを使って認証済み状態を保持し、後続の実行でその状態を再読み込みできます - 想定されている制御プレーンは、MCP 経由で Vessel を操作する外部ハーネスです
- Settings で Obsidian の保管庫パスを設定すると、ハーネスは Vessel のメモリー MCP ツール経由で、その保管庫に Markdown メモを直接書き込めます
組み込みチャットプロバイダーとして llama.cpp を使用する
Vessel は、OpenAI 互換 API を介してローカルの llama-server と直接通信できます。
例:
llama-server -m /path/to/model.gguf --port 8080 --ctx-size 32768
次に、Vessel で以下を行います:
- Settings(
Ctrl+,)を開きます - Chat Assistant を有効にします
- プロバイダーとして
llama.cpp (Local)を選択します - 必要に応じて更新をクリックします。Vessel が
http://localhost:8080/v1からアクティブなモデルを自動検出します
注意事項:
--ctx-size 16384は、Vessel のエージェントループで実用上必要な最小設定です。--ctx-size 32768は、長時間のブラウジングセッションに推奨されるデフォルト設定です。- 実行中のサーバーで推奨下限を下回るコンテキストサイズが検出された場合、または Vessel が ctx サイズを検出できない場合、Vessel は Settings で警告します。
初期メモリーツール:
vessel_memory_note_createvessel_memory_appendvessel_memory_listvessel_memory_searchvessel_memory_page_capturevessel_memory_link_bookmark
現在公開されているブックマークとフォルダのツール:
vessel_bookmark_listvessel_bookmark_searchvessel_bookmark_openvessel_bookmark_savevessel_bookmark_removevessel_create_foldervessel_folder_renamevessel_folder_remove
現在公開されているページ操作と復旧のツール:
vessel_extract_contentvessel_read_pagevessel_scrollvessel_dismiss_popupvessel_set_ad_blockingvessel_wait_forvessel_screenshot(Premium)— ページ全体を画像としてキャプチャし、AI による視覚分析に使用しますundo_last_action— 最後に成功したエージェントの変更操作の前にキャプチャされたスナップショットから、ブラウザーを復元します
ページのハイライトツール:
vessel_highlight— ラベル付きの色分けされたオーバーレイで、ページ上のテキストまたは要素を視覚的にマークします。解除するまで保持されますvessel_clear_highlights— 現在のページからすべてのハイライトを削除します
ワークフロー追跡ツール:
vessel_flow_start— 名前付きの複数ステップワークフローを開始し、ステップを事前に宣言します。実行中はサイドバーに進捗が表示されますvessel_flow_advance— 現在のステップを完了としてマークし、次のステップに進みますvessel_flow_status— 現在のワークフローの進捗を確認しますvessel_flow_end— アクティブなワークフロートラッカーをクリアします
データ抽出ツール(Premium):
vessel_extract_table— ページの表を、列ヘッダー付きの構造化 JSON 行として抽出します
現在公開されている名前付きセッションのツール:
vessel_save_sessionvessel_load_sessionvessel_list_sessionsvessel_delete_session
セッションファイルにはログイン Cookie やトークンが含まれる可能性があるため、機密情報として扱う必要があります。Vessel は、制限的なファイル権限を設定したうえで、アプリのユーザーデータディレクトリに保存します。
エージェント認証情報保管庫ツール(Premium):
vessel_vault_status— ドメインの保存済み認証情報の有無を確認します(ラベル/ユーザー名を返します。パスワードは返しません)vessel_vault_login— 保存済み認証情報を使ってログインフォームに入力します(ブラインド入力。認証情報はページに直接入力され、AI との会話には含まれません)vessel_vault_totp— 保存済みシークレットから TOTP 2FA コードを生成して入力します
セッションパフォーマンスツール(Premium):
vessel_metrics— ツールごとの呼び出し回数、平均所要時間、エラー率、セッション全体の統計を表示します
保管庫のセキュリティモデル:
- 認証情報は、OS のキーチェーンで保護されたキーを使用し、保存時に AES-256-GCM で暗号化されます(Electron safeStorage)
- 認証情報の値が AI プロバイダーに送信されることはありません。メインプロセスを経由してコンテンツスクリプトにのみ渡されます
- 認証情報を使用するたびに、ユーザーの同意を求めるダイアログ(「1 回だけ許可」/「セッション中は許可」/「拒否」)が表示されます
- すべての認証情報へのアクセスは、追記専用の監査ログに記録されます
- 認証情報はドメインごとに制限され、一致するドメインでのみ使用できます
- ユーザーは Settings > Agent Credential Vault で認証情報を管理します
主な抽出モード:
visible_only— 現在表示されている、ビューポート内の、遮られていないインタラクティブ要素とアクティブなオーバーレイのみresults_only— 検索結果の主要なリンクと思われるもののみfull/summary/interactives_only/forms_only/text_only
抽出結果では、次のものを区別できます:
- アクティブな操作を妨げるオーバーレイ
- 現在のセッションまたは地域ではアクティブでないものの、DOM 内に存在する休止中の同意/モーダル UI
Stdio プロキシ MCP 設定(推奨 — 認証を自動的に処理します):
{
"mcpServers": {
"vessel": {
"command": "vessel-browser-mcp",
"args": ["--stdio"]
}
}
}
stdio プロキシは接続時に ~/.config/vessel/mcp-auth.json からベアラートークンを読み込み、レガシーと 2026-07-28 の両方のプロトコルネゴシエーションを維持するため、手動でトークンを管理する必要はありません。
MCP クライアントが接続する際は Vessel がすでに起動している必要があり、~/.config/vessel/mcp-auth.json はインストール時または初回起動時に作成されている必要があります。
汎用 HTTP MCP 設定(トークンを手動でコピーする必要があります):
{
"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 設定:
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
設定
インストーラーは次の場所に3つのスニペットを書き込みます。
~/.config/vessel/mcp-stdio-snippet.json~/.config/vessel/mcp-http-snippet.json~/.config/vessel/mcp-hermes-snippet.yaml
また、ヘルパーコマンドもインストールします。
vessel-browser-mcp
ヘルパーの使用例:
# 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
ソースからのインストールを更新するヘルパー:
# Check whether a source-install update is available
vessel-browser-update --check
# Fetch, rebuild, and update the local source install
vessel-browser-update
ステータス確認ヘルパー:
# Human-readable local install + MCP status
vessel-browser-status
# Machine-readable status for harnesses
vessel-browser-status --json
スマート起動ヘルパー:
# 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 は、正常に動作するソースインストールを優先し、Electron のサンドボックス権限が原因でソースインストールがブロックされている可能性が高い場合は、最新のローカル AppImage にフォールバックします。
キーボードショートカット
| ショートカット | 操作 |
|---|---|
Ctrl+L | AI コマンドバー |
Ctrl+Shift+L | AI サイドバーの切り替え |
Ctrl+Shift+F | フォーカスモードの切り替え |
F12 | 開発者ツールパネルの切り替え |
Ctrl+N | 新しいウィンドウ |
Ctrl+T | 新しいタブ |
Ctrl+W | タブを閉じる |
Ctrl+Shift+T | 閉じたタブを再度開く |
Ctrl+Shift+N | 新しいプライベートウィンドウ |
Ctrl+F | ページ内検索 |
Ctrl++ / Ctrl+= | ズームイン |
Ctrl+- | ズームアウト |
Ctrl+0 | ズームをリセット |
Ctrl+P | アクティブなページを印刷 |
Ctrl+Shift+P | アクティブなページを PDF として保存 |
Ctrl+, | 設定 |
プロジェクト構成
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
│ ├── conversations/ # Secure conversation thread and chat storage
│ ├── runs/ # Durable cross-source run records, timelines, export redaction
│ ├── policy/ # Action classification and scoped approval policies
│ ├── persistence/ # Debounced JSON and secure-storage persistence helpers
│ ├── 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/Runs/Threads/Bookmarks/Checkpoints/Chat/Skills/History/Changes/Research)
│ │ ├── devtools/ # DevTools panel (Console, Network, Activity)
│ │ └── shared/ # Settings panel
│ ├── stores/ # SolidJS stores (runtime, runs, conversations, policies, tabs, AI, etc.)
│ ├── styles/ # Theme, global CSS
│ └── lib/ # Keybindings, markdown, skills registry
└── shared/ # Types + IPC channel constants
設計原則
- エージェント優先 — ブラウザーはエージェントが操作する環境であり、自動化を後付けした人間向けツールではありません
- 人間に見えること — UI によって、エージェントの動作を簡単に追跡、監査、操作できるようにします
- デフォルトで永続化 — ブラウザーの状態は、長時間のワークフローや繰り返しのセッションを通じて保持されます
- コンテンツ優先 — ブラウザーの枠は110pxで、それ以外はすべてページです
- 目に優しい — 暖色系のダークグレー、落ち着いたテキスト、視覚的なノイズなし
- Linux ネイティブ — フレームレスウィンドウ、システムフォントへのフォールバック、XDG の慣習
ライセンス
MIT
ポートランド(オレゴン州)の Tyler Williams が開発(2026)
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
