mcpField
V
Vessel Browser

Vessel Browser

本地服务
github.com浏览器自动化1376 周前更新

关于 Vessel Browser

Vessel 是一款内置 AI 助手的网页浏览器,面向需要在真实浏览器窗口中观察并监督 AI 操作的用户。它允许用户批准敏感操作、随时接管,并通过持久会话和检查点保留长时间任务的进度。

主要功能

  1. 01侧边栏 AI 助手与真实浏览器窗口
  2. 02审批策略(单次、按运行、按域名)
  3. 03持久对话线程与运行收件箱
  4. 04检查点、命名会话与操作撤销
  5. 05页面结构推断与变更对比
  6. 06可自托管的 MCP 客户端接入

适用场景

  1. 01监督 AI 在网页上完成调研与表单填写
  2. 02中断后恢复长时间的浏览任务
  3. 03对比页面内容变化并追踪更新

MCP 相关

Vessel 可作为 MCP 客户端连接外部 Agent 与工具,外部 MCP 客户端也能调用其浏览器工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"unmodeled-tyler-vessel-browser": {
"command": "npx",
"args": [
"-y",
"@quanta-intellect/vessel-browser"
]
}
}
}
启动命令npx -y @quanta-intellect/vessel-browser

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@quanta-intellect/vessel-browser0.1.10

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

quanta-intellect-logo-transparent

从 Snap Store 获取 Quanta Intellect 推出的 Vessel Browser——Agent 驱动、由人类监督的浏览器 | Product Hunt

Vessel:你的 AI 浏览器

Vessel 是一款简洁、清爽的网页浏览器,内置 AI 助手。你可以像往常一样浏览网页,然后让 Vessel 帮你研究内容、浏览页面、总结所读内容、填写表单,或跟进较长的任务。

与不可见的浏览器自动化不同,Vessel 会在真实的浏览器窗口中展示 AI 的操作。你可以跟进过程、批准重要操作、暂停或调整工作方向,并随时接手。

  • 熟悉的浏览器,随手可用的 AI 帮助 — 提供标签页、书签、阅读模式、下载功能,以及用于处理网页任务的侧边栏助手
  • 适合较长时间的浏览任务 — 持久保存的对话线程、跨来源的运行收件箱、命名会话、检查点、笔记、书签和页面变更,让中断的工作也能恢复
  • 由你掌控 — 查看 AI 的操作,针对单次操作或指定运行/域名批准敏感操作,拒绝并引导操作方向,撤销近期更改,并随时切回手动浏览
  • 开源且可扩展 — 基于 Chromium 构建;需要时,可为 MCP 客户端和 Agent 工具提供高级自动化支持

目前 Linux 是最成熟的安装平台。macOS 版本可从源代码打包。

Vessel 正在积极开发中。请将其视为早期软件,尤其是在进行敏感浏览或访问账户时。

https://github.com/user-attachments/assets/0a72b48a-873a-4eb0-b8f2-23e34d8472c4

快速开始

想从第一天起就使用完整的 AI 工具套件?开始 7 天免费试用 Vessel Premium — 每月 $5.99。

当前最快的安装方式

从 GitHub Releases 获取 Linux AppImage:

  1. 下载最新的 Vessel-<version>-x64.AppImage
  2. 将其标记为可执行文件:chmod +x Vessel-*.AppImage
  3. 启动它:./Vessel-*.AppImage
  4. 打开设置(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 Browser 的主管侧边栏,显示 Agent 工作流控件 Vessel Browser 命令栏和由 Agent 驱动的页面交互 Vessel Browser 持久会话和检查点界面 Vessel Browser 集成了浏览器工具的聊天助手

Vessel 会让整个过程清晰可见。AI 使用真正的浏览器,因此你可以看到它打开的页面、做出的选择,以及需要你批准的地方。你无需盯着隐藏的自动化流程运行,也不必事后猜测发生了什么。

对于高级用户和开发者,同一套基础架构也支持外部 Agent、MCP 客户端、持久会话、检查点和浏览器自动化工作流。

功能

  • AI 辅助浏览 — 请 Vessel 协助进行研究、阅读页面、导航、填写表单和处理多步骤网页任务
  • 人类可见的浏览器界面 — 页面以普通浏览器的方式呈现,让 AI 活动清晰可见,而不是隐藏在不可见的运行过程中
  • 命令栏(Ctrl+L)— 面向由 harness 驱动的工作流及未来运行时命令的辅助操作界面
  • 监督侧边栏(Ctrl+Shift+L)— 通过十个标签页进行实时监督,包括持久化运行收件箱、对话线程、审批、检查点、变更和研究
  • 聊天助手 — 内置于侧边栏「聊天」标签页的对话式 AI;支持 Anthropic、OpenAI、Ollama、llama.cpp、Mistral、xAI、Google Gemini、OpenRouter 和任何兼容 OpenAI 的端点;自动读取当前页面;可完整使用外部 Agent 使用的同一组浏览器工具;保留多轮会话历史;可在设置中配置提供商、模型和 API 密钥
  • 技能(高级版)— 侧边栏「技能」标签页中的可复用浏览器技能;导入、查看、运行或删除内置 Agent 可用于研究、购物和特定网站工作流的技能
  • 研究工作台(测试版)— 用于生成结构化研究报告的专用侧边栏「研究」标签页;从主题开始,完成标签页内的简报,让 Vessel 起草研究目标,批准计划,然后调度浏览器子 Agent 收集有来源依据的论点,并综合生成可导出为 Markdown 的报告。填写简报免费;批准计划、运行子 Agent 和导出报告需要 Vessel 高级版。
  • 开发者工具面板(F12)— 在窗口底部的可调整大小面板中检查控制台输出、网络请求和 MCP/Agent 活动;按类别和日期范围将日志导出为 JSON
  • 适合长时间运行的浏览器基础功能 — 固定标签页会紧凑地显示在标签栏前端,并受到保护,不会被意外关闭;标签页组可设置颜色并折叠;有声标签页会显示音频指示器和静音控件;使用 Ctrl+N 打开其他浏览器窗口;使用 Ctrl+P 打印当前页面,或使用 Ctrl+Shift+P 直接将其保存为 PDF
  • 操作撤销/回滚 — 将浏览器恢复到上一次成功的、会修改状态的 Agent 操作之前所捕获的会话快照;可在「监督」标签页中使用,也可通过 undo_last_action 工具调用
  • 持久化运行收件箱 — 聊天、MCP、计划任务和研究工作共用一个持久化生命周期,支持状态筛选、父子研究运行、已删减的输入、输出、错误和标签页上下文
  • 持久化对话线程 — 在命名线程中将多个独立聊天分组;每次聊天首次完成交互后,系统会生成 AI 标题,之后可重新打开或修改标题;线程可重命名、归档或删除;已归档线程遵循配置的历史保留期限
  • 范围限定的审批策略 — 批准一次、批准当前运行、批准某个域名,或拒绝并引导;明确拒绝的优先级高于其他规则,过期的范围限定规则会被忽略
  • 对 Agent 有意义的书签 — 书签带有 Agent 可读取和使用的结构化上下文:intent(页面用途)、expectedContent(预期页面内容)、keyFields(重要表单字段)、agentHints(任意指令)和已存储的 pageSchema;用户可直接在「书签」标签页中创建和编辑这些元数据,所有字段均可搜索
  • 可移植书签导出 — 导出浏览器兼容的 Netscape HTML,以便导入 Chrome、Firefox、Safari、Edge、Brave 和其他浏览器;可选择包含 Vessel 备注/Agent 元数据,或导出完整保真度的 Vessel JSON 归档
  • 页面架构推断 — Vessel 自动为每个页面推断类型化架构:pageType(article、product、form、search、checkout、login、dashboard)、primaryEntity(商品和文章的结构化字段)、formFields(包含名称、类型、标签、选择器)和 actionButtons(推断的意图:submit、addToCart、login 等);架构会附加到每个内容提取结果中
  • 供 Agent 使用的书签 — 将页面保存到文件夹,为文件夹添加单行摘要,并通过 MCP 搜索书签,而不必导出整个书签库
  • 命名会话持久化 — 将 Cookie、localStorage 和当前标签页布局以可复用的名称保存,然后在重启后重新加载
  • 带注释的检查点 — 捕获并恢复短期浏览器恢复点,并为其命名和编辑备注,让人类和 Agent 能在高风险流程前标记检查点的重要原因
  • 页面高亮 — Agent 可在任意页面上用带标签和颜色编码的标记高亮文本或元素;标记会在导航后保留;侧边栏会显示高亮数量和导航控件;可手动清除或通过工具调用清除
  • Agent 对话记录浮窗 — 锚定在浏览器框架上的浮动对话记录叠加层;可在设置中配置显示模式(关闭、摘要、完整);显示 Agent 的实时思考过程和状态更新,不占用侧边栏空间
  • 工作流流程跟踪 — Agent 可在运行时通过 flow_start 声明具名多步骤工作流;进度通过 flow_advance 逐步跟踪,并在执行过程中显示在侧边栏中
  • 结构化页面可见性上下文 — 提取结果可报告视口内的元素、被遮挡的控件、活动叠加层,以及休眠的同意提示/模态界面
  • 弹窗恢复工具 — Agent 可主动关闭常见弹窗、新闻邮件拦截页和同意提示墙,而不必盲目尝试通用点击
  • 表单自动填充配置文件 — 在设置中保存可复用的个人或工作配置文件,并在当前页面填写常见的联系人、地址和组织字段;Vessel 会根据标签、名称、占位符和自动完成提示匹配字段
  • 页面差异/“发生了什么变化?” — Vessel 会记住页面的上一个快照,并在之后访问时检测到标题、标题栏或主要内容有变化时,在地址栏中显示 Changed 标记;展开后可查看自上次快照以来变化内容的简短摘要
  • 变化时间线(高级版)— 侧边栏「变更」标签页会保存各页面近期变化的历史,显示检测到每次更新的时间以及变化内容的简短摘要
  • 逐标签页广告拦截控制 — 默认对标签页启用广告拦截,但 Agent 可在页面运行异常时选择性地关闭和重新启用拦截
  • 域名策略 — 在设置中全局设置域名允许列表或阻止列表;Agent 无法导航到被阻止的域名
  • Agent 凭据保管库(高级版)— 为 Agent 驱动的登录加密存储凭据;凭据通过“盲填”方式直接填入登录表单,绝不会发送给 AI 提供商;每次使用前都会显示用户同意对话框;支持 TOTP 双重身份验证;按域名限定访问范围;采用仅追加的审计日志
  • 屏幕截图与视觉分析(高级版)— 拍摄整页截图并将图像直接交给 AI 进行视觉布局分析;适用于在文本提取无法处理复杂页面或画布渲染页面时使用
  • Obsidian 记忆钩子(高级版)— 可选的知识库路径,用于保存 Agent 撰写的 Markdown 笔记、页面截图和研究线索
  • 运行时健康检查 — 在启动时警告 MCP 端口冲突、设置无法读取以及用户数据写入失败
  • 阅读模式 — 将文章内容提取到简洁、无干扰的视图中;可通过地址栏开启和关闭
  • 专注模式(Ctrl+Shift+F)— 隐藏所有浏览器框架元素,让内容铺满屏幕
  • 可调整大小的面板 — 拖动侧边栏边缘即可调整大小;宽度会在会话之间保留
  • 极简深色主题 — 温暖的深灰色、克制的强调色,不使用纯黑或纯白
可靠性、历史记录与审批

Supervisor 侧边栏如今能让 Chat、外部 MCP Agent、计划任务和 Research 中的长时间运行工作更易于了解:

  • 打开 Runs,按需要关注、进行中、失败、已完成或任意来源筛选工作。每个运行记录都有按时间顺序排列的时间线,展示状态变更、审批、输出、错误和相关标签页上下文;记录可导出为 Markdown 或 JSON,也可从 Vessel 中删除。
  • 打开 Threads,将多个聊天整理到一个命名主题下。聊天可以单独重新打开或重命名,而其父级话题可以重命名、归档或删除。新聊天在首次对话完成后会获得自动生成的标题。
  • 审批卡片会显示操作、已脱敏的参数、域名以及是否可撤销。你可以批准一次、批准当前运行或域名内匹配的工作、拒绝,或通过书面指引拒绝。已保存的限定范围规则会在 Supervisor 中持续显示,也可在那里移除。
  • 如果 Vessel 在运行进行中或等待审批时关闭,下次启动时该运行会标记为 已中断,而不会误导性地显示为仍在运行。Vessel 不会声称能自动恢复或重试未完成的执行。
  • 已结束的运行历史记录和已归档的话题遵循 historyRetentionDays(默认为 90 天;支持的值为 7、30、90、180、365,或表示不自动过期的 null)。进行中的运行和未归档的话题会保留。

如果加密功能可用,对话历史记录会通过 Electron 的 safeStorage API 加密。如果安全存储不可用,Vessel 会在该会话期间将对话保存在内存中,而不是以明文形式写入聊天历史记录。运行记录会对敏感参数字段进行脱敏,并在持久化或导出前限制存储的输出大小。

定位

大多数浏览器都将自动化视为次要功能,并假定人类是主要操作者。Vessel 则恰恰相反:它是面向 Agent 的浏览器,并提供可视化界面,让人类能够参与其中。

这意味着产品应优先优化:

  • 在任务和会话之间持久保留浏览器状态
  • 清晰展示 Agent 当前正在执行的操作
  • 通过轻量级人工干预,而非持续手动操作来控制浏览器
  • 提供可供 Hermes Agent 或 OpenClaw 风格的运行框架等长期运行的 Agent 系统使用的浏览器运行时

技术栈

层级技术
引擎Chromium(Electron 40)
UI 框架SolidJS
语言TypeScript
构建electron-vite + Vite
AI 控制外部 Agent 运行框架(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 通道进行。

侧边栏的 Skills 标签页完全在渲染进程中呈现技能表单,并通过与 Chat 标签页相同的 query() 路径,将呈现的提示词传递给内置 Agent,无需额外的 IPC 接口。Changes 标签页通过 IPC 读取当前页面的差异时间线,并为 Premium 用户解锁持久化历史记录。Research 标签页为其状态机提供了专用 IPC 接口:所有用户均可使用简报功能,而目标审批、并行浏览器子 Agent、报告综合和 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 应用启动器创建桌面条目
  • 写入 ~/.config/vessel/vessel-settings.json,其中 MCP 端口为 3100
  • 写入 ~/.config/vessel/mcp-stdio-snippet.json
  • 写入 ~/.config/vessel/mcp-http-snippet.json
  • 安装 vessel-browser-mcp 辅助程序,该程序可作为 stdio-to-HTTP 代理运行(--stdio),或打印配置片段
  • 打印建议使用的准确 stdio MCP 片段,可将其粘贴到你的运行环境配置中

打包的 AppImage:

  • 无需本地 Node/Electron 工具链
  • 使用打包的 Vessel 应用图标和元数据
  • 推荐给只想运行 Vessel 的早期用户

Windows 打包版本:

  • 使用 Vessel-<version>-x64-setup.exe NSIS 安装程序
  • 升级时可覆盖现有 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 会根据 resources/vessel-icon.png 重新生成 resources/vessel-icon.icns,用于 macOS 打包
  • 默认情况下,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 包、打开聚焦的测试窗口,并使用临时配置文件和回环服务器
  • 导航运行器要求生成完整套件报告且退出码为零,三分钟后超时,并会在正常完成或失败时删除临时文件
为 Hermes Agent 或 OpenClaw 设置 Vessel

Vessel 的设计用途是充当浏览器运行时,由外部 Agent 框架驱动。

  1. 启动 Vessel
  2. 打开设置(Ctrl+,),确认 MCP 状态、复制端点或更改 MCP 端口
  3. 可选:设置 Obsidian 知识库路径、创建自动填充配置文件,或调整会话偏好
  4. 启动 Hermes Agent 或 OpenClaw,并将其连接到 Vessel——最简单的方法是将 vessel-browser-mcp --stdio 用作 MCP 命令(会自动解析身份验证信息),也可以使用 ~/.config/vessel/mcp-auth.json 中的 bearer token,直接连接到 http://127.0.0.1:<mcpPort>/mcp
  5. 在框架运行期间,使用 Vessel 侧边栏中的 Supervisor 面板暂停 Agent、更改审批模式、查看待处理的审批、创建检查点、撤销上一次修改操作,或恢复浏览器会话
  6. 打开 Runs 查看或导出来自 Chat、MCP、计划任务和 Research 的活动;使用 Threads 重新打开并整理持久对话
  7. 使用 Bookmarks 面板将已保存的页面整理到文件夹中、编辑面向 Agent 的书签元数据、导出书签供其他浏览器使用,并通过 MCP 向 Agent 提供已保存的页面

注意:

  • Vessel 通过本地 MCP 服务向外部 Agent 提供浏览器控制
  • MCP 端点支持旧版客户端和现代 2026-07-28 协议修订版,包括 server/discover
  • 默认 MCP 端口为 3100
  • Hermes Agent 和 OpenClaw 应将 Vessel 视为持久且对用户可见的浏览器,而不是启动各自独立的浏览器会话
  • Vessel 内置可配置 AI 提供商的 Chat 标签页;打开设置(Ctrl+,)并启用 Chat Assistant,即可设置提供商和模型
  • 侧边栏中的 Research 标签页标记为 Beta;可用它将宽泛的研究主题整理成简报、审批多线程计划、运行浏览器子 Agent,并将最终报告导出为 markdown。简报免费;完整执行和导出需要 Premium。
  • 设置中的 llama.cpp (Local) 是一等 Chat 提供商,默认使用 http://localhost:8080/v1;Vessel 会自动从 llama-server 获取当前活动模型
  • 对于 llama-server,建议使用至少 --ctx-size 16384,推荐使用 32768,以确保 Vessel Agent 循环稳定运行;随着提示词、工具架构和工具历史不断累积,较低的值往往会导致失败
  • 审批策略可在侧边栏 Supervisor 面板中实时控制,而不是通过独立的全局设置界面控制
  • 设置现在会显示 MCP 运行时状态、活动端点、启动警告,并允许更改 MCP 端口且立即重启服务
  • 设置还包含可重复使用的 Form Autofill 配置文件,可在当前页面上一键填写常见的联系人和地址表单
  • 当 Vessel 检测到之前访问过的页面自上次保存快照以来发生了实质性变化时,地址栏也会显示 Changed 徽标
  • Premium 用户可以打开侧边栏中的 Changes 标签页,查看当前页面完整的 What Changed 时间线
  • Bookmarks 标签页可导出与浏览器兼容的 HTML、附带 Vessel 备注的 HTML,或保留完整 Agent 元数据的 Vessel JSON 归档
  • 对于有问题的标签页,Agent 可以选择性地关闭广告拦截,重新加载并重试流程,之后再重新开启拦截
  • Agent 可以使用命名会话保存已验证身份的状态,例如 github-logged-in,并在之后的运行中重新加载该状态
  • 预期的控制平面是由外部框架通过 MCP 驱动 Vessel
  • 如果在设置中设置了 Obsidian 知识库路径,框架就可以通过 Vessel memory MCP 工具直接将 markdown 笔记写入该知识库
将 llama.cpp 用作内置 Chat 提供商

Vessel 可以通过兼容 OpenAI 的 API 直接与本地 llama-server 通信。

示例:

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

然后在 Vessel 中:

  1. 打开设置(Ctrl+,)
  2. 启用 Chat Assistant
  3. 选择 llama.cpp (Local) 作为提供商
  4. 如有需要,点击刷新;Vessel 会自动从 http://localhost:8080/v1 检测当前活动模型

注意:

  • --ctx-size 16384 是 Vessel Agent 循环的最低实用设置
  • --ctx-size 32768 是较长浏览会话的推荐默认设置
  • 如果 Vessel 检测到 llama-server 的上下文大小低于建议下限,或无法检测到运行中的服务的 ctx 大小,会在 Settings 中发出警告

初始记忆工具:

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

目前提供的书签和文件夹工具包括:

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

目前提供的页面交互和恢复工具包括:

  • vessel_extract_content
  • vessel_read_page
  • vessel_scroll
  • vessel_dismiss_popup
  • vessel_set_ad_blocking
  • vessel_wait_for
  • vessel_screenshot(Premium)— 将完整页面截取为图像,供 AI 进行视觉分析
  • undo_last_action — 将浏览器恢复到上一次成功的变更型 Agent 操作之前所捕获的快照

页面高亮工具:

  • vessel_highlight — 使用带标签的彩色叠加层,在页面上直观标记文本或元素;清除前会一直保留
  • vessel_clear_highlights — 移除当前页面上的所有高亮

工作流跟踪工具:

  • vessel_flow_start — 开始一个命名的多步骤工作流,并预先声明步骤;执行期间,进度会显示在侧边栏中
  • vessel_flow_advance — 将当前步骤标记为已完成并进入下一步
  • vessel_flow_status — 查看当前工作流进度
  • vessel_flow_end — 清除活动的工作流跟踪器

数据提取工具(Premium):

  • vessel_extract_table — 将页面表格提取为包含列标题的结构化 JSON 行

目前提供的命名会话工具包括:

  • vessel_save_session
  • vessel_load_session
  • vessel_list_sessions
  • vessel_delete_session

会话文件较为敏感,因为其中可能包含登录 Cookie 和令牌。Vessel 会将这些文件存储在应用用户数据目录中,并设置严格的文件权限。

Agent 凭据保管库工具(Premium):

  • vessel_vault_status — 检查某个域名是否存在已存储的凭据(返回标签/用户名,不会返回密码)
  • vessel_vault_login — 使用已存储的凭据填写登录表单(盲填——凭据会直接写入页面,不会进入 AI 对话)
  • vessel_vault_totp — 根据已存储的密钥生成并填写 TOTP 双重身份验证代码

会话性能工具(Premium):

  • vessel_metrics — 显示各工具调用次数、平均耗时、错误率和会话统计总览

保管库安全模型:

  • 凭据使用 AES-256-GCM 加密后存储,密钥受操作系统密钥链(Electron safeStorage)保护
  • 凭据值绝不会发送给 AI 提供商——它们只会经过主进程传递到内容脚本
  • 每次使用凭据时都会触发用户同意对话框(“允许一次”/“允许本次会话”/“拒绝”)
  • 所有凭据访问都会记录在只追加的审计日志中
  • 凭据按域名限定——只能用于匹配的域名
  • 用户可在 Settings > Agent Credential Vault 中管理凭据

值得注意的提取模式包括:

  • visible_only — 仅包含当前可见、位于视口内且未被遮挡的交互元素,以及活动叠加层
  • results_only — 仅包含可能属于主要搜索结果的链接
  • full / summary / interactives_only / forms_only / text_only

提取结果可以区分:

  • 活动的阻挡叠加层
  • 存在于 DOM 中、但对当前会话或地区未激活的休眠式同意/模态界面

Stdio 代理 MCP 配置(推荐——自动处理身份验证):

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

stdio 代理会在连接时从 ~/.config/vessel/mcp-auth.json 读取 bearer token,并兼容旧版和 2026-07-28 协议协商,因此无需手动管理 token。 MCP 客户端连接时,Vessel 必须已在运行,并且 ~/.config/vessel/mcp-auth.json 必须已在安装时或首次启动时创建。

通用 HTTP MCP 配置(需要手动复制 token):

{
  "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

配置

安装程序会将三个配置片段写入:

  • ~/.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

当源码安装可能因 Electron 沙箱权限而无法运行时,vessel-browser-launch 会优先使用运行正常的源码安装,并回退到本地最新的 AppImage。

键盘快捷键

快捷键操作
Ctrl+LAI 命令栏
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

设计原则

  • Agent 优先 — 浏览器是 Agent 的操作界面,而非仅为人类使用、再额外附加自动化功能的工具
  • 人类可见 — UI 应让 Agent 的行为易于观察、审计和引导
  • 默认持久化 — 浏览器状态应在长时间运行的工作流和重复会话中保持
  • 内容优先 — 浏览器框架仅占 110px,其余空间都留给页面
  • 舒适护眼 — 温暖的深灰色、柔和的文本、不含视觉干扰
  • 原生适配 Linux — 无边框窗口、系统字体回退、遵循 XDG 规范

许可证

MIT

由 Tyler Williams 于 2026 年在俄勒冈州波特兰开发

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。