AI Agent
浏览器工具
`browser_open` 启一个真浏览器(Chromium),Agent 可以点、填、滚、截图。
web_fetch 和 browser_open 的区别
web_fetch 是 HTTP GET — 拿到的是服务器返回的原始 HTML。对静态站、API 返回 JSON 很好,对 SPA 几乎没用 — 因为内容是 JS 渲染出来的。
browser_open 启动一个真实 Chromium 实例,加载页面、执行 JS、等待网络空闲,然后让 Agent 看渲染后的 DOM、点东西、填表单、截图。它慢、它贵、但它看到的是用户看到的。
能做什么
- 访问需要登录的页面(用你的浏览器 profile)
- 抓取 JS 渲染的内容(SPA、Vue、React 站点)
- 截图存附件(整页 / 视口 / 元素级)
- 填表单、点按钮、提交(无验证码场景)
- 执行 JS 表达式抓数据
- 导出 PDF
- 多页面 tab 并行操作
一次典型调用
> tool: browser_open
url: https://app.example.com/dashboard
wait_for: "[data-test=metrics-loaded]"
actions:
- { click: "[data-test=date-range]" }
- { click: "text=Last 30 days" }
- { wait_for: "[data-test=chart-rendered]" }
- { screenshot: "scratch/dashboard-30d.png", full_page: true }
- { extract: { selector: "[data-test=mrr]", attr: "textContent" } }
result:
extracted: { mrr: "$42,180" }
screenshot: scratch/dashboard-30d.png安全
默认非隐身模式,会用你的 cookie — 这是为了让"登录后才能看的页面"能正常访问。可在 Settings → Agent → Browser 切隐身模式或选不同的 profile。
强烈建议:给敏感系统(银行、运维后台)专门起一个新 Chromium profile,只在该 profile 里登录这些系统、不给它任何 Kition Agent 权限 — 物理隔离。
抓不到内容时的排查
- 把
wait_for加严 — 等到具体元素出现再开始 - 调高
timeout_ms— 慢站点 / 重接口需要更长 - 检查 selector —
[data-test=...]比 class name 稳定 - screenshot 先看一眼 — Agent 看到的和你想的可能不一样
- iframe 里的内容要先
enter_frame