浏览器控制工具

Helm Browser 是一款通过MCP协议控制实际Chrome浏览器的工具,支持AI编程助手进行浏览器自动化操作,适用于网页抓取、表单自动化和多标签研究等场景。

  • by jfikrat
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 jfikrat/helm-browser

使用说明

Helm浏览器

通过MCP对AI编码助手进行浏览器控制。你真正的Chrome,而不是无头实例。

npx skills add jfikrat/helm-browser

亮点

  • 约57个工具,涵盖导航、阅读、交互、脚本编写、状态和多目标控制
  • 用于调试器变异命令的具有每个选项卡序列化的持久调试器会话
  • 语义定位器通过 browser_get_snapshot() 和 locator 支持稳定元素瞄准
  • 对iframe、弹出窗口和对话框的多目标支持

为什么是Helm?

大多数浏览器自动化工具都会启动一个单独的无头Chromium。Helm采用了一种不同的方法:它控制 您的实际Chrome 通过轻量级的扩展。

Helm浏览器 无头(剧作家/木偶师)
浏览器 您的真实Chrome 单独的Chromium实例
身份验证 已登录 每次都必须进行身份验证
扩展 您的扩展有效 没有扩展
机器人检测 未检测到 经常被阻止
二进制大小 0 MB(使用您的Chrome) ~200 MB Chromium下载
协议 MCP本机 自定义API

支持的客户

  • 克劳德代码 -Anthropic的CLI
  • Codex CLI -OpenAI
  • Gemini CLI 谷歌
  • 帮助 -AI配对编程
  • 任何兼容MCP的客户端

建筑

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│   AI Client     │────▶│   Helm Daemon   │────▶│ Chrome Extension│
│ (Claude, etc.)  │ WS  │   (Port 9876)   │ WS  │   (Side Panel)  │
└─────────────────┘     └─────────────────┘     └─────────────────┘
  • 扩展:带侧面板UI的Chrome扩展程序
  • 守护进程:端口9876上的WebSocket协调器
  • 服务器:MCP服务器公开浏览器工具
  • 客户:用于AI助手的MCP客户端

快速开始

先决条件

  • 铬或铬

1.安装

git clone https://github.com/jfikrat/helm-browser.git
cd helm-browser
./install.sh

2.加载Chrome扩展程序

  1. 首选 chrome://extensions
  2. 启用 开发人员模式
  3. 点击 装载时未包装 → 选择 extension/ 文件夹

install.sh 如果需要,安装Bun,运行 bun install 在 daemon/, server/,以及 client/,并将守护进程注册为用户服务(systemd 在Linux上, launchd 在macOS上)。重新运行是安全的。

要稍后删除服务和已安装的依赖项,请执行以下操作:

./uninstall.sh

3.配置MCP

添加到您的MCP配置中(例如。, ~/.claude/claude.json):

{
  "mcpServers": {
    "helm": {
      "command": "bun",
      "args": ["run", "/path/to/helm-browser/client/index.ts"]
    }
  }
}

工具

导航

工具 说明
browser_navigate(url) 导航到URL
browser_get_url() 获取当前URL和标题
browser_get_tabs() 列出所有打开的选项卡
browser_switch_tab(tabId) 切换到选项卡
browser_new_tab(url?) 打开新选项卡
browser_close_tab(tabId?) 关闭选项卡

阅读

工具 说明
browser_screenshot(selector?) 屏幕截图(整页或元素)
browser_get_element_text(selector) 获取元素的文本内容
browser_get_snapshot() 使用稳定的引用快照交互式元素
browser_find_text(text, click?) 在页面上查找文本,可选择单击它
browser_wait_for_function(expression, timeout?, interval?) 轮询JS表达式直到为真
browser_get_cookies(url?, name?) 获取Cookie

交互

工具 说明
browser_click(selector) 按CSS选择器单击
browser_right_click(selector) 在图元上单击鼠标右键
browser_double_click(selector) 双击元素
browser_click_at(x, y) 点击坐标
browser_type(selector, text) 在输入中键入
browser_paste(text, selector?) 粘贴文本(用于长内容)
browser_hover(selector) 将鼠标悬停在元素上
browser_scroll(direction, amount?) 滚动页面或元素
browser_press_key(key) 按键盘键
browser_press_keys(keys) 按下和弦键
browser_select(selector, value) 选择下拉选项
browser_set_cookie(...) 设置浏览器cookie
browser_clear_cookies(...) 清除URL的Cookie

目标与调试

工具 说明
browser_list_targets() 列出当前会话中的选项卡及其iframe
browser_wait_for_popup(timeout?, tabId?) 等待新标签或弹出窗口
browser_wait_for_dialog(timeout?, tabId?) 等待警报/确认/提示对话框
browser_handle_dialog(accept?, promptText?, tabId?) 接受或取消对话
browser_debug_status() 检查调试器会话、观察程序和记录

高级

工具 说明
browser_execute(code) 在页面中运行JavaScript
browser_record(execute, duration?) 将选项卡录制为视频
browser_status() 检查分机连接

例子

Web剪贴

> Navigate to Hacker News, get the top 3 story titles

browser_navigate("https://news.ycombinator.com")
browser_get_element_text(".titleline > a")

表单自动化

> Log into my dashboard

browser_navigate("https://app.example.com/login")
browser_type("[name='email']", "user@example.com")
browser_type("[name='password']", "secret")
browser_click("[type='submit']")

多标签研究

> Open GitHub trending and compare top 2 repos

browser_navigate("https://github.com/trending")
browser_get_element_text("article.Box-row:first-child h2 a")
browser_click("article.Box-row:first-child h2 a")
browser_screenshot()

语义定位

> Use stable refs instead of brittle selectors

browser_get_snapshot()
browser_click({ "ref": "e42" })
browser_type({ "label": "Email address" }, "user@example.com")

会话隔离

每个MCP客户端都有自己的隔离浏览器窗口。侧面板显示活动会话,并允许手动选项卡布线。

发展

cd daemon && bun run --watch start   # Daemon with hot reload
cd server && bun run --watch start   # Server with hot reload
cd client && bun run --watch start   # Client with hot reload

许可证

麻省理工学院-见 许可证