启用OpenClaw浏览器功能需满足三要素:启用BrowserEnv环境(-e BROWSER_TOOL_ENABLED=true)、挂载共享内存(-v /dev/shm:/dev/shm)、正确指定Chrome路径(-e BROWSER_EXECUTABLE_PATH=/opt/google/chrome/chrome);插件加载后可在控制台看到“BrowserEnv initialized”日志;支持自然语言指令、JSON动作调用及Skill声明三种触发方式。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

让AI通过OpenClaw调用浏览器工具,本质是启用其内置的BrowserEnv运行时环境并正确注册浏览器动作插件,否则AI只能读取文本、无法执行点击、输入、跳转等真实交互。
确认OpenClaw已启用BrowserEnv
启动OpenClaw主容器时,必须显式挂载浏览器所需依赖和权限。缺一不可。
检查当前容器是否以支持浏览器模式运行:执行 docker ps --format "{{.Names}}\t{{.Command}}" | grep openhands,确认输出中包含 --env BROWSER_TOOL_ENABLED=true 和 -v /dev/shm:/dev/shm。
若未启用,需重建容器——【原容器所有会话状态将丢失】,不能仅修改环境变量后重启。
重新运行时务必加入以下关键参数:
-e BROWSER_TOOL_ENABLED=true -v /dev/shm:/dev/shm --cap-add=SYS_ADMIN
验证BrowserEnv插件是否加载成功
进入OpenClaw Web UI(http://localhost:3000),打开开发者控制台(F12 → Console),刷新页面后观察日志。
查找包含 BrowserEnv initialized 或 Loaded plugin: browser 的行。没有则说明插件未激活。
插件加载失败的常见原因是Chrome二进制路径未被识别——OpenClaw默认尝试调用 /usr/bin/google-chrome,但Docker镜像中实际路径为 /opt/google/chrome/chrome。
此时需在启动命令中显式指定:-e BROWSER_EXECUTABLE_PATH=/opt/google/chrome/chrome。
在任务中触发浏览器动作
方法一:使用自然语言指令直接驱动
在UI输入框中提交类似“打开https://example.com,找到搜索框,输入‘OpenClaw tutorial’,点击搜索按钮”这样的完整指令。
OpenClaw会自动解析出browse动作,并交由ActionExecutor调度BrowserEnv执行。
方法二:手动构造JSON动作调用(适用于调试或API集成)
向/api/submit_task POST以下结构:
{"task": "Check login status on GitHub", "action": {"name": "browse", "args": {"url": "https://github.com/login", "action": "fill", "selector": "input[name='login']", "value": "testuser"}}
注意:selector必须符合CSS选择器语法,且目标元素在页面加载完成后存在;【若页面未加载完成就执行fill,操作将静默失败】。
方法三:在Agent Skill中声明式注册浏览器工具
编辑skills/browser.py,确保包含:
@tool def navigate_to(url: str): ...
@tool def click_element(selector: str): ...
然后在agent_config.yaml中启用该skill模块:enabled_skills: [browser]。


















