Token导航 LogoToken导航TokenDH.com
Remix Browser logo
浏览器工具未说明官方级别未说明来源级核验

Remix Browser

MCP Server

remix-browser是一个基于Rust的无头Chrome自动化工具,通过Chrome DevTools Protocol提供完整的浏览器控制功能,适用于AI代理和多步浏览器工作流自动化。

工具数

26

提示词数

0

GitHub Stars

3

资源数

0
浏览器自动化RustClaudeAI代理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

hkd987

提供方

hkd987

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

remix-browser

Blazing fast headless Chrome automation via CDP — no extension needed.

Installation · Tools · Configuration · Architecture

![CI](https://github.com/hkd987/remix-browser/actions/workflows/ci.yml)

______________________________________________________________________

Rust本地人 主控程序 通过Chrome DevTools协议,AI代理可以完全控制真实的Chrome浏览器。没有浏览器扩展,没有Puppeteer,没有Node.js——只有一个说CDP的二进制文件。

基准测试

方法时间成本周转成功
混音浏览器3米35秒$0.8323100%
开发者浏览器300万53秒0.88美元29美元100%
剧作家MCP400万31s1.45美元51100%
编剧技巧800万07s1.45美元38100%
克劳德代码原生Chrome1200万54秒2.81美元80美元100%

\_请参阅 dev浏览器评估 方法论。使用的模型是十四行诗4.5

为什么要重新混合浏览器?

混音浏览器基于扩展的MCPPuppeter包装器
初创公司单二进制,即时需要安装浏览器扩展Node.js+npm安装
可靠性具有自动回退功能的混合点击策略扩展消息传递仅基本点击
多标签内置选项卡池管理受扩展API限制手动页面跟踪
网络捕获一流的网络监控不可用需要额外设置
控制台日志内置过滤捕获功能不可用需要额外设置
选择器CSS+文本+XPath仅限CSSCSS+XPath
语言Rust(快速、安全、单二进制)JavaScriptJavaScript

安装

Claude代码插件(推荐)

/plugin marketplace add hkd987/remix-browser
/plugin install remix-browser@hkd987-remix-browser

就是这样——二进制文件在首次使用时会自动下载。无需生锈。

下载预构建的二进制文件

curl -fsSL https://raw.githubusercontent.com/hkd987/remix-browser/main/scripts/install.sh | sh

来源

git clone https://github.com/hkd987/remix-browser.git
cd remix-browser
cargo build --release

需求

  • 谷歌浏览器 已安装(自动检测)
  • 锈蚀1.88+ 仅当从源头构建时才需要

快速开始

添加到克劳德代码

添加到您的Claude Code MCP配置中(~/.claude/mcp.json):

{
  "mcpServers": {
    "remix-browser": {
      "command": "/path/to/remix-browser"
    }
  }
}

就是这样。克劳德现在有浏览器了。

头部模式(查看发生了什么)

{
  "mcpServers": {
    "remix-browser": {
      "command": "/path/to/remix-browser",
      "args": ["--headed"]
    }
  }
}

连接到现有浏览器

Chrome 144+有一个内置的切换,可以让任何代理连接到您正在运行的浏览器——不需要扩展程序。

  1. 打开 chrome://inspect/#remote-debugging 在Chrome浏览器中
  2. 启用远程调试切换
  3. 连接混音浏览器:
{
  "mcpServers": {
    "remix-browser": {
      "command": "/path/to/remix-browser",
      "args": ["--cdp-url", "ws://127.0.0.1:9222"]
    }
  }
}

或者使用环境变量:

{
  "mcpServers": {
    "remix-browser": {
      "command": "/path/to/remix-browser",
      "env": {
        "CDP_URL": "ws://127.0.0.1:9222"
      }
    }
  }
}

HTTP URL也可以工作——WebSocket URL是从以下位置自动发现的 /json/version:

CDP_URL=http://127.0.0.1:9222 remix-browser

当连接到外部浏览器时,混音浏览器会使用您现有的标签页,并在退出时优雅地断开连接,而无需关闭Chrome。

最佳性能提示

为了获得最佳体验,请将此行添加到您的项目中 CLAUDE.md (或 ~/.claude/CLAUDE.md 对于所有项目):

When I ask to use Chrome or browser automation, use remix-browser MCP tools.
For 1-2 simple actions, granular tools are fine.
For workflows with 3+ actions, loops, or extraction, prefer `run_script`.
Use `fill` for setting any form control — it auto-detects input type (text, select, checkbox, range slider).
Snapshots auto-append after every tool call, so [ref=eN] selectors are always fresh.

这条消息告诉Claude,每当你提到浏览器任务时,都要自动访问remixbrowser,而无需说出“remixbrowse”的名字。

性能使用模式

  • 使用粒度工具处理短流程(navigate -> click -> get_text).
  • 使用 run_script 用于多步骤工作流、循环和重复提取。
  • 使用 fill 而不是 type_text + select_option --它自动检测控件类型(文本、选择、复选框、范围滑块、ARIA滑块)。
  • 每次工具调用后都会自动追加快照,因此 [ref=eN] 选择器始终可用,无需单独的 snapshot 电话。
  • 所有交互工具(click, type_text, fill)包括 自动等待 --它们在动作前最多轮询5秒,以确保元素出现,从而消除了动态页面上的计时错误。

工具

rex浏览器提供了一个按类别组织的广泛工具集。

导航

工具说明
navigate转到URL。支持 load, domcontentloaded,以及 networkidle 等待策略。
go_back返回历史记录。
go_forward在历史中向前导航。
reload重新加载当前页面。
get_page_info获取当前URL、标题和视口尺寸。

查找元素

工具说明
find_elements通过CSS选择器、文本内容或XPath查找元素。返回标记、文本、属性和节点ID。
get_text从匹配的元素中提取文本内容。
get_html获取页面或特定元素的内部或外部HTML。
wait_for等待元素出现、消失或变得可见。可配置超时。

快照

工具说明
snapshot返回一个紧凑的交互式元素列表,其中包含稳定的引用,例如 [ref=e0] 它可以在选择器中重用。

交互

工具说明
click使用鼠标单击元素 混合策略 --首先尝试真实的鼠标事件,如果元素被遮挡,则回退到JS调度。自动等待元素出现最多5秒。
type_text在输入字段中键入。可选择先清除现有内容。自动等待元素出现最多5秒。
fill智能表单控件设置器 --自动检测输入类型并适当设置值。适用于文本输入、文本区域、, `,复选框, input[type=range] 滑块和ARIA role="slider"` 元素。
hover将鼠标悬停在元素(火)上 mouseenter, mouseover, mousemove).
select_option在中选择一个选项 `` 按值下拉。
press_key按键盘键(Enter, Tab, ArrowDown等等),并带有可选的修饰语。
scroll在任何方向上滚动页面或特定元素。

