Token导航 LogoToken导航

Agent Skill · 开发

page-fetch(页面获取)

page-fetch 用于处理浏览器自动化、网页检查和页面信息提取,适合在 OpenClaw 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

page-fetch 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为操作浏览器;许可证为 MIT-0,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 9,812。

总安装 2,538周安装 109GitHub Stars 公开资料未说明下载 889核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.1

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:page-fetch(页面获取)
来源仓库:https://github.com/ylkangpeter/page-fetch
安装命令:
openclaw skills install page-fetch
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install page-fetch

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

稳定低依赖性的网页内容提取工作流程。支持页面打开、总结、翻译和引用操作。提供可读内容过滤和结构化输出功能。page-fetch 属于开发类 Skill,可作为该场景下的辅助能力补充。适用于网页信息抓取和内容分析场景。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。

建议遵守目标网站的robots协议规定。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install page-fetch;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

page-fetch 怎么安装?

在终端执行 openclaw skills install page-fetch。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

page-fetch 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

page-fetch 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

page-fetch 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

page-fetch 用的人多吗?

公开数据是累计安装 2,538 次,近一周安装 109 次,下载 889 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

page-fetch 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
page-fetch

页面获取 · 本页

2,538—操作浏览器MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
page-fetch
description
Extract readable content from webpages with a stable, low-dependency workflow. Use when the user asks to open, inspect, summarize, translate, verify, or quote a web page, article, blog post, documentation page, or similar URL. Prefer this skill when cross-model reliability matters: fetch raw HTML first, inspect embedded data next, and escalate to browser rendering only when lightweight methods fail.

Page Fetch

Use this skill to extract webpage content in a reproducible way that works well across different models and avoids browser dependence unless necessary.

This skill is built for reliability first:

  • start with lightweight deterministic fetches
  • inspect embedded page data before escalating
  • use browser rendering only as a fallback
  • report the extraction method and any access limits clearly

What this skill is for

Use this skill when a user says things like:

  • "看一下这个网页的内容"
  • "Open this article and summarize it"
  • "Tell me what this page says"
  • "Translate this webpage"
  • "Check whether this page mentions X"
  • "Quote the main points from this documentation page"

This skill is best for:

  • news articles
  • blog posts
  • documentation pages
  • product pages
  • general public webpages

This skill is not magic. If a page is blocked by login, CAPTCHA, region restrictions, or aggressive anti-bot controls, report that clearly.

Design goal

The core goal is cross-model reliability.

Different LLMs often choose different ad-hoc ways to read webpages. This skill reduces that variance by giving them a standard path:

  1. Route mp.weixin.qq.com links to the dedicated WeChat extractor first.
  2. Try the lightweight deterministic extractor for general webpages.
  3. Inspect embedded page data when available.
  4. Use a real browser only when necessary.
  5. Tell the user which path worked and what the limits were.

Workflow

Step 1: Use the unified runner by default

For routine webpage reads, run the wrapper first:

python3 scripts/page_fetch.py "https://example.com/article" --format json

What it does:

  • routes mp.weixin.qq.com to the dedicated WeChat extractor first
  • uses lightweight HTML extraction for general pages
  • escalates to browser rendering only when needed
  • does not persist files unless --save-json is explicitly passed
  • never defaults to writing transient JSON into the current working directory

Persistence rule:

  • default: no disk writes
  • only save when the caller explicitly passes --save-json
  • when saving is requested without --output, write to a non-workspace report path chosen by the caller or local runtime convention
  • do not write transient artifacts into the workspace root

Step 2: Direct script usage when debugging or forcing a method

Use direct scripts only when you need to debug or force a particular extraction path.

WeChat public articles
python3 scripts/fetch_wechat_article.py "https://mp.weixin.qq.com/s/..." --format json

What it does:

  • uses a WeChat mobile-style request header
  • extracts article metadata from page meta tags and script variables
  • reads the article body from #js_content / .rich_media_content
  • reports explicit access limits when the page is replaced by verification or anti-bot flows
  • does not persist files; it only returns structured extraction output

What to look for in the output:

  • title
  • author
  • account_nickname
  • published_time
  • text
  • method
  • access_limited
  • access_limit_reason
General lightweight fetch
python3 scripts/fetch_page.py "https://example.com/article" --format json

What it does:

  • fetches raw HTML via requests
  • extracts metadata from HTML/meta tags
  • inspects JSON-LD
  • inspects embedded payloads such as __NEXT_DATA__
  • falls back to DOM paragraph extraction

