网页搜索和获取
Triggerfish 通过两个工具让智能体访问互联网:web_search 用于查找信息,web_fetch 用于读取网页。它们让智能体研究主题、查阅文档、检查当前事件并从网页获取数据——所有这些都与其他工具一样受策略执行约束。
工具
web_search
搜索网页。返回标题、URL 和摘要。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
query | string | 是 | 搜索查询。要具体——包含相关关键词、名称或日期以获得更好结果。 |
max_results | number | 否 | 最大返回结果数(默认:5,最大:20)。 |
web_fetch
获取并提取 URL 的可读内容。默认使用 Mozilla Readability 返回文章文本。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
url | string | 是 | 要获取的 URL。使用 web_search 结果中的 URL。 |
mode | string | 否 | 提取模式:readability(默认,文章文本)或 raw(完整 HTML)。 |
配置
网页搜索需要搜索提供商。在 triggerfish.yaml 中配置:
yaml
web:
search:
provider: brave # 搜索后端(brave 是默认值)
api_key: your-api-key # Brave Search API 密钥如果未配置搜索提供商,web_search 返回错误消息告诉智能体搜索不可用。web_fetch 独立工作——它不需要搜索提供商。 :::
安全
- 所有获取的 URL 通过 SSRF 防护:DNS 先被解析并与硬编码的 IP 拒绝列表进行比较。私有/保留 IP 范围始终被阻止。
- 获取的内容被分类并像任何其他工具响应一样贡献到会话 taint。
PRE_TOOL_CALLhook 在每次获取前触发,POST_TOOL_RESPONSE在之后触发,因此自定义策略规则可以限制智能体访问哪些域名。
