功能说明
对应工具标识web_fetch。
web_fetch 对给定 URL 发起一次普通 HTTP GET 并抽取正文:HTML 转 Markdown 或纯文本,PDF 用 pypdf 抽取文字。它不执行 JavaScript——纯前端渲染或需要登录的页面可能抽取不全。与 link_reader 不同,该工具自身无需任何凭证(纯 HTTP 抓取),适合让智能体阅读用户给出的文章、文档或任意公开链接。
导入路径:from veadk.tools.builtin_tools.web_fetch import web_fetch
环境变量与前提
环境变量:MODEL_AGENT_API_KEY:智能体推理模型的 API Key(web_fetch工具本身无需额外凭证)
使用方法
参数:url:要抓取的http(s)链接;extract_mode:markdown(默认,保留标题 / 链接 / 列表)或text(纯文本);max_chars:抽取内容的最大字符数(默认50000)。
{"url", "title", "content", "truncated"},失败时返回 {"error": ...}。
examples/tools/web_fetch/agent.py
额外说明
安全与限制:
- SSRF 防护:解析域名后拦截私网 / 环回 / 链路本地 / 保留地址,并对每一跳重定向(含
<meta refresh>)重新校验,最多跟随 3 跳。 - TLS 校验:HTTPS 请求会校验证书;证书无效或无法验证时,请求失败并返回错误。
- 上限:HTML 下载上限 2MB、PDF 10MB;请求超时 30 秒;结果在进程内缓存 15 分钟。
- 不渲染 JavaScript;未做 socket 级 DNS pinning(仅“解析后校验”)。