DOMAgent
浏览器扩展+MCP服务器,让AI代理控制你的真实浏览器——没有无头浏览器,没有傀儡。适用于Chrome和Firefox。
代理连接到您计算机上运行的MCP服务器,MCP服务器通过扩展将命令中继到浏览器。每一个动作(点击、打字、截图、导航……)都发生在你真实的、已经打开的浏览器窗口中。
](https://www.npmjs.com/package/domagent) ](https://www.npmjs.com/package/domagent)
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 单个自动化选项卡 设计使您的其他选项卡永远不会被劫持:
- 第一
navigate呼叫 → 创建一个新选项卡,将其固定为自动化选项卡 - 随后的
navigate电话 → 重用同一选项卡(导航到新URL) use_current_tab→ 采用当前聚焦的任何选项卡(无新选项卡)- 所有命令 (点击、键入、截图…)→ 始终通过会话ID定位自动化选项卡
- 您的其他选项卡 → 从未触碰过
______________________________________________________________________
快速开始
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 |
