
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