What to look for in the output:

  • title
  • author
  • published_time
  • text
  • method
  • notes
Browser-render fallback

If the lightweight path returns thin, broken, or clearly incomplete content, run:

python3 scripts/render_page.py "https://example.com/article" --format json

What it does:

  • launches headless Chromium via Node Playwright
  • waits for the page to render
  • extracts title, metadata, and readable text from the rendered DOM

Use this only when needed. It is slower and heavier than the first-pass extractor.

Step 3: Report method and limitations

Always tell the user which method worked:

  • wechat-dom
  • wechat-access-limited
  • json-ld
  • embedded-data:__NEXT_DATA__
  • dom-paragraphs
  • browser-render:playwright

Also mention known limitations when relevant:

  • text was truncated
  • metadata only
  • browser runtime unavailable
  • login wall / CAPTCHA / region restriction
  • anti-bot blocking

Output contract

When using this skill, aim to return the following whenever possible:

  • page title
  • author and publish/update time
  • the main body text or a concise faithful summary
  • the extraction method used
  • any missing sections, uncertainty, or access limitations

Do not imply full page access if only metadata or fragments were recovered.

Scripts

scripts/page_fetch.py

Purpose:

  • unified no-persist entry point
  • routes WeChat vs general webpages automatically
  • escalates to browser rendering only when lightweight extraction is insufficient
  • only saves JSON when --save-json is explicitly requested

Typical usage:

python3 scripts/page_fetch.py "https://example.com/article" --format json

Optional explicit persistence:

python3 scripts/page_fetch.py "https://example.com/article" --format json --save-json --output ./example.json

Output fields:

  • all fields returned by the selected extraction path
  • notes including runner step trace
  • saved_to only when explicit persistence is requested

scripts/fetch_wechat_article.py

Purpose:

  • WeChat public article extraction without persistence
  • optimized for mp.weixin.qq.com article pages

Typical usage:

python3 scripts/fetch_wechat_article.py "https://mp.weixin.qq.com/s/..." --format json --max-chars 12000

Output fields:

  • url
  • final_url
  • status_code
  • title
  • description
  • author
  • account_nickname
  • published_time
  • method
  • text
  • content_html
  • excerpt
  • notes
  • access_limited
  • access_limit_reason

scripts/fetch_page.py

Purpose:

  • deterministic first-pass extraction
  • optimized for cost, speed, and portability

Typical usage:

python3 scripts/fetch_page.py "https://example.com/article" --format json --max-chars 8000

Output fields:

  • url
  • final_url
  • status_code
  • title
  • description
  • author
  • published_time
  • method
  • text
  • excerpt
  • notes

scripts/render_page.py

Purpose:

  • browser-render fallback for JS-heavy or client-rendered pages

Typical usage:

python3 scripts/render_page.py "https://example.com/article" --format json --wait-ms 2500

Important notes:

  • requires Node Playwright for browser fallback
  • requires Chromium installed via Playwright for browser fallback
  • requires system shared libraries for headless Chromium when browser fallback is used
  • returns explicit machine-readable failure states when unavailable or broken

References

Read these when you need more context than the main workflow:

  • references/strategy.md

- default extraction strategy - failure-to-next-action mapping

  • references/browser-runtime.md

- browser fallback runtime expectations - common failure modes - operational guidance

Guardrails

  • Prefer lightweight fetches over browser automation.
  • Do not silently switch to expensive browser rendering for every page.
  • Do not bluff when access is blocked.
  • For routine reads, do not save page contents to disk unless the user explicitly wants export or archival.
  • If output must be saved, prefer a caller-chosen report/output path rather than workspace-root artifacts.

Quick examples

Example A: WeChat public article

If the URL is mp.weixin.qq.com, try fetch_wechat_article.py first. If it returns article body text, use that directly. If it reports access limits, say so plainly.

Example B: standard news article

If fetch_page.py returns a solid body via embedded-data:__NEXT_DATA__ or dom-paragraphs, use that result directly.

Example C: JS-rendered docs site

If fetch_page.py returns thin text or metadata only, escalate to render_page.py.

Example D: blocked page

If browser rendering fails because of login, CAPTCHA, or anti-bot controls, report the limitation plainly and, when appropriate, look for an alternate accessible source.

平台分布

OpenClaw

80.9%
按下载量换算719

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills