Drisp Browser(agent-web-interface)是一个面向 AI 智能体的 MCP 浏览器自动化服务器,其核心目标是用更少 token 提供可靠的网页交互能力。它基于 Puppeteer 和 Chrome DevTools Protocol 驱动 Chrome,但改变的是智能体所“看到”的页面表示,而非底层浏览器执行层。
【用途】 传统浏览器工具通常暴露原始 DOM、完整无障碍树、截图或底层选择器,这对确定性脚本可行,但对语言模型效率低下,模型需要花费上下文与推理预算去区分有用 UI 意图与实现噪声。Drisp Browser 为编码智能体、浏览器智能体、QA 智能体、研究智能体及自动化工作流提供一个紧凑、语义化的浏览器接口。
【主要能力】 它将浏览器页面转化为智能体可读的快照,包含:页面区域(页眉、导航、主内容、页脚);可交互元素(按钮、链接、文本框、复选框、单选框、下拉框);可读内容(标题、段落、警报、标签);元素状态(可见、启用、勾选、选择、展开、聚焦);布局提示(边界框与屏幕区域);稳定元素 ID(eid,可供后续操作工具复用)。智能体通过这些 eid 执行操作,而不是依赖脆弱的 CSS 选择器或反复扫描大型 DOM 树。工具覆盖导航、交互、表单、截图、canvas 检查、可读性以及网络活动检查。
【使用方式】 典型智能体循环:调用 navigate 传入 URL;Drisp Browser 返回紧凑页面快照;调用 find 定位语义元素(如“登录”按钮或邮箱字段);使用返回的 eid 调用 click、type、select 或 press;服务器等待页面稳定并返回更新后的快照;智能体基于变化后的页面状态继续,而非重新读取整个 DOM。
多数交互工具返回紧凑的 XML 状态响应,包含 <state>(当前页面状态、标题、URL、步骤号)、<meta>(视口、滚动位置、活动交互层)、<baseline> 或 <diff>(完整页面状态或增量更新)、<observations>(对话框、警报、提示等瞬时 UI 变化)、<region>(按语义区域分组的可操作元素),以及 <btn>、<inp>、<link>、<chk>、<sel>、<alert> 等短标签。后续操作应使用 id 属性,而非 CSS 选择器。
安装方面,可通过交互式安装器自动检测已安装的 AI 工具,并一步注册 MCP 服务器与智能体技能;也可针对特定 harness 安装,或仅安装 drisp-browser 技能(使用 npx skills)。支持手动配置 Claude Desktop、Cursor、VS Code,VS Code 使用 servers 键并需 "type": "stdio"。浏览器在首次调用浏览器工具时自动初始化。
可通过 DRISP_BROWSER_MODE 控制 Chrome 启动方式;DRISP_BROWSER_STEALTH 默认 true,对启动的 Chrome 应用仅指纹补丁,使其看起来像日常 Chrome,但不改变点击与输入行为,在 user 模式下为空操作。如需连接已有 Chrome 配置,可在 chrome://inspect/#remote-debugging 启用远程调试并允许连接,再以 DRISP_BROWSER_MODE=user 启动。
【限制】 它不是 Puppeteer 的替代品,不是通用浏览器、视觉测试框架、爬虫框架,也不是 CAPTCHA 或反机器人绕过工具;stealth 仅避免正常授权使用被误判为机器人。项目处于活跃开发中,公共工具接口力求简单,但内部 API 与快照格式可能随实际使用演进。早期内部对比显示相较 Playwright MCP 在多步导航任务中 token 使用更低、完成更快、成功率相同或更好,但尚未形成正式基准套件,结果依赖任务,应视为方向性参考。运行需 Node.js 22.12 或更新版本、Chrome 或 Chromium,以及兼容 MCP 的客户端(如 Claude Code、Claude Desktop、Cursor 或 VS Code)。