需求:在 AI 编程会话中让用户与 Agent 共享同一浏览器页面,并查看控制台与网络信息。 实现:新增沙箱浏览器内核、Host API/渲染器面板、OpenCode 工具接入及安全边界测试。
2.1 KiB
2.1 KiB
name, description
| name | description |
|---|---|
| agent-browser | 当需要打开、查看或调试当前 Makelore 项目的本地或公网网页,读取 Console、Network、DOM、样式、性能信息,执行页面脚本或刷新验证修改时使用。 |
Makelore 开发浏览器
开发浏览器是用户和智能体共享的项目调试界面。它只用于开发过程,不代表作品已经发布。
基本流程
- 确认项目的开发服务已经启动,并取得本地网页地址。
- 调用
browser_context的open打开该地址。 - 调用
browser_cdp的read_events读取 Console 与 Network 事件。 - 需要主动检查页面时,使用
browser_cdp的send调用标准 CDP 方法。 - 修改代码后调用
browser_navigate的reload,再读取新事件验证结果。
工具选择
browser_context:打开、查看状态、关闭浏览器或清空当前项目的浏览器数据。browser_navigate:跳转、后退、前进或刷新共享页面。browser_cdp:send原样执行当前项目页面的 CDP 命令;read_events按游标读取原始事件,不会消费其他读取者的数据;read_payload分块读取响应体、截图等大型结果。
约束
- 不要传递或猜测
projectId、tabId、targetId、webContentsId;项目身份由当前会话目录自动绑定。 - 不要通过远程调试端口、
curl或另一个浏览器绕过这些工具。 - 页面刷新或调试器重连后,旧的 DOM node、RemoteObject 和子 Target 引用可能失效,应重新获取。
- 开发浏览器面板收起或被模态框遮挡时,智能体调试会暂停;等待用户重新显示页面后再继续。
CDP_TIMEOUT表示结果未知,客户端会关闭该浏览器以清理悬挂命令;不要盲目重复可能产生副作用的命令,先重新打开页面并核对状态。- 原生 DevTools 与智能体调试冲突时,请用户关闭该页面的原生 DevTools 后再继续。
- Console、请求头、响应体、Cookie 和页面内容可能包含敏感信息,只在完成当前调试所必需时读取和展示。