跳到正文

webmcpx 基准测试:Gemini 3.8 Flash

排行榜

WebMCP 能省多少,逐个模型对比

一个智能体靠页面快照来读、点、填;另一个调用网站的 WebMCP 工具。选一个模型看看,节省最多的排在最前。

按使用 WebMCP 的成功率排序,相同时按每次运行成本排序。

精选案例:30 个问题中的 21 个,即 WebMCP 的 token 用量不超过一半的问题。全部结果均已公开,你也可以用 just bench 自己跑一遍。

Gemini 3.8 Flash(Google)

Cloudflare

“在 Cloudflare 的 Workers Free 套餐下,我的 Workers 每天最多能处理多少请求才会触发限制?”

developers.cloudflare.com (打开 Cloudflare)

46×

token 更少

72k → 1.6k token

Token(按问题统计,每次运行的 token 数):越低越好。另附各组成功率。
问题不用 WebMCP:token用 WebMCP:token不用 WebMCP:解决情况用 WebMCP:解决情况
Cloudflare:在 Cloudflare 的 Workers Free 套餐下,我的 Workers 每天最多能处理多少请求才会触发限制?72k1.6k100%100%
Cloudflare:Cloudflare Workers KV 的键最长可以是多少?我想知道键的最大长度。41k1.5k100%100%
Cloudflare:Cloudflare Workers KV 中单个值最大是多少?34k1.4k100%100%
Cloudflare:我用的是 Workers Paid 套餐。单个 Cloudflare D1 数据库最大能有多大?29k1.4k100%100%
Cloudflare:发送到 Cloudflare Queue 的消息最大能有多大?我需要单条消息的大小上限。42k4.9k100%100%
耗时(按问题统计,每次运行的秒数):越低越好。另附各组成功率。
问题不用 WebMCP:耗时用 WebMCP:耗时不用 WebMCP:解决情况用 WebMCP:解决情况
Cloudflare:在 Cloudflare 的 Workers Free 套餐下,我的 Workers 每天最多能处理多少请求才会触发限制?14.4s5.8s100%100%
Cloudflare:Cloudflare Workers KV 的键最长可以是多少?我想知道键的最大长度。40.3s6.8s100%100%
Cloudflare:Cloudflare Workers KV 中单个值最大是多少?11.0s5.2s100%100%
Cloudflare:我用的是 Workers Paid 套餐。单个 Cloudflare D1 数据库最大能有多大?10.7s6.9s100%100%
Cloudflare:发送到 Cloudflare Queue 的消息最大能有多大?我需要单条消息的大小上限。14.8s12.9s100%100%
步数(按问题统计,每次运行的模型轮次):越低越好。另附各组成功率。
问题不用 WebMCP:步数用 WebMCP:步数不用 WebMCP:解决情况用 WebMCP:解决情况
Cloudflare:在 Cloudflare 的 Workers Free 套餐下,我的 Workers 每天最多能处理多少请求才会触发限制?5.72.0100%100%
Cloudflare:Cloudflare Workers KV 的键最长可以是多少?我想知道键的最大长度。6.02.0100%100%
Cloudflare:Cloudflare Workers KV 中单个值最大是多少?5.32.0100%100%
Cloudflare:我用的是 Workers Paid 套餐。单个 Cloudflare D1 数据库最大能有多大?4.72.0100%100%
Cloudflare:发送到 Cloudflare Queue 的消息最大能有多大?我需要单条消息的大小上限。6.03.7100%100%
成本(按问题统计,每个任务的美元数):越低越好。另附各组成功率。
问题不用 WebMCP:成本用 WebMCP:成本不用 WebMCP:解决情况用 WebMCP:解决情况
Cloudflare:在 Cloudflare 的 Workers Free 套餐下,我的 Workers 每天最多能处理多少请求才会触发限制?$0.03$0.0017100%100%
Cloudflare:Cloudflare Workers KV 的键最长可以是多少?我想知道键的最大长度。$0.015$0.0017100%100%
Cloudflare:Cloudflare Workers KV 中单个值最大是多少?$0.014$0.0016100%100%
Cloudflare:我用的是 Workers Paid 套餐。单个 Cloudflare D1 数据库最大能有多大?$0.014$0.0016100%100%
Cloudflare:发送到 Cloudflare Queue 的消息最大能有多大?我需要单条消息的大小上限。$0.017$0.0044100%100%

Cloudflare 注册的 2 个 WebMCP 工具

智能体当时看到的版本 · 2026-11-08

工具描述已调用
search

Full-text search across Cloudflare developer documentation. Returns matching pages with titles, URLs, and content snippets. Use this to find documentation on any Cloudflare product or feature.

search({"query":"Workers Free plan request limit per day"})

search({"query":"Workers KV limits maximum key size"})

search({"query":"Workers KV limits maximum value size"})

search({"query":"D1 limits maximum database size paid plan"})

search({"query":"Queues limits message size"})

已调用
list-directories

Returns a list of all Cloudflare products available in the developer documentation, including each product's name, docs URL, short description, and category group. Use this to discover what products exist before searching or navigating.

–未调用
  • gemini-3.8-flash,推理强度 medium,无头 Chrome。两组使用相同的提示词和步数上限;每个问题每组运行 3 次。
  • 不用 WebMCP:基于 DOM 快照的智能体,靠读、点、填完成操作。
  • 用 WebMCP:只能使用页面注册的工具(网站自带的,或在我们的测试站点上由 webmcpx 提供)。
  • 按答案中的事实和页面状态评分,不用 LLM 当评委。
  • 真实网站:自带 WebMCP 工具。
  • 6 个网站共 30 个问题,其中 27 个只读;最大的节省来自网站自带的搜索工具。
  • 每个问题每组运行 3 次:3/3 是证据,不是 100% 的证明。
  • 时间是页面加载后的智能体循环;成本是按有日期的标价计算的模型 API 用量,含缓存。
  • 每次失败的运行都在结果中注明原因(网站拦截、答案不来自页面、步数上限……)。
复现步骤
git clone https://github.com/webmcpx/webmcpx
cd webmcpx && just setup
GEMINI_API_KEY=... just bench --model gemini-3.8-flash --reasoning-effort medium

specification.website

“按照这份规范,页面的 meta description 应该多长?”

specification.website (打开 specification.website)

13×

token 更少

64k → 4.9k token

Token(按问题统计,每次运行的 token 数):越低越好。另附各组成功率。
问题不用 WebMCP:token用 WebMCP:token不用 WebMCP:解决情况用 WebMCP:解决情况
specification.website:按照这份规范,页面的 meta description 应该多长?64k4.9k100%100%
specification.website:这个网站的规范要求正常字号的正文文本最低对比度是多少?50k4.8k100%100%
specification.website:这份规范要求按钮和其他交互控件的最小点击区域是多大?47k5.4k100%100%
specification.website:按照这份规范,生产环境的 HSTS 响应头应该设置多大的 max-age?22k4.4k100%100%
specification.website:这份规范把良好响应性的 INP 目标值定为多少?23k4.8k100%100%
耗时(按问题统计,每次运行的秒数):越低越好。另附各组成功率。
问题不用 WebMCP:耗时用 WebMCP:耗时不用 WebMCP:解决情况用 WebMCP:解决情况
specification.website:按照这份规范,页面的 meta description 应该多长?26.1s7.3s100%100%
specification.website:这个网站的规范要求正常字号的正文文本最低对比度是多少?21.7s7.1s100%100%
specification.website:这份规范要求按钮和其他交互控件的最小点击区域是多大?24.0s8.1s100%100%
specification.website:按照这份规范,生产环境的 HSTS 响应头应该设置多大的 max-age?14.1s7.2s100%100%
specification.website:这份规范把良好响应性的 INP 目标值定为多少?13.9s6.8s100%100%
步数(按问题统计,每次运行的模型轮次):越低越好。另附各组成功率。
问题不用 WebMCP:步数用 WebMCP:步数不用 WebMCP:解决情况用 WebMCP:解决情况
specification.website:按照这份规范,页面的 meta description 应该多长?10.03.0100%100%
specification.website:这个网站的规范要求正常字号的正文文本最低对比度是多少?8.03.0100%100%
specification.website:这份规范要求按钮和其他交互控件的最小点击区域是多大?9.03.0100%100%
specification.website:按照这份规范,生产环境的 HSTS 响应头应该设置多大的 max-age?6.03.0100%100%
specification.website:这份规范把良好响应性的 INP 目标值定为多少?6.03.0100%100%
成本(按问题统计,每个任务的美元数):越低越好。另附各组成功率。
问题不用 WebMCP:成本用 WebMCP:成本不用 WebMCP:解决情况用 WebMCP:解决情况
specification.website:按照这份规范,页面的 meta description 应该多长?$0.025$0.0045100%100%
specification.website:这个网站的规范要求正常字号的正文文本最低对比度是多少?$0.025$0.0043100%100%
specification.website:这份规范要求按钮和其他交互控件的最小点击区域是多大?$0.022$0.0052100%100%
specification.website:按照这份规范,生产环境的 HSTS 响应头应该设置多大的 max-age?$0.015$0.0042100%100%
specification.website:这份规范把良好响应性的 INP 目标值定为多少?$0.013$0.0043100%100%

specification.website 注册的 5 个 WebMCP 工具

智能体当时看到的版本 · 2026-11-08

工具描述已调用
search_spec

Search The Website Specification for matching topics. Returns ranked results with title, status, category, canonical URL, and a one-line summary. Use this when the user asks about a topic by keyword (e.g. "CSP", "alt text", "llms.txt").

search_spec({"query":"meta description"})

search_spec({"query":"contrast ratio"})

search_spec({"query":"tap target size"})

search_spec({"query":"HSTS"})

search_spec({"query":"INP"})

已调用
get_topic

Fetch the Markdown for one spec page by its slug, returned as lines you can page through. Use this after search_spec or list_topics to read the canonical guidance.

get_topic({"slug":"meta-description"})

get_topic({"slug":"color-contrast"})

get_topic({"slug":"touch-target-size"})

get_topic({"slug":"hsts"})

get_topic({"slug":"core-web-vitals"})

已调用
list_topics

List spec topics, optionally filtered by category and/or status. Returns title, status, category, summary, and URL per topic. Use this when the user wants the canonical list (e.g. "all required SEO topics"). Results are paged — follow page/page_size to walk the whole list.

–未调用
open_checklist

Navigate the user to the full spec checklist page. Optionally jumps to a category section via URL hash. UI action — does not return data.

–未调用
open_search

Open the on-page ⌘K search overlay so the user can search the spec interactively. Optionally pre-fills a query. UI action — does not return results; use search_spec for that.

–未调用
  • gemini-3.8-flash,推理强度 medium,无头 Chrome。两组使用相同的提示词和步数上限;每个问题每组运行 3 次。
  • 不用 WebMCP:基于 DOM 快照的智能体,靠读、点、填完成操作。
  • 用 WebMCP:只能使用页面注册的工具(网站自带的,或在我们的测试站点上由 webmcpx 提供)。
  • 按答案中的事实和页面状态评分,不用 LLM 当评委。
  • 真实网站:自带 WebMCP 工具。
  • 6 个网站共 30 个问题,其中 27 个只读;最大的节省来自网站自带的搜索工具。
  • 每个问题每组运行 3 次:3/3 是证据,不是 100% 的证明。
  • 时间是页面加载后的智能体循环;成本是按有日期的标价计算的模型 API 用量,含缓存。
  • 每次失败的运行都在结果中注明原因(网站拦截、答案不来自页面、步数上限……)。
复现步骤
git clone https://github.com/webmcpx/webmcpx
cd webmcpx && just setup
GEMINI_API_KEY=... just bench --model gemini-3.8-flash --reasoning-effort medium

Notion

“我在分页读取 Notion API 的结果。列表类接口每次调用最多能请求多大的 page_size?”

developers.notion.com (打开 Notion)

