Host Browser Controller
功能定义
此技能用于控制宿主机(用户物理机)上的 Chrome 浏览器。它通过 Chrome DevTools Protocol (CDP) 创建新标签页并导航至指定 URL,让用户能在本地屏幕上查看网页内容。
触发场景
- 用户说:“在浏览器里打开这个链接”。
- 用户说:“帮我搜索一下‘AI 发展趋势’”。
- 用户希望查看某个文档或网页的可视化效果。
执行步骤 (SOP)
- 参数准备:
- 确认目标 URL。如果是搜索请求,先构造 Google/Bing 搜索链接。
- 确认 Profile 名称(默认为
main,对应宿主机上的特定用户配置)。
- 创建标签页:
- 调用
control_host_browser.sh脚本。 - 传入
profile参数(通常为main)。 - 脚本会通过 CDP 接口在宿主机 Chrome 中创建一个新 Tab,并返回
targetId。
- 调用
- 导航页面:
- 使用返回的
targetId,通过 CDP WebSocket 发送Page.navigate指令。 - 传入目标 URL。
- 使用返回的
- 确认状态:
- 等待页面加载事件(
Page.loadEventFired)。 - 向用户反馈:“已在您的浏览器中打开 [标题/URL]”。
- 等待页面加载事件(
参数说明
- profile: 浏览器配置文件标识。
main: 主配置文件(默认)。
- url: 需要打开的完整 URL(包含
https://)。
输出格式
- 成功:返回 "Tab created with ID: [ID], navigating to [URL]"。
- 失败:返回具体的 CDP 错误信息(如 "Connection refused", "Invalid URL")。
限制说明
- 仅支持 HTTP/HTTPS 协议。
- 依赖于宿主机 Chrome 浏览器已开启远程调试端口(默认 18800)。
- 无法直接操作页面内的 DOM(如点击按钮),仅负责打开页面。
Usage:
./control_host_browser.sh <profile> <url>
Where profile is main