mcpField
A
agentic-browser

agentic-browser

本地服务
davarion.com浏览器自动化31 天前更新

关于 agentic-browser

agentic-browser 让 AI Agent 通过精简文本快照、坐标和可见光标操作已安装的 Chrome。它提供 MCP 服务和 HTTP/JSON API,并支持网页浏览、数据提取及可复用任务配方。

主要功能

  1. 01以文本和元素坐标感知页面
  2. 02在 Chrome 中导航并交互
  3. 03将表格和列表提取为 JSON 或 CSV
  4. 04录制并重放可复用任务配方
  5. 05显示光标操作并提供审计记录

适用场景

  1. 01无需依赖截图来研究网站
  2. 02收集产品或搜索结果数据
  3. 03使用新值重复浏览器任务
  4. 04检查 Agent 的浏览器操作

MCP 相关

它以本地 MCP 服务运行,向 MCP 客户端提供浏览器控制与检查工具,并使用已安装的 Chrome。另提供 HTTP/JSON API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"davarion-tech-agentic-browser": {
"command": "npx",
"args": [
"-y",
"agentic-browser-mcp"
]
}
}
}
启动命令npx -y agentic-browser-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmagentic-browser-mcp1.4.0

工具

27

收录的工具列表 · 更新于 1 天前

参数类型必填说明
urlstring是
snapshotboolean否如果为 true,则在操作后返回快照(可节省一个回合)

详细介绍

agentic-browser 标志

agentic-browser

为任何 AI Agent 配备真正的浏览器,并观察它的所有操作。

由 Davarion 构建并维护。

无需 API 密钥。无需额外付费。 agentic-browser 是一个工具,不是模型:它在你的电脑上运行,并使用你的 Agent 已有的大脑。可以是你在 Claude Code 中的 Claude Pro/Max 套餐、在 Codex 中使用的 ChatGPT 套餐、Cursor,或本地模型。无需注册,也无需向我们支付按 token 计费的费用。

人类用浏览器浏览网页,而 Agent 通常需要 API。agentic-browser 让任何 Agent 都能像人一样使用你安装的 Google Chrome。它将页面呈现为带像素坐标的精简文本,而不是截图;可见光标会显示每一次移动和点击。

Español · 使用场景 · 聊天观察器 · 架构 · 安全 · 免责声明

agentic-browser 的 15 秒演示

▶ 观看 15 秒演示 · ▶ 观看完整视频(1 分钟)

Agent 对比两家商店的商品价格,并指出哪里更便宜

Agent 搜索 Wikipedia、阅读文章并进行总结 Agent 填写表单,并在提交前停下

由 Agent 自行录制的真实运行过程:比价 · 网络调研 · 填写表单并在提交前停下。

为什么选择它

当前浏览器 Agent 的问题agentic-browser
每次查看截图约耗费 1,000–1,500 个 token文本快照:每个元素约 15 个 token。diff: true 只返回发生变化的内容
Agent 根据图像猜测坐标每个元素都附带精确的中心坐标 @x,y。browser_element_at(x, y) 无需图像即可告知任意像素位置的内容
你看不到 Agent 正在做什么红色光标会移向每个目标,点击时会显示涟漪并标注操作
被锁定在某个 Agent 框架中MCP 服务和纯 HTTP/JSON API:Claude、GPT、Gemini、Hermes、OpenClaw、LangChain、n8n、curl……
精简版 Chromium 构建你的真实 Chrome:扩展、编解码器、PDF、WebGPU、自动更新
又一个 API 密钥,又一笔账单都没有。 可使用 Agent 已有的订阅;甚至可选的聊天观察器也能用你的 Claude 套餐运行

快速开始

一行命令(Claude Code):

claude mcp add agentic-browser -- npx -y agentic-browser-mcp

其他 MCP 客户端:使用 "command": "npx", "args": ["-y", "agentic-browser-mcp"]。要求:Node ≥ 18 和 Chrome(或 Edge)。

从源代码运行

要求:Node ≥ 18 和 Google Chrome。

git clone https://github.com/davarion-tech/agentic-browser.git
cd agentic-browser && npm install
npm run doctor
npm test
在 MCP 客户端中使用

Claude Code:

claude mcp add agentic-browser -- node /absolute/path/to/agentic-browser/src/mcp.js

Claude Desktop、Cursor、Codex、Hermes、OpenClaw 或任何 MCP 客户端:请参阅 examples/mcp-config.json。