8.2×

token 更少

29k → 3.5k token

Token(按问题统计,每次运行的 token 数):越低越好。另附各组成功率。
问题不用 WebMCP:token用 WebMCP:token不用 WebMCP:解决情况用 WebMCP:解决情况
Notion:我在分页读取 Notion API 的结果。列表类接口每次调用最多能请求多大的 page_size?29k3.5k100%100%
Notion:我的 Notion 集成发送请求过多时,API 会在响应体里返回哪个错误码字符串?68k9.2k100%100%
Notion:在 Business 和 Enterprise 以外的套餐中,Notion API 每个连接每分钟允许多少个请求?29k6.0k100%100%
Notion:我在通过 API 往 Notion 页面写长段落。一次请求中,单个 rich text 对象的文本内容最多能有多少个字符?49k16k100%100%
Notion:用单段上传发送到 Notion API 的文件最大能有多大?超过多少就必须改用分段上传?71k32k100%100%
耗时(按问题统计,每次运行的秒数):越低越好。另附各组成功率。
问题不用 WebMCP:耗时用 WebMCP:耗时不用 WebMCP:解决情况用 WebMCP:解决情况
Notion:我在分页读取 Notion API 的结果。列表类接口每次调用最多能请求多大的 page_size?15.8s7.6s100%100%
Notion:我的 Notion 集成发送请求过多时,API 会在响应体里返回哪个错误码字符串?23.0s11.5s100%100%
Notion:在 Business 和 Enterprise 以外的套餐中,Notion API 每个连接每分钟允许多少个请求?13.5s7.0s100%100%
Notion:我在通过 API 往 Notion 页面写长段落。一次请求中,单个 rich text 对象的文本内容最多能有多少个字符?20.5s13.3s100%100%
Notion:用单段上传发送到 Notion API 的文件最大能有多大?超过多少就必须改用分段上传?23.1s18.6s100%100%
步数(按问题统计,每次运行的模型轮次):越低越好。另附各组成功率。
问题不用 WebMCP:步数用 WebMCP:步数不用 WebMCP:解决情况用 WebMCP:解决情况
Notion:我在分页读取 Notion API 的结果。列表类接口每次调用最多能请求多大的 page_size?6.73.0100%100%
Notion:我的 Notion 集成发送请求过多时,API 会在响应体里返回哪个错误码字符串?8.04.7100%100%
Notion:在 Business 和 Enterprise 以外的套餐中,Notion API 每个连接每分钟允许多少个请求?5.33.0100%100%
Notion:我在通过 API 往 Notion 页面写长段落。一次请求中,单个 rich text 对象的文本内容最多能有多少个字符?7.34.3100%100%
Notion:用单段上传发送到 Notion API 的文件最大能有多大?超过多少就必须改用分段上传?8.77.0100%100%
成本(按问题统计,每个任务的美元数):越低越好。另附各组成功率。
问题不用 WebMCP:成本用 WebMCP:成本不用 WebMCP:解决情况用 WebMCP:解决情况
Notion:我在分页读取 Notion API 的结果。列表类接口每次调用最多能请求多大的 page_size?$0.016$0.0033100%100%
Notion:我的 Notion 集成发送请求过多时,API 会在响应体里返回哪个错误码字符串?$0.026$0.0079100%100%
Notion:在 Business 和 Enterprise 以外的套餐中,Notion API 每个连接每分钟允许多少个请求?$0.016$0.0048100%100%
Notion:我在通过 API 往 Notion 页面写长段落。一次请求中,单个 rich text 对象的文本内容最多能有多少个字符?$0.022$0.0097100%100%
Notion:用单段上传发送到 Notion API 的文件最大能有多大?超过多少就必须改用分段上传?$0.027$0.017100%100%

Notion 注册的 5 个 WebMCP 工具

智能体当时看到的版本 · 2026-11-08

工具描述已调用
search_docs

Search the Notion Docs documentation for relevant pages and content.

search_docs({"query":"pagination page_size"})

search_docs({"query":"rate limit error code"})

