Zenpilot

io.github.beSaif由 GitHub 帳號 beSaif 發布v0.5.1更新於 Oct 29, 2026

Let Claude use your Zen Browser, like Claude in Chrome. No extension, only sites you allow.

概覽

AI 產生的概覽

讓 Claude 操作 macOS 上的 Zen 瀏覽器:開關分頁、讀取頁面、點擊、輸入與截圖,且僅限你允許的網站。

可以做什麼
  • 開啟、切換與關閉分頁,並前往網址
  • 讀取頁面內容並捲動頁面
  • 點擊、輸入、從下拉選單選擇並截圖
  • 從 upload_dirs 列出的資料夾附加檔案以供上傳
  • 檢視工作階段報告與 Claude 操作的稽核記錄
適用情境
當你希望 Claude 在 Mac 上真實的 Zen 瀏覽器工作階段中操作時適用,例如填寫或送出網頁表單,而不只是處理抓取到的頁面文字。它仍是 alpha 版本且僅支援 macOS,適合願意測試並設定允許清單的使用者。
執行需求
需要一台在 /Applications 中安裝 Zen 的 Mac(僅在 Zen 1.23 上測試過)。Claude Desktop 可安裝 .mcpb 套件,Claude Code 需先安裝 uv 再執行 zenpilot setup。設定時會詢問使用哪個 Zen 設定檔與允許哪些網站,設定值存放在設定檔中。Zen 會以遠端控制方式啟動,連接埠 9222。
安裝前請注意
Claude 可在允許的網站上點擊、輸入與送出,因此只應允許你信任的網站;在主要設定檔下,惡意頁面可能誘導它操作你已登入的帳號。以此方式執行時遠端控制會保持開放,Mac 上的其他應用程式也可能連上。上傳僅限 upload_dirs 中的資料夾。輸入的文字不會被記錄,只記錄長度。工作階段報告可能被提交為 GitHub issue,送出前請先閱讀。dangerously_allow_all_sites 選項會略過允許清單。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Zenpilot,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[zenpilot]

[CI] [License: MIT]

Let Claude use your Zen browser. Works with Claude Desktop and Claude Code, kind of like Claude in Chrome but for Zen.

[zenpilot demo: install, set up, then Claude fills in and submits a form in Zen]

There's no browser extension. zenpilot opens Zen with its remote control turned on and talks to it directly.

Alpha. Only tested on macOS with Zen 1.23.

Install

You need a Mac with Zen in /Applications.

Claude Desktop: download zenpilot-<version>.mcpb from the latest release and open it. That's it.

Claude Code (or both): with uv installed, run:

sh
uv tool install zenpilotzenpilot setup

Setup asks which Zen profile to use and which sites Claude may visit. Then it connects zenpilot to Claude Code (and Claude Desktop, if you have it) and opens Zen. Restart Claude Desktop afterwards.

Either way, zenpilot updates itself to the newest release each time Claude starts it. To stay on one version with uv, install it pinned: uv tool install zenpilot==0.5.0.

Use it

Just ask Claude: "order a large pizza with bacon on httpbin.org/forms/post for Sam, then submit it".

The first time, a few popups may show up. Only you see them, not Claude:

  • Which profile? zenpilot is a fresh profile that isn't logged in to anything. Pick your own profile if you want Claude to use sites you're logged into.
  • Reopen Zen? If Zen is already open without remote control, zenpilot offers to restart it. Your tabs come back.
  • Allow this site? Claude only works on sites you allow. Choose Don't Allow, Allow for 12 Hours or Always Allow. If you miss it, it asks again next time. After Don't Allow it waits 10 minutes before asking again, or run zenpilot allow <site>.

Pressing Enter always picks the safe answer.

While Claude works in a tab, an orange glow goes around the page and a zenpilot badge in the bottom-left corner says so. Press Stop on it and Claude stops and asks you what to do. If it tries again anyway, a popup asks whether to let it continue.

