Web Fetch

根据已知URL获取网页内容,支持Markdown、文本、HTML或图片下载。

已扫描
适合谁
需要快速抓取网页内容的技术人员、从事内容整理与信息聚合的运营人员
不适合谁
需要主动发现网页链接的用户、对网络请求有严格安全限制的环境使用者
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @shikamaru-cc/shikamaru-web-fetch

Skill 说明

命令、参数、文件名以原文为准

Web Fetch

当目标网址已知且任务为信息获取而非搜索时,请使用此技能。

常见使用场景:

  • 获取用户已提供的文档页面链接
  • 在总结前将文章提取为可读的 Markdown 或纯文本格式
  • 检查原始 HTML 以调试标记、元数据或页面结构
  • 将远程图片下载到本地路径,以便后续检查或处理

若用户需要帮助寻找正确页面,请先使用 web-search 技能。

命令

运行以下命令:

node ./fetch.js --url "https://example.com"

可选参数:

  • --format markdown|text|html
  • --timeout <秒数>
  • --output <路径>(用于图像响应)

选择合适的格式

除非用户明确要求其他格式,否则默认使用 markdown

  • markdown:适用于可读性高的文档、文章及摘要生成
  • text:当用户希望获得最干净的纯文本提取时最佳
  • html:适合检查源码标记、元数据、链接、嵌入内容或页面结构
  • --output <路径>:当响应为图片且需保存至稳定文件路径而非临时文件时使用

示例:

node ./fetch.js --url "https://example.com/docs" --format markdown
node ./fetch.js --url "https://example.com/page" --format text --timeout 20
node ./fetch.js --url "https://example.com/page" --format html
node ./fetch.js --url "https://example.com/logo.png" --output /tmp/logo.png

如何处理返回结果

CLI 会输出一个 <web_fetch> 块。

对于文本类响应,包含以下字段:

  • title
  • url
  • mime
  • format
  • content

对于图像响应,包含以下字段:

  • title
  • url
  • mime
  • image

获取完成后:

  1. 仔细阅读返回的字段。
  2. 仅使用与用户请求相关的部分。
  3. 除非用户要求完整内容,否则应摘要或引用简洁片段,避免直接粘贴整页内容。
  4. 若获取的是 HTML,应说明显著的结构或元数据,而非直接粘贴大段原始代码,除非必要。
  5. 若下载了图片,请告知用户文件的保存路径。

行为与限制

使用该工具时请注意以下事项:

  • http:// 开头的 URL 会优先尝试作为 https:// 请求,若失败则重试为普通 HTTP。
  • 默认超时时间为 30 秒,最大不超过 120 秒。
  • 响应大小超过 5MB 的将被拒绝。
  • 使用类似浏览器的请求头,并对部分 Cloudflare 403 验证响应提供重试机制。
  • SVG 文件被视为文本处理,而非二进制图片附件。

失败处理

若获取失败:

  • 确认 URL 是否完整,是否以 http://https:// 开头
  • 仅在用户目标改变时才尝试切换格式
  • 若页面过大、被屏蔽或超时,请如实告知用户,并建议缩小目标 URL 范围或尝试其他来源
SC
@shikamaru-cc

已收录 2 个 Skill

相关推荐