search_docs({"query":"errors status code rate limited"})

search_docs({"query":"rate limits requests per minute"})

search_docs({"query":"rich text maximum characters limit"})

search_docs({"query":"\"Size limits\" \"text.content\""})

search_docs({"query":"upload single-part multi-part file"})

search_docs({"query":"working-with-files-and-media single_part"})

已调用
read_page

Read the full content of a Notion Docs documentation page as markdown.

read_page({"path":"https://developers.notion.com/reference/pagination"})

read_page({"path":"https://developers.notion.com/reference/status-codes"})

read_page({"path":"https://developers.notion.com/reference/request-limits"})

read_page({"path":"https://developers.notion.com/reference/request-limits"})

read_page({"path":"https://developers.notion.com/reference/file-upload"})

read_page({"path":"https://developers.notion.com/guides/data-apis/sending-larger-files"})

read_page({"path":"https://developers.notion.com/guides/data-apis/uploading-small-files"})

read_page({"path":"https://developers.notion.com/guides/data-apis/working-with-files-and-media"})

已调用
get_site_overview

Get an outline of the Notion Docs documentation, grouped by section, with a short description of each page. May be truncated for large sites; use search_docs to find pages not listed.

–未调用
navigate_page

Navigate the current browser tab to a Notion Docs documentation page.

–未调用
read_skill

Read a Notion Docs agent skill document by name.

–未调用
  • gemini-3.8-flash,推理强度 medium,无头 Chrome。两组使用相同的提示词和步数上限;每个问题每组运行 3 次。
  • 不用 WebMCP:基于 DOM 快照的智能体,靠读、点、填完成操作。
  • 用 WebMCP:只能使用页面注册的工具(网站自带的,或在我们的测试站点上由 webmcpx 提供)。
  • 按答案中的事实和页面状态评分,不用 LLM 当评委。
  • 真实网站:自带 WebMCP 工具。
  • 6 个网站共 30 个问题,其中 27 个只读;最大的节省来自网站自带的搜索工具。
  • 每个问题每组运行 3 次:3/3 是证据,不是 100% 的证明。
  • 时间是页面加载后的智能体循环;成本是按有日期的标价计算的模型 API 用量,含缓存。
  • 每次失败的运行都在结果中注明原因(网站拦截、答案不来自页面、步数上限……)。
复现步骤
git clone https://github.com/webmcpx/webmcpx
cd webmcpx && just setup
GEMINI_API_KEY=... just bench --model gemini-3.8-flash --reasoning-effort medium

Kiln & Co 本地

“把你们卖的最贵的茶壶加入我的购物车。”

5.9×

token 更少

12k → 2.1k token

