pilotfish (local)

io.github.gAI-ventures由 GitHub 账号 gAI-ventures 发布v0.1.13更新于 Nov 6, 2026

A real Chromium on your machine for any MCP agent: ref-based tools, evidence per action, no API key.

概览

AI 生成的概览

在本机运行真实 Chromium 浏览器,让 AI 助手通过基于元素引用的工具浏览、读取、填写和点击网页。

可以做什么
  • 打开网址、列出并切换标签页、关闭或重启浏览器
  • 以带元素引用的快照树查看页面、截取视口截图,或读取页面文本(含 PDF)
  • 点击、输入、选择下拉项、按键和滚动,每步都返回变更证据
  • 用只读 JavaScript 表达式读取所需数值,或按可见文字查找页面元素
  • 一次调用执行多步操作、等待加载,并在人工完成登录、两步验证或验证码后继续
适用场景
适合需要操作没有 API 的网站:填写表单、查看价格或列表、读取登录后的页面,或核实页面实际显示的内容。它是本地桌面工具,适合有人可以随时介入完成登录的交互场景。
运行要求
以本地 npm 包安装,作为 stdio 进程在用户机器上运行,需要 Chromium 浏览器,仅支持桌面端。可选环境变量:PILOTFISH_ALLOWED_HOSTS 限制可访问的主机名,PILOTFISH_HEADLESS 隐藏浏览器窗口,PILOTFISH_SECRETS 存放占位符值。未声明需要 API 密钥或账号。
安装前请注意
浏览器操作的是真实网站:点击、输入和提交表单会改动真实数据,browser_close 会清除 Cookie 和登录状态。默认允许访问任意公开主机,除非设置 PILOTFISH_ALLOWED_HOSTS。PILOTFISH_SECRETS 保存以占位符形式输入的值,不应放入共享配置;助手读取的页面内容会发送给模型提供方。无头模式无法人工完成登录和验证码。

安装

在 SourceWeft 中

  1. 打开 控制台中的 pilotfish (local),将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

工具

16

browser_navigate

Open a URL

Open an http(s) URL in the current tab. Returns evidence and a snapshot of the visible screen (elements carry refs like e12), with counts of what is above and below. Words like cheapest, latest, highest-rated or most mean the site's own sort or tab for that order (a list's default order is usually something else, e.g. 'Best' or 'Featured'): apply it, then read the top.

输入参数url必填snapshot

browser_snapshot

Read the page

The current page as a compact tree of headings, text and elements with refs (e12) to act on: three screens around the viewport, or everything with whole_page. Refs stay valid while their element is on the page.

输入参数whole_page

browser_click

Click

Click an element by ref. Refuses with a reason (obscured, stale, not visible) instead of clicking the wrong thing. Returns evidence of what changed.

输入参数ref必填

browser_type

Type

Type into an input, textarea or editable element by ref, replacing its text. Returns evidence.

输入参数ref必填text必填submit

browser_select

Select options

Choose option(s) of a <select> by label or value. Returns evidence.

输入参数ref必填values必填

browser_press

Press a key

Press a key or shortcut on the focused element. Returns evidence.

输入参数key必填

browser_scroll

Scroll

Scroll about one screen. Returns evidence and the newly visible elements.

输入参数direction必填

browser_screenshot

Screenshot

JPEG of the current viewport. Prefer browser_snapshot (cheaper, has refs); use this when layout or images matter.

无需输入参数。

browser_get_text

Page text

Readable text of the page (PDFs too), secrets masked, without refs. To read a few values or a list, browser_query is far smaller.

输入参数selectormax_chars

browser_query

Read values with JavaScript

Read just the values you need (prices, counts, titles, a results list) with a read-only JavaScript expression returning JSON (at most 4000 characters): the cheapest way to read, far smaller than browser_get_text or a snapshot. It runs in a world of its own where clicks, typing, submits and network writes are refused.

输入参数expression必填

browser_find

Find elements

Refs of elements anywhere on the page, outside the visible screen too, by the words they show or are labelled with, best match first. Separate several targets by commas.

输入参数query必填

browser_actions

Several actions in one call

Several steps in order in one call, e.g. fill a form's fields and submit it; each gets the same checks as its own tool. Stops at the first that fails, or after one that moves the page to another address (later refs would belong to the old page). Returns a line per step and the evidence and visible screen after the last one run.

输入参数actions必填

browser_resume

Continue after the person

When a result says NEEDS A PERSON (a sign-in, a one-time code or 2FA, a device approval, a CAPTCHA), tell the user in your reply what the page needs and that the pilotfish browser window is open on it; when they have done it there (or right after asking), call this and carry on: it waits until the page has moved on, then returns it. BLOCKED and STOP mean the site cannot be continued that way.

输入参数timeout_s

browser_wait

Wait

Wait 0.5-10 seconds, then return what changed. Only for a page that is visibly still loading: every action already waits for the requests it started.

输入参数seconds必填

browser_tabs

Tabs

List the open tabs (the current one is marked). switch_to makes another tab current and returns its snapshot.

输入参数switch_to

browser_close

Close the browser

Only to start over: closes the browser, and the next call starts a fresh one (cookies and logins are gone). It closes by itself when the client disconnects.

无需输入参数。

版本历史

3
  1. v0.1.13最新Nov 6, 2026
  2. v0.1.9Nov 5, 2026
  3. v0.1.1Nov 5, 2026

评分

已满足适用检查项的 65%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。