Claude can open, switch and close tabs, go to a URL, read the page, click, type, pick from dropdowns, scroll and take screenshots. It can attach files to upload, but only from folders you list in upload_dirs. It can't touch cookies, passwords or downloads, and it can't run its own JavaScript.

When it gets stuck

zenpilot is far from perfect, and every site is different. When Claude can't do something (say, drag and drop), it notes what it tried. zenpilot also notes tool calls that failed or took over 5 seconds. If anything went wrong, a notification at the end of the session points you to a report in ~/.local/state/zenpilot/reports/.

sh
zenpilot report           # show the latest reportzenpilot report --issue   # open a GitHub issue with it filled in

What you typed and the pages' text stay out of it, Claude is asked to leave out personal data, and URLs lose their ?query part. Still, read it before you submit.

Staying safe

  • Allowlist. Claude only works on sites you've allowed. Add one with zenpilot allow github.com.
  • Stick to the zenpilot profile if you can. It's logged out of everything. On your main profile, a shady page could try to trick Claude into doing stuff in your accounts, so only allow sites you trust.
  • Read-only mode. Set read_only = true and Claude can look but not click or type.
  • Log. Everything Claude does is written to ~/.local/state/zenpilot/audit.jsonl, with what it clicked. Typed text isn't logged, only its length. zenpilot log shows it as a timeline.
  • Remote control is open while Zen runs this way. Other apps on your Mac could connect to it too, and some sites (banks, Cloudflare checks) may think you're a bot. When you're done, quit Zen and open it normally.

zenpilot also stops Zen from switching off its own protections (Safe Browsing, the popup blocker and so on), which would otherwise happen when remote control is on.

Commands

CommandWhat it does
zenpilot setupSet everything up (see above)
zenpilot allow [site...]Allow sites. --remove takes them off (12-hour ones too). No sites lists them.
zenpilot launchOpen Zen with remote control on
zenpilot doctorCheck your setup and say how to fix anything that's broken
zenpilot reportShow the latest session report. --issue files it on GitHub, --list lists them all.
zenpilot logShow what Claude did lately. -n 200 for more, --errors for failures only

Settings

They live in ~/.config/zenpilot/config.toml, and changes apply right away.

toml
allowlist = ["localhost", "127.0.0.1"]   # "example.com" covers its subdomains tooread_only = false                        # true: Claude can look but not click or typeprofile = "zenpilot"                     # which Zen profile Claude usesauto_launch = true                       # open Zen when Claude needs itprompts = true                           # show the popups aboveport = 9222audit_log = "~/.local/state/zenpilot/audit.jsonl"report_dir = "~/.local/state/zenpilot/reports"audit_redact_urls = false                # true: leave ?query and #fragment out of the logupload_dirs = []                         # folders Claude may upload files from, e.g. ["~/Documents/CV"]dangerously_allow_all_sites = false      # skips the allowlist. Please don't.

Uploads need one Firefox setting (dom.file.createInChild) in the profile. zenpilot adds it once upload_dirs isn't empty, and it takes effect the next time Zen starts.

Good to know

  • Only one Claude can drive Zen at a time. zenpilot lets go after 2 minutes of doing nothing, so Claude Desktop and Claude Code can take turns.
  • Zen can be hidden or behind other windows. It still works.
  • Zen loads restored tabs lazily, so Claude only sees an old tab once you've opened it.
  • Stuck? Run zenpilot doctor. If Zen says it already has a session after a crash, restart Zen.

Hacking on it

sh
git clone https://github.com/beSaif/zenpilot.git && cd zenpilotuv sync && uv run zenpilot setup     # points Claude at your cloneuv run pytest -m "not integration"   # unit testsuv run pytest                        # all tests, needs Zen running (zenpilot launch)ZENPILOT_TEST_PORT=9333 uv run pytest   # against a second Zen on a test profile

License

MIT

來源:README.md,提交 8f155ec

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

3
  1. v0.5.1最新Oct 29, 2026
  2. v0.2.4Oct 21, 2026
  3. v0.2.2Oct 17, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分