Token(按问题统计,每次运行的 token 数):越低越好。另附各组成功率。
问题不用 WebMCP:token用 WebMCP:token不用 WebMCP:解决情况用 WebMCP:解决情况
Kiln & Co(本地测试网站):把你们卖的最贵的茶壶加入我的购物车。12k2.1k100%100%
Kiln & Co(本地测试网站):把一个 Stoneware Teapot 和一个 Speckled Bowl 加入我的购物车,然后告诉我购物车总价。16k2.9k100%100%
Kiln & Co(本地测试网站):把最便宜的蓝色马克杯加两个到我的购物车。10k2.2k100%100%
Kiln & Co(本地测试网站):我需要一件 $30 以内、现在就能买到的绿色礼物。你们有什么?7.3k2.6k100%100%
耗时(按问题统计,每次运行的秒数):越低越好。另附各组成功率。
问题不用 WebMCP:耗时用 WebMCP:耗时不用 WebMCP:解决情况用 WebMCP:解决情况
Kiln & Co(本地测试网站):把你们卖的最贵的茶壶加入我的购物车。15.3s7.2s100%100%
Kiln & Co(本地测试网站):把一个 Stoneware Teapot 和一个 Speckled Bowl 加入我的购物车,然后告诉我购物车总价。14.0s8.0s100%100%
Kiln & Co(本地测试网站):把最便宜的蓝色马克杯加两个到我的购物车。12.1s6.1s100%100%
Kiln & Co(本地测试网站):我需要一件 $30 以内、现在就能买到的绿色礼物。你们有什么?11.7s9.0s100%100%
步数(按问题统计,每次运行的模型轮次):越低越好。另附各组成功率。
问题不用 WebMCP:步数用 WebMCP:步数不用 WebMCP:解决情况用 WebMCP:解决情况
Kiln & Co(本地测试网站):把你们卖的最贵的茶壶加入我的购物车。6.03.0100%100%
Kiln & Co(本地测试网站):把一个 Stoneware Teapot 和一个 Speckled Bowl 加入我的购物车,然后告诉我购物车总价。6.03.3100%100%
Kiln & Co(本地测试网站):把最便宜的蓝色马克杯加两个到我的购物车。5.03.0100%100%
Kiln & Co(本地测试网站):我需要一件 $30 以内、现在就能买到的绿色礼物。你们有什么?4.03.0100%100%
成本(按问题统计,每个任务的美元数):越低越好。另附各组成功率。
问题不用 WebMCP:成本用 WebMCP:成本不用 WebMCP:解决情况用 WebMCP:解决情况
Kiln & Co(本地测试网站):把你们卖的最贵的茶壶加入我的购物车。$0.01$0.0022100%100%
Kiln & Co(本地测试网站):把一个 Stoneware Teapot 和一个 Speckled Bowl 加入我的购物车,然后告诉我购物车总价。$0.013$0.0031100%100%
Kiln & Co(本地测试网站):把最便宜的蓝色马克杯加两个到我的购物车。$0.0092$0.0023100%100%
Kiln & Co(本地测试网站):我需要一件 $30 以内、现在就能买到的绿色礼物。你们有什么?$0.0069$0.0033100%100%

Kiln & Co 注册的 4 个 WebMCP 工具

智能体当时看到的版本 · 2026-11-08

工具描述已调用
search_products

Search the catalog. Every filter is optional; with none, returns every product. Prices are USD.

search_products({"category":"teapot","sort":"price_desc"})

search_products({"query":"Stoneware Teapot"})

search_products({"query":"Speckled Bowl"})

search_products({"category":"mug","color":"blue","sort":"price_asc"})

search_products({"color":"green","max_price":30})

search_products({"color":"green"})

已调用
add_to_cart

Add a product to the cart by sku. Adding a sku already in the cart increases its quantity.

add_to_cart({"quantity":1,"sku":"TPT-02"})

add_to_cart({"quantity":1,"sku":"TPT-01"})

add_to_cart({"quantity":1,"sku":"BWL-01"})

add_to_cart({"quantity":2,"sku":"MUG-03"})

已调用
get_cart

Return the cart: items with quantity and the total in USD.

get_cart({})

已调用
get_page_context

Describe the page the user is on: title, URL, language, meta description, heading outline and the text the user has selected. Use it for the page's structure or the user's selection; to find a fact on the page, call search_page instead.

–未调用
  • gemini-3.8-flash,推理强度 medium,无头 Chrome。两组使用相同的提示词和步数上限;每个问题每组运行 3 次。
  • 不用 WebMCP:基于 DOM 快照的智能体,靠读、点、填完成操作。
  • 用 WebMCP:只能使用页面注册的工具(网站自带的,或在我们的测试站点上由 webmcpx 提供)。
  • 按答案中的事实和页面状态评分,不用 LLM 当评委。
  • 本地测试网站:工具由 webmcpx 提供。
  • 6 个网站共 30 个问题,其中 27 个只读;最大的节省来自网站自带的搜索工具。
  • 每个问题每组运行 3 次:3/3 是证据,不是 100% 的证明。
  • 时间是页面加载后的智能体循环;成本是按有日期的标价计算的模型 API 用量,含缓存。
  • 每次失败的运行都在结果中注明原因(网站拦截、答案不来自页面、步数上限……)。
复现步骤
git clone https://github.com/webmcpx/webmcpx
cd webmcpx && just setup
GEMINI_API_KEY=... just bench --model gemini-3.8-flash --reasoning-effort medium

