Open Agents web_fetch 工具指南:如何让 AI 安全获取外部网页内容
Open Agents web_fetch 工具指南如何让 AI 安全获取外部网页内容【免费下载链接】open-agentsAn open source template for building cloud agents.项目地址: https://gitcode.com/GitHub_Trending/op/open-agentsOpen Agents 是一个用于构建云端 AI Agent 的开源模板其中的web_fetch 工具让 AI Agent 能够直接发起 HTTP 请求、获取外部网页和 API 数据无需你手动复制粘贴内容。本文将带你了解它的 6 大使用场景、4 层安全机制以及如何快速上手。 什么是 web_fetch 工具在 Open Agents 中AI Agent 运行在云端沙箱里自带一组动手能力读文件、改代码、跑命令。而web_fetch 工具就是 Agent 的眼睛——它让 AI 突破本地项目边界直接访问互联网。它的核心能力发起 HTTP 请求支持 GET、POST、PUT、PATCH、DELETE、HEAD 六种方法返回状态码 响应体AI 拿到网页或 API 返回的数据后可以基于它继续写代码⏱️30 秒超时避免 Agent 被慢速网站卡住✂️正文截断保护响应体最多保留 10,000 个字符防止超长网页撑爆AI 的上下文窗口工具实现在 packages/agent/tools/fetch.ts并在 packages/agent/open-agent.ts 中与 read、write、bash 等工具一起注册进 Agent。 web_fetch 的 6 大实用场景对新手来说最直观的理解方式是看它能干什么场景示例查阅 API 文档帮我查一下 XX 服务的接口格式然后调用它获取接口数据直接请求 REST API拿到 JSON 后写入项目下载参考实现抓取某个示例页面的 HTML理解结构后仿写读取配置文件获取远程 YAML / JSON 配置并落地为本地文件验证线上行为GET 一个接口确认返回格式是否符合预期调试问题让 AI 用 curl 同款逻辑复现你遇到的网络请求问题在聊天界面里你只需要自然地提出需求比如帮我看一下这个地址返回了什么Agent 就会规划并调用 web_fetch结果会以带状态码如 200的卡片形式展示在对话流中。 4 层安全机制AI 上网不是裸奔web_fetch 工具最大的亮点是它把安全设计到了骨子里。这也是云端 Agent 获取外部网页内容时最值得关注的部分。1. 协议白名单只允许 http / https非标准协议如 file、ftp会被直接拒绝从源头杜绝异常访问。2. 私有网络拦截防 SSRF 攻击这是最关键的一层。SSRF服务端请求伪造是指诱导服务器去访问内网资源比如localhost或云厂商的内部元数据接口。web_fetch 做了双重检查直接检查URL 主机名是否为 localhost、127.x、10.x、192.168.x 等内网地址DNS 解析检查在沙箱内解析域名如果最终指向内网 IP同样拒绝相关逻辑见 fetch.ts 中的 isAllowedWebUrl 与 resolvesToPrivateHost。3. 用户审批每次请求都需你点头web_fetch 被标记为needsApproval意味着每次 AI 要访问外部链接前都会弹出审批卡片由你决定放行还是拒绝。这意味着 AI 不会在后台悄悄访问任意网站。审批交互由 fetch-renderer.tsx 在前端渲染。4. 响应截断上下文保护超长响应体会被截断到 10,000 字符并在结果中标记truncated: true提醒 AI 数据不完整——避免一次抓取就把模型上下文塞满。 web_fetch 参数与返回值速览参数必填说明url✅要访问的地址仅限 http/https 公网地址method❌HTTP 方法默认 GETheaders❌自定义请求头如认证 Token、Content-Typebody❌请求体适用于 POST / PUT / PATCH成功时返回success: true HTTPstatus状态码 body响应文本 truncated是否被截断失败时返回success: false 可读的error错误信息如URL 解析为内网地址这种结构化返回设计让 AI 能精确判断请求结果而不是靠猜。 相关源码导航想深入理解或魔改这个工具可以从这几个入口出发工具主体请求构造、安全检查、截断逻辑packages/agent/tools/fetch.ts工具导出清单packages/agent/tools/index.ts工具注册与 Agent 组装packages/agent/open-agent.ts前端审批卡片渲染apps/web/components/tool-call/renderers/fetch-renderer.tsx工具使用行为约定何时用 bash、何时用专用工具packages/agent/system-prompt.ts项目整体架构与部署方式README.md✨ 小结web_fetch 工具让 Open Agents 的 AI Agent 从只会读本地文件进化为能看外面的世界。它的价值不仅在于支持 6 种 HTTP 方法和自定义请求头更在于审批制 SSRF 防护 响应截断这套完整的安全体系——这正是构建生产级云端 Agent 时最容易忽略、也最值得参考的设计。如果你是 Agent 开发者这个工具的实现是一个绝佳的安全上网范例如果你是普通用户只要自然语言提出需求审批一下AI 就会替你完成网页内容的获取与整理。【免费下载链接】open-agentsAn open source template for building cloud agents.项目地址: https://gitcode.com/GitHub_Trending/op/open-agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考