
navette — the browser for agents
io.github.slabbdevv1.4.1更新于 Oct 4, 2026
A 659 KB Rust binary driving the OS WebView — no Chromium. 16 MCP tools for AI agents.
概览
一个本地 Rust 浏览器服务器,通过操作系统 WebView 为助手提供 16 个工具,用于导航、读取、截图和操作 JavaScript 网页。
- 功能
- Navette 在操作系统自带的 WebView 上运行一个小型本地浏览器引擎,并通过 MCP stdio 暴露出来。它提供 16 个工具,包括 navigate、read(markdown、文本或 HTML)、以图像内容返回的 screenshot、click、hover、type、key、evaluate JavaScript、wait、scroll、upload、viewport、会话列表与关闭,以及 cookie 状态导出/导入。会话按需创建,仅在需要截图时才附加幽灵窗口,因此助手可以处理登录、表单和 JavaScript 构建的页面。
- 适用场景
- 当助手需要操作普通抓取无法处理的页面时使用:JavaScript 渲染的内容、需要登录的会话、填写表单、点击,以及通过截图进行视觉检查。对于静态页面则不需要,此时 fetch 加 readability 更简单。
- 运行要求
- 作为本地进程在用户机器上运行(仅限桌面)。可通过 Homebrew 或 cargo install navette-browser 安装,或用 Rust 从源码构建;使用操作系统 WebView,Windows 上为 WebView2,Linux 上为 WebKitGTK。MCP 模式通过 mcp 参数启动,若没有服务在监听会自动启动本地回环 HTTP 服务器。未声明任何账户、API 密钥或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 navette — the browser for agents,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
navette — v1.4.0
[navette — the browser for agents]
The browser for agents. One tiny Rust binary driving the WebView your OS already ships — no Chromium, no download, no RAM bonfire.
Navette is French for shuttle — the small vessel that carries your agent from page to page. Always fueled (the engine ships with your OS), light enough to ignore, and it skips the human web's garbage so your agent doesn't have to.
Single Rust binary, three modes:
626 KB installed on macOS (release binaries: 658 KB darwin-arm64, ~1.2 MB windows-x64 / linux-x64 — the wry backends carry their bindings). Playwright ships 218 MB. Lightpanda ships 96 MB (and cannot screenshot). Measured claims, reproducible with one command (BENCHMARKS.md):
- Faster than Playwright + Chromium on every metric we measured — install, cold start, navigate→read (8 ms), act (1 ms), peak RAM, 100-page crawl (0.9–2.8 s, parity with Lightpanda within variance and ~2–3x faster than Playwright), real-web success rate (95–100% vs 85%).
- Crawls at Lightpanda's speed while rendering (parity within variance through the zero-bias raw-CDP probe, where Lightpanda is the fastest page-reader at 3.3–3.4 ms — it parses a partial DOM and cannot render — and navette is the fastest full-rendering reader: 17.9–19.4 ms vs Chromium's 28–34 ms through the identical client).
- The two rows Lightpanda wins — fresh-process boot and peak RAM — are the price of rendering. If your agent only reads static pages, use fetch + readability; if it needs JS, sessions, actions and vision, that price is the product.
FAQ
Why not Apple's Safari MCP server (2026)? Same thesis, different scope: navette is agent-first (8 primitives, ghost windows, resident daemon), open source, and cross-platform by design (WebView2 on Windows is Chromium — preinstalled). Apple's is macOS-and-Safari-shaped.
Why not just fetch + readability? For static pages, do that — it beats everyone. navette exists for what fetch can't do: JS-built pages, logins, sessions, forms, screenshots, acting like a human.
Security? The server binds 127.0.0.1 only, has no auth (do not expose it), and sessions use a non-persistent store — no cookies leak between runs. The agent's JS executes in the OS WebKit sandbox, not in your terminal.
Build & run
Or build from source:
The mcp mode auto-starts serve if nothing is listening (it idles politely if the port is already served by another navette). The resident daemon is a LaunchAgent with KeepAlive — the cold start an agent feels drops to 24–37 ms, forever.
HTTP API (127.0.0.1 only, JSON)
Sessions are created lazily; ghost windows are attached only when a screenshot needs them.
JS dialogs (alert/confirm/prompt) are auto-handled in-page: alert logs and no-ops, confirm accepts, prompt returns its default — agents never deadlock on a hidden modal.
MCP for agent hosts
Register once (ZCode example, workspace .zcode/config.json):
The host gets 16 tools: navigate, read, screenshot (returned as MCP image content — the agent sees the page), click, hover, type, key, evaluate, wait, scroll, upload, viewport, sessions, session_close, state_export / state_import (cookies — the Playwright storageState equivalent).
Architecture
The 8 primitives are engine-agnostic; each platform backend is a thin layer over the system WebView behind this exact surface. Engine strategy: system-first, embedded fallback (WebView2 Fixed Version / WebKitGTK via apt / WPE) — see ONEPAGER.md.
Status
v1.4.0 (2026-10-04) — current. 16 MCP tools including file upload (page-side DataTransfer — no OS dialog) and scroll; published on crates.io as navette-browser (cargo install navette-browser → navette); a bench workflow measures navigate/read/screenshot on all three engines. CI green on all three OSes: macOS (WKWebView), Windows (WebView2), Linux (WebKitGTK).
Recent releases: v1.3.0 — full platform parity (native screenshots per engine, cookie state export/import, viewport control, resident daemon everywhere, hover + key, auto-handled dialogs) · v1.2.1 — hardening (five root-cause fixes, boot-time session pre-warm: first navigate 38 s → 83 ms on a cold CI VM).
Known gaps, stated plainly: real (OS-level) keyboard/mouse input, request/response network interception, OS file-dialog automation. MIT.
来源:README.md,提交 87a3ab8
工具
0版本历史
1- v1.4.1最新Oct 4, 2026