Orbit docs 本地

“哪个环境变量能让 Orbit 从其他路径读取配置文件?”

2.7×

token 更少

3.4k → 1.3k token

Token(按问题统计,每次运行的 token 数):越低越好。另附各组成功率。
问题不用 WebMCP:token用 WebMCP:token不用 WebMCP:解决情况用 WebMCP:解决情况
Orbit docs(本地测试网站):哪个环境变量能让 Orbit 从其他路径读取配置文件?3.4k1.3k100%100%
Orbit docs(本地测试网站):我的 CI 步骤失败了,orbit 退出码是 4。这是什么意思?3.4k1.3k100%100%
耗时(按问题统计,每次运行的秒数):越低越好。另附各组成功率。
问题不用 WebMCP:耗时用 WebMCP:耗时不用 WebMCP:解决情况用 WebMCP:解决情况
Orbit docs(本地测试网站):哪个环境变量能让 Orbit 从其他路径读取配置文件?6.9s5.2s100%100%
Orbit docs(本地测试网站):我的 CI 步骤失败了,orbit 退出码是 4。这是什么意思?5.1s5.8s100%100%
步数(按问题统计,每次运行的模型轮次):越低越好。另附各组成功率。
问题不用 WebMCP:步数用 WebMCP:步数不用 WebMCP:解决情况用 WebMCP:解决情况
Orbit docs(本地测试网站):哪个环境变量能让 Orbit 从其他路径读取配置文件?2.02.0100%100%
Orbit docs(本地测试网站):我的 CI 步骤失败了,orbit 退出码是 4。这是什么意思?2.02.0100%100%
成本(按问题统计,每个任务的美元数):越低越好。另附各组成功率。
问题不用 WebMCP:成本用 WebMCP:成本不用 WebMCP:解决情况用 WebMCP:解决情况
Orbit docs(本地测试网站):哪个环境变量能让 Orbit 从其他路径读取配置文件?$0.003$0.0013100%100%
Orbit docs(本地测试网站):我的 CI 步骤失败了,orbit 退出码是 4。这是什么意思?$0.0031$0.0015100%100%

Orbit docs 注册的 3 个 WebMCP 工具

智能体当时看到的版本 · 2026-11-08

工具描述已调用
search_page

Find passages on the current page that match a query. Returns up to `limit` passages ranked by relevance, each with its section heading and a link to it. Prefer it to reading the whole page when looking for something specific.

search_page({"query":"environment variable config path"})

search_page({"query":"exit code 4"})

已调用
fetch_as_markdown

Return the main content of the current page as Markdown. Long pages come in parts: when `truncated` is true, call again with `cursor` set to `next_cursor`.

–未调用
get_page_context

Describe the page the user is on: title, URL, language, meta description, heading outline and the text the user has selected. Use it for the page's structure or the user's selection; to find a fact on the page, call search_page instead.

–未调用
  • gemini-3.8-flash,推理强度 medium,无头 Chrome。两组使用相同的提示词和步数上限;每个问题每组运行 3 次。
  • 不用 WebMCP:基于 DOM 快照的智能体,靠读、点、填完成操作。
  • 用 WebMCP:只能使用页面注册的工具(网站自带的,或在我们的测试站点上由 webmcpx 提供)。
  • 按答案中的事实和页面状态评分,不用 LLM 当评委。
  • 本地测试网站:工具由 webmcpx 提供。
  • 6 个网站共 30 个问题,其中 27 个只读;最大的节省来自网站自带的搜索工具。
  • 每个问题每组运行 3 次:3/3 是证据,不是 100% 的证明。
  • 时间是页面加载后的智能体循环;成本是按有日期的标价计算的模型 API 用量,含缓存。
  • 每次失败的运行都在结果中注明原因(网站拦截、答案不来自页面、步数上限……)。
复现步骤
git clone https://github.com/webmcpx/webmcpx
cd webmcpx && just setup
GEMINI_API_KEY=... just bench --model gemini-3.8-flash --reasoning-effort medium