网页搜索与阅读
八千代有三个面向网页的工具,各司其职:
webSearch—— 执行一次查询,拿到结果。webRead—— 抓取一个 URL,返回可读内容。useBrowser—— 驱动真实浏览器,做 fetch 做不到的事:登录、重 JS 的应用、多步流程。
前两个在 设置 → 来源 → 搜索 里配置。
| 供应商 | 工作方式 | 需要什么 |
|---|---|---|
| Google(浏览器) | 通过隐藏浏览器会话查询 Google | 无 |
| DuckDuckGo(浏览器) | 同上,针对 DuckDuckGo | 无 |
| Exa | Exa 搜索 API | API key |
默认是走隐藏浏览器的 Google。基于浏览器的供应商不需要账号也不需要 key,代价是偶尔会撞上同意墙或机器人校验。
隐藏浏览器会话
Section titled “隐藏浏览器会话”基于浏览器的供应商跑在自己的会话里,和你平时的浏览分开。全新的会话没有 cookie,而这恰好是 Google 判定你像机器人的时候。
解法是一次性导入:设置 → 来源 → 搜索 → 浏览器会话 → 从 Chrome 导入。选一个 Chrome 配置文件,八千代会把它的 cookie 和同意状态复制进搜索会话。面板会显示上次导入的时间和来源配置文件。
如果搜索结果开始返回空的,或者你又开始看到同意页,重新导入一次。
webRead 抓取一个 URL,按请求的格式返回其中可读的部分。具体行为取决于返回的是什么:
| 响应 | 行为 |
|---|---|
| HTML | 用 Defuddle 提取正文 |
| 自动提取文本 | |
| 纯文本、JSON、其他非 HTML | 原样返回 |
| 提取失败的 HTML | 回落到原始响应体 |
如果内容大到没法内联返回,它会被写进一个工作区文件,让智能体从那里读,而不是把上下文窗口撑爆。
webRead 面向的是静态抓取。登录流程、JavaScript 应用,以及任何需要交互的东西都是 useBrowser 的地盘 —— 内置的 yachiyo-browser 技能讲了怎么把它用好。
Exa 是一个 API 而不是爬取,因此更可靠也更可预测 —— 搜索量大的话值得。在 设置 → 来源 → 搜索 里加上 key,或者:
yachiyo config set webSearch.defaultProvider '"exa"'yachiyo config set webSearch.exa.apiKey '"your-exa-api-key"'自建或代理的端点可以通过自定义 webSearch.exa.baseUrl 指定。