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

相关文档

下载 Kition

本地优先的 AI 工作空间。Markdown 文档、结构化数据表、AI Agent,全部跑在你自己的电脑上。