**Claude Code 斜杠命令(可选):**将 skills/agentic-browser 复制到 ~/.claude/skills/。然后使用 /agentic-browser <task>,始终通过此浏览器完成任务,而不是使用其他内置浏览器工具。

接着可以向你的 Agent 提出类似这样的要求:

仅使用 agentic-browser 中的 browser_* 工具。打开 es.wikipedia.org,搜索“Chrome DevTools Protocol”,打开第一个结果,并总结第一段内容。不要截图。

在其他应用中使用(HTTP)
npm run http
curl -s -X POST http://127.0.0.1:8787/tools/browser_navigate -d "{\"url\":\"example.com\",\"snapshot\":true}"

GET /tools 会返回所有工具的 JSON Schema,可直接作为函数定义传递给任何 LLM API。examples/python_client.py 中提供了一个无依赖的 Python 客户端。

可选:聊天监视器

默认关闭。 安装 agentic-browser 只会让你的 Agent 在你要求时使用浏览器。监视器是一个独立进程,必须由你主动开启。

监视器会让 Agent 自己的消息标签页保持打开状态(WhatsApp Web、Telegram、Messenger 等)。等待期间不会消耗任何令牌;收到消息时,它会唤醒 Claude 来阅读消息并拟定回复。后续操作由代码强制执行的策略控制:

  • observe: 仅通知你。
  • draft(默认):撰写回复,但绝不发送。
  • auto: 发送消息,但仅限允许列表中的对象。在所有模式下,敏感关键词、每小时限额和域名锁定均会生效。
npm run setup
npm run watcher

它使用你的 Claude 订阅(claude setup-token)或 API 密钥运行。请先阅读 docs/WATCHER.md 和 免责声明:许多平台禁止使用非官方机器人。

Agent 能看到什么

# Test bench
url: http://localhost:3000/
viewport 1280x800 scroll=0,0 docH=2090
[3] textbox "Search" ph="type something" @191,124
[4] button "Search" @339,124
[5] select "color" value="Red" opts=[*Red|Green|Blue] @429,124
[6] checkbox "I agree" {checked} @492,124
[10] button "Button in shadow DOM" @652,316
[f1:1] button "Button inside iframe" @214,217

1.3 版新增内容

聊天监视器演示:拟定回复,拒绝分享银行账户信息,拒绝钓鱼链接

演示聊天中的聊天监视器:它会为你拟定回复,并将索要银行账户信息的请求和钓鱼链接交由你处理。完整视频。

  • 隐私遮罩。browser_cursor_style({ privacy: "whatsapp" }) 或 AGENT_PRIVACY=whatsapp 会模糊联系人、聊天标题和个人资料照片,让你在录制或分享 Agent 屏幕时不会暴露任何人的信息。预设包括:whatsapp、telegram、gmail,也可以使用你自己的 CSS 选择器。Agent 仍可读取所有内容。
  • 仅监视你选择的聊天。 在聊天监视器中,contacts: ["Cliente demo"] 会将其他所有聊天排除在外:它们不会唤醒模型;而且在输入消息前,监视器会从页面读取当前打开聊天的标题,因此 Agent 无法在其他地方发送消息。适用于同时包含个人聊天的账号。
  • 屏幕通知和每个事件单独录制片段。 对于每条新消息、草稿(“检查后按 Send”)、升级处理和拦截,监视器都会显示提示卡(启用隐私遮罩时不显示姓名);设置 record: true 后,每个事件都会单独保存为视频。

1.2 版新功能

  • 教一次,永久重放。 browser_teach_start 会在 你 于 Agent 的 Chrome 中执行任务时记录操作(点击、输入文本、选择选项、按 Enter)。记录会保存为由角色和名称组成的配方,而非像素,因此即使布局发生变化也能继续使用。browser_replay 可以用新值重复执行({"search": "October invoices"}),无需感知每一步。密码绝不会被记录:重放时由用户输入。
  • 浏览器中新增「Enseñar」(教学)按钮。 Agent 的 Chrome 左侧边缘有一个小标签,无需询问 Agent 即可开始录制。在横幅中为配方命名,按 Finish,然后告诉你的 Agent「重复 」。使用 AGENT_TEACH_BUTTON=0 可将其禁用。
  • 清爽的页面。 Chrome 的翻译栏、搜索引擎选择、恢复页面气泡和权限提示均已关闭(权限会被拒绝)。每次导航后,都会通过点击可见的关闭或拒绝按钮关闭网站弹窗(语言选择、新闻简报、Cookie 横幅、「使用 Google 登录」),绝不接受、订阅或登录。browser_dismiss 可按需执行此操作;AGENT_AUTO_DISMISS=0 可关闭自动处理。
  • 一次调用获取结构化数据。 browser_extract 会将最相关的表格或重复列表(产品、搜索结果、联系人)转换为 JSON 或 CSV 行,包含标题、链接、价格和图片。合并的表头也会得到正确处理。CSV 输出可安全地在 Excel 中打开。
  • 实时 Token 计数器。 browser_cursor_style({ hud: true })(或 AGENT_HUD=1)会在页面角落显示已用 Token 数量,以及截图所需的 Token 数量。browser_stats 会返回相同数据。计算公式:Token ≈ 字符数 / 4;每次感知调用的单张截图 ≈ 宽度 × 高度 / 750。

工具

工具用途
browser_snapshot**主要感知工具。**显示元素及其 ref、角色、名称、状态和中心坐标 @x,y。diff: true 仅返回变更
browser_find按文本查找页面上的元素,包括屏幕外的元素
browser_element_at将像素坐标映射到元素(角色、文本、是否可点击、DOM 路径),无需图像
browser_cursor查看 Agent 光标的位置及其下方的内容
browser_click / browser_move按 ref 或 x,y 执行可见元素的点击或悬停(按钮、双击、修饰键)
browser_type / browser_press输入真实键盘内容:clear、submit,以及 Control+L 等快捷键
browser_scroll / browser_drag鼠标滚轮;拖放
browser_select / browser_upload<select> 选项;文件输入框
browser_navigate / browser_history / browser_tabs导航和标签页
browser_read / browser_eval可读取文本(包装为不可信内容);任意 JS(仅在设置 AGENT_ALLOW_EVAL=1 时可用)
browser_extract将表格或重复列表转换为 JSON 或 CSV 行(标题、url、价格、图像等)。file 可将其保存到磁盘
browser_teach_start / browser_teach_stop记录用户执行一次的任务,并将其保存为可重复使用的操作方案
browser_recipes / browser_replay列出或显示操作方案;使用新的 params 重放方案,几乎不消耗 token
browser_stats比较本次会话已用 token 与截图等效用量
browser_dismiss关闭遮挡页面的弹窗(仅关闭或拒绝,绝不接受)。在 browser_navigate 后自动运行
browser_batch按顺序在一次调用中执行多个操作,遇到第一个错误时停止。每个操作可节省一个 Agent 轮次
browser_wait / browser_watch等待指定时间、文本或选择器。页面变更时,browser_watch 会以 零 token 消耗暂停(例如出现新消息或标题变为“(3) Inbox”)
browser_request_human通过页面横幅将控制权交给正在查看页面的用户(用于登录、2FA、CAPTCHA 或需要做出决定的情况)
browser_console / browser_events / browser_traceJS 控制台和错误;对话框、下载和新标签页;每个操作的审计记录
browser_cursor_style显示或隐藏光标、光标轨迹或实时 token 计数器(hud)
browser_record_start / browser_record_stop将活动标签页录制为视频,视频包含红色光标,可用于制作演示片段,无需 OBS。如果 PATH 中有 ffmpeg,则生成 MP4(H.264),否则生成 WebM。返回路径、时长和大小
browser_screenshot最后手段:截取页面或单个 ref 的 JPEG

大多数操作都支持 snapshot: true,并会在同一响应中返回新的页面状态,从而每个步骤节省一个 Agent 轮次。

**可靠性功能:**如果元素可被唯一识别,重新渲染后 ref 仍然有效。如果模态框遮挡目标,点击时会发出警告(occluded)。会遍历开放的 shadow DOM 和 iframe。操作结果会报告新标签页、对话框和下载。连续三次重复相同调用时会触发循环警告。

配置