截图

工具说明
screenshot以base64 PNG/JPEG格式捕获视口、整页或特定元素。

JavaScript和控制台

工具说明
execute_js运行任意JavaScript并将结果作为JSON返回。
read_console读取捕获 console.log/warn/error 输出。按级别或正则表达式模式过滤。

网络监控

工具说明
network_enable开始捕获网络请求。可选择按URL模式过滤。
get_network_log通过URL模式、HTTP方法或状态代码查询捕获的请求。包括计时数据。

选项卡管理

工具说明
new_tab打开一个新选项卡,可选择导航到URL
close_tab关闭特定选项卡或活动选项卡。
list_tabs列出所有打开的标签及其URL和标题。

脚本自动化

工具说明
run_script使用同步工具在一次工具调用中执行多步浏览器自动化 page.* API包含 page.fill(), page.click(), page.type(), page.js()以及更多。 [ref=eN] 选择器内部自动解析 page.js() 表达。最适合循环、重复操作和提取工作流。

选择器类型

所有元素定位工具都支持三种选择策略:

CSS (default):  "button.submit", "#login-form", "div > p:first-child"
Text:           "Sign In", "Submit Order", "Click here"
XPath:          "//button[@type='submit']", "//div[contains(@class, 'menu')]"

文本选择器使用TreeWalker根据可见的文本内容查找元素——不需要检查DOM来找到正确的CSS类。

混合点击

大多数浏览器自动化工具在现代JS密集型网站上都失败了。下拉菜单、叠加、动态定位元素——它们都很简单 element.click().

混音浏览器使用 混合点击策略:

  1. 自动等待 元素在DOM中出现的时间最多为5秒
  2. 将元素滚动到视图中
  3. 检查可见性以及是否被其他元素遮挡
  4. 发送真实鼠标事件(mousedown -> mouseup -> click)在元素的坐标处
  5. 如果元素被遮挡(例如,在覆盖层后面),则自动回退到JavaScript click()
  6. 报告使用了哪种方法,以便您确切地知道发生了什么

这意味着点击 只管工作 --即使在具有复杂覆盖、粘性标题、动态菜单和延迟加载元素的网站上也是如此。

配置

选项默认值描述
--headedfalse显示浏览器窗口,而不是无头运行
--cdp-url--通过CDP WebSocket或HTTP URL连接到现有浏览器
CDP_URL env var--与相同 --cdp-url (环境变量替代)
RUST_LOG 有人是。 info控制日志冗长(debug, trace等等)

Chrome检测

混音浏览器会自动在您的系统上找到Chrome:

  • macOS: /Applications/Google Chrome.app,自制路径,Chrome Canary
  • Linux: /usr/bin/google-chrome,卡扣包,Chromium
  • 视窗:程序文件,本地AppData

回落到 which google-chrome / which chromium 如果标准路径不存在。

默认浏览器设置

  • 视口:1280x720
  • 无头模式: --headless=new (Chrome的最新无头实现)
  • 对于干净的自动化环境,扩展、同步、弹出窗口和首次运行提示都被禁用

建筑

src/
├── main.rs                # CLI entry point
├── server.rs              # MCP ServerHandler — routes tool calls
├── browser/
│   ├── session.rs         # Browser lifecycle management
│   ├── pool.rs            # Multi-tab tracking (TabPool)
│   └── launcher.rs        # Chrome binary detection & launch config
├── tools/
│   ├── navigation.rs      # navigate, go_back, go_forward, reload
│   ├── dom.rs             # find_elements, get_text, get_html, wait_for
│   ├── interaction.rs     # click, type_text, fill, hover, select_option, press_key, scroll
│   ├── screenshot.rs      # screenshot capture
│   ├── snapshot.rs        # compact interactive tree + ref generation
│   ├── javascript.rs      # execute_js, console log capture
│   ├── network.rs         # network monitoring
│   ├── page.rs            # tab management
│   └── script.rs          # run_script JS engine and page API
├── interaction/
│   ├── click.rs           # Hybrid click strategy implementation
│   ├── keyboard.rs        # Key press & text input
│   ├── scroll.rs          # Scroll logic
│   └── wait.rs            # Auto-wait polling for element existence
└── selectors/
    ├── mod.rs             # Selector normalization & :has-text() conversion
    ├── css.rs             # CSS selector resolution
    ├── text.rs            # Text content matching via TreeWalker
    ├── xpath.rs           # XPath evaluation
    └── ref.rs             # [ref=eN] snapshot reference resolution

构建于:

测试

# Run all 50 integration tests (uses real headless Chrome)
cargo test -- --test-threads=4

# Run a specific test
cargo test test_navigate

测试使用固定的HTML文件,并启动具有唯一配置文件的独立Chrome实例——没有共享状态,没有漏洞。

许可证

麻省理工学院

目录标签

目录标签

浏览器自动化RustClaudeAI代理本地部署无头浏览器Rust工具ChromeDevTools

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

26

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP