浏览器自动化控制工具

DOMAgent是一个浏览器扩展和MCP服务器,允许AI代理控制真实浏览器,无需无头浏览器或傀儡程序,支持Chrome和Firefox。

  • by vaishnavucv
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 vaishnavucv/domagent

使用说明

DOMAgent

浏览器扩展+MCP服务器,让AI代理控制你的真实浏览器——没有无头浏览器,没有傀儡。适用于Chrome和Firefox。

代理连接到您计算机上运行的MCP服务器,MCP服务器通过扩展将命令中继到浏览器。每一个动作(点击、打字、截图、导航……)都发生在你真实的、已经打开的浏览器窗口中。

npx domagent

为什么选择DOMAgent?

不带DOMAgent 带DOMAgent
无头浏览器-不可见,无会话 您的真实浏览器-已登录,Cookie完好无损
缓慢的木偶/剧作家旋转 即时-扩展已加载
无法与打开的选项卡交互 可以采用已打开的任何选项卡
复杂的DevTools设置 一键安装+ npm start

建筑

┌──────────────────┐  WebSocket   ┌──────────────────┐   stdio    ┌──────────────┐
│  Browser         │◄────────────►│   MCP Server      │◄──────────►│  AI Agent    │
│  Extension       │  CDP relay   │  (server.js)      │   MCP      │ (Claude,     │
│  background.js   │              │  + index.js       │            │  Ollama, …)  │
└──────────────────┘              └──────────────────┘            └──────────────┘
chrome-extension/
├── domagent-extension/
│   ├── chrome/                  ← Chrome extension
│   │   ├── background.js        ← Service worker (CDP via debugger API)
│   │   ├── manifest.json
│   │   ├── options.html / options.js
│   │   └── icons/
│   └── firefox/                 ← Firefox extension
│       ├── background.js        ← Background script (content-script relay)
│       ├── content.js           ← Content script injected into pages
│       ├── manifest.json
│       ├── options.html / options.js
│       └── icons/
└── domagent-mcp/                ← Node.js MCP server (runs locally)
    ├── index.js
    ├── server.js
    └── package.json

可用的MCP工具

工具 说明
navigate 打开URL--重用自动化选项卡(没有重复的选项卡)
use_current_tab 采用用户的活动选项卡——不创建新选项卡
click 通过CSS选择器单击元素(显示橙色视觉指示器)
type_text 通过CSS选择器在输入字段中键入(显示蓝色视觉指示器)
get_text 获取元素的文本内容
evaluate_script 在页面中执行任意JavaScript
get_screenshot 捕获当前页面的PNG屏幕截图
get_interactive_elements 列出所有可见的交互式元素,包括选择器和边界框
clear_overlays 从页面中删除所有视觉覆盖框

选项卡管理

该扩展使用a 单个自动化选项卡 设计使您的其他选项卡永远不会被劫持:

  1. 第一 navigate 呼叫 → 创建一个新选项卡,将其固定为自动化选项卡
  2. 随后的 navigate 电话 → 重用同一选项卡(导航到新URL)
  3. use_current_tab → 采用当前聚焦的任何选项卡(无新选项卡)
  4. 所有命令 (点击、键入、截图…)→ 始终通过会话ID定位自动化选项卡
  5. 您的其他选项卡 → 从未触碰过

快速开始

1.启动MCP服务器

cd domagent-mcp
npm install
npm start

服务器在上启动WebSocket ws://127.0.0.1:18792/extension 并等待浏览器扩展连接。

2.加载扩展

3.连接您的AI代理

通过以下方式配置您的AI代理以使用MCP服务器 标准 运输。

推荐使用npm包(无需路径):

{
  "mcpServers": {
    "domagent": {
      "command": "npx",
      "args": ["domagent"]
    }
  }
}

备选方案--从源代码运行:

{
  "mcpServers": {
    "domagent": {
      "command": "node",
      "args": ["/absolute/path/to/domagent-mcp/index.js"]
    }
  }
}

扩展选项

右键单击扩展图标→ 选项 要配置WebSocket连接,请执行以下操作:

设置 默认值
主持人 127.0.0.1
港口 18792
WS路径 /extension

视觉指示器

当自动化点击或键入时,会出现一个简短的视觉指示器:

  • 🟠 橙色圆点 → 点击动作
  • 🔵 蓝点 → 类型动作
  • 🟡 黄色虚线框 → 突出显示的交互元素
  • 🟢 绿色虚线框 → 突出显示的可键入元素

指示器会自动脉冲和淡入淡出,而不会干扰页面。


Chrome与Firefox有何不同

功能 Chrome Firefox
DOM访问方法 chrome.debugger API(CDP) 内容脚本中继
后台上下文 服务工作器 持久后台脚本
调试横幅 是(可用横幅抑制) 无横幅
最低版本 任何现代Chrome浏览器 Firefox 109+

浏览器特定指南

浏览器 自述文件
� Chrome domagent-extension/chrome/README.md
🦊 火狐 domagent-extension/firefox/README.md