变量默认值
AGENT_HEADLESS01 = 无窗口(服务器、CI)
AGENT_CDP_URL—连接到使用 --remote-debugging-port=9222 --user-data-dir=… 启动的 Chrome
AGENT_PROFILE~/.agentic-browser/profile持久化的 Agent 配置文件(Cookie 和登录状态在重启后仍然保留)
AGENT_DOWNLOADS~/.agentic-browser/downloads下载文件夹
AGENT_SPEEDnormal日常工作用 fast(光标移动 ≤ 250 ms,按键之间无延迟),录制用 demo(速度较慢,便于跟随)
AGENT_CURSOR_SPEED来自 AGENT_SPEED光标每移动 100 px 所需的毫秒数;0 = 立即移动
AGENT_VIEWPORT窗口大小使用窗口时,Chrome 会最大化打开,页面使用实际窗口大小。1280x800 可固定窗口大小(无头模式始终使用 1280×800)
AGENT_TOOLSallcore(13 个核心工具)或以逗号分隔的列表。工具越少,提示词令牌越少
AGENT_AUTO_DISMISS10 会停止在每次导航后关闭网站弹窗
AGENT_TEACH_BUTTON10 会隐藏悬浮的 "Enseñar" 按钮
AGENT_HUD01 会从一开始显示实时令牌计数器
AGENT_PRIVACY—从一开始启用隐私遮罩:whatsapp、telegram、gmail 和/或以逗号分隔的 CSS 选择器
AGENT_RECIPES~/.agentic-browser/recipes保存教学配方(JSON)的位置
AGENT_EXPORTS~/.agentic-browser/exportsbrowser_extract 写入文件的位置
AGENT_READONLY01 会禁用所有会更改页面的工具
AGENT_ALLOWED_ORIGINS—域名允许列表,例如 wikipedia.org,localhost(包含子域名)
AGENT_DIALOGSdismissalert/confirm/prompt:dismiss(自 1.1.0 起为默认值:不会单独接受 confirm("Delete?"))或 accept。对话框文本会作为事件传递给 Agent
AGENT_TRACE~/.agentic-browser/trace.jsonl每次工具调用的审计日志
AGENT_CHROME自动检测浏览器路径。任何 Chromium 浏览器均可:Chrome、Edge(会自动回退到它)、Brave、Chromium
AGENT_HTTP_PORT / AGENT_TOKEN8787 / 自动生成HTTP 端口和必需的 Bearer 令牌。若未设置 AGENT_TOKEN,系统会在 ~/.agentic-browser/http-token 中生成一个(可通过 AGENT_TOKEN_FILE 配置路径)。来自网页的请求会被拒绝
AGENT_NO_SANDBOX01 会在无沙箱模式下启动 Chrome。仅适用于以 root 身份运行的 Linux 或无法启动沙箱的容器;这会降低隔离性
AGENT_ALLOW_EVAL01 会启用 browser_eval(默认关闭:它可以读取 Cookie 并外传数据)
AGENT_UPLOAD_DIRS下载文件夹browser_upload 可从中上传文件的文件夹;Windows 使用 ; 分隔,macOS/Linux 使用 : 分隔
AGENT_RECORDINGS~/.agentic-browser/recordingsbrowser_record_stop 保存视频的位置
AGENT_FFMPEGffmpeg用于 MP4 录制的 ffmpeg 路径;none 会强制回退到 WebM

限制

  • Canvas、WebGL 和地图: DOM 不会描述其中绘制的内容。使用带 ref 的 browser_screenshot,只需为该区域付费。
  • 封闭的 shadow root 不会公开其子元素。
  • Chrome 自身的界面(地址栏、菜单、权限提示)不属于 DOM。请改用 browser_navigate、browser_tabs 和环境变量。
  • 无法解决 CAPTCHA,也无法规避机器人检测。 Agent 应调用 browser_request_human。
  • 较新的 Chrome 版本会阻止对默认个人配置文件进行远程调试。Agent 使用自己的配置文件;请先在那里登录一次。

路线图

根据对浏览器 Agent 最常见的抱怨(引用过时、令牌膨胀、弹窗、多 Agent 冲突、提示词注入、可观测性):

  • 为 Agent 自有账户提供参考聊天监视器:收到新消息时以零令牌唤醒,并根据代码强制执行的策略回复(默认草稿、允许列表、敏感关键词、速率限制、域名锁定)。参见 docs/WATCHER.md。
  • 教学模式和配方回放、结构化提取、实时令牌计数器、关闭弹窗和 browser_batch(1.2)。
  • 在同一配置文件中支持多 Agent 会话,并提供标签页所有权和租约。
  • browser_batch:一次调用执行多个操作。
  • 隐藏文本检测(使用 CSS 隐藏的指令),作为提示词注入信号。
  • 会话回放:轨迹加上光标的 GIF/视频。

法律声明

根据 MIT License 发布。按原样提供,不提供任何保证。**您需对自己及 Agent 如何使用本软件承担全部责任。**这包括遵守法律以及您自动化操作的网站的服务条款。请阅读完整的免责声明。

由 Davarion 制作。与 Google 无关。“Google Chrome”是 Google LLC 的商标。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。