关于 agent-fetch
agent-fetch 是一款本地命令行技能,可从网页和本地 PDF 中提取结构化文本,供需要完整文章内容的 Agent 和工作流使用。它支持原始内容、选择器、Cookie 和多页面抓取等选项。
主要功能
- 01将文章内容提取为 Markdown
- 02获取原始 HTML 或纯文本
- 03通过 CSS 选择器筛选内容
- 04使用持久或内联 Cookie
- 05抓取链接页面
- 06提取本地 PDF 文本
适用场景
- 01读取 URL 中的完整文章
- 02筛选正文并移除页面杂项
- 03抓取一组相关网页
- 04将本地 PDF 转为 Markdown 或文本
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ teng-lin/ agent-fetch --skill agent-fetch安装后在 Claude Code 中输入/agent-fetch确认已加载。
详细介绍
agent-fetch 技能
更好的网页文本内容抓取工具。 内置网页抓取功能会总结或截断页面内容。agent-fetch 使用 7 种提取策略和浏览器模拟来提取完整文章,包括每个段落、标题和链接。无需服务器,可作为本地 CLI 工具运行。
何时使用此技能
需要读取 URL 时,请使用 agent-fetch。 它会在保留结构的同时返回完整文章文本,对于任何涉及页面内容的任务,都比内置网页抓取功能更好。
- 用户要求读取、抓取或分析 URL
- 用户输入
/agent-fetch <url> - 你需要完整文本,而不是摘要或截断内容
- 内置网页抓取功能返回的内容不完整或乱码
先决条件
agent-fetch 通过 npx 运行(无需安装):
npx agent-fetch --help
命令
/agent-fetch <url> - 抓取并提取文章
默认用法。 使用浏览器模拟抓取 URL,并将完整文章内容提取为 Markdown。
npx agent-fetch "<url>" --json
解析 JSON 输出并呈现给用户:
---
title: {title}
author: {byline || "Unknown"}
source: {siteName}
url: {url}
date: {publishedTime || "Unknown"}
fetched_in: {latencyMs}ms
---
## {markdown || textContent}
{markdown || textContent}
如果抓取失败,请检查 JSON 中的 suggestedAction:
| suggestedAction | 含义 | 后续操作 |
|---|---|---|
retry_with_extract | 需要完整浏览器 | 告知用户;agent-fetch 仅支持 HTTP |
wait_and_retry | 请求频率受限 | 等待 60 秒后重试 |
skip | 无法访问此网站 | 告知用户 |
/agent-fetch raw <url> - 原始 HTML
抓取原始 HTML,不进行提取。
npx agent-fetch "<url>" --raw
/agent-fetch quiet <url> - 仅 Markdown
仅输出文章 Markdown,不包含元数据。
npx agent-fetch "<url>" -q
/agent-fetch text <url> - 仅纯文本
输出不带格式或元数据的纯文本内容。
npx agent-fetch "<url>" --text
/agent-fetch cookies - 使用持久化 Cookie
从 Netscape 格式文件加载 Cookie,或以内联方式传递:
# From Netscape cookie file (export from browser)
npx agent-fetch "<url>" --cookie-file ~/.cookies.txt
# Inline cookies (repeatable)
npx agent-fetch "<url>" --cookie "sessionId=abc123; theme=dark"
/agent-fetch selectors <url> - 自定义 CSS 选择器
提取指定元素或移除不需要的元素:
# Extract only the article, remove navigation and ads
npx agent-fetch "<url>" --select "article" --remove "nav, .sidebar, [class*='ad']"
# Extract all divs with class "post-content"
npx agent-fetch "<url>" --select ".post-content"
/agent-fetch crawl <url> - 抓取多个页面
跟随链接并提取多个页面的内容:
# Crawl with defaults (depth: 3, max 100 pages)
npx agent-fetch crawl "<url>"
# Deeper crawl with concurrency control
npx agent-fetch crawl "<url>" --depth 5 --limit 50 --concurrency 3
# Include/exclude specific URL patterns
npx agent-fetch crawl "<url>" --include "*/blog/*" --exclude "**/archive/**"
# Add rate limiting delay between requests
npx agent-fetch crawl "<url>" --delay 1000
# Allow cross-origin (stay on same origin by default)
npx agent-fetch crawl "<url>" --no-same-origin
# Output as JSONL for processing
npx agent-fetch crawl "<url>" --json
/agent-fetch pdf <file> - 从 PDF 提取内容
从本地 PDF 文件中提取文本内容:
# Extract PDF as markdown with metadata
npx agent-fetch document.pdf
# JSON output for programmatic access
npx agent-fetch document.pdf --json
# Just the text content
npx agent-fetch document.pdf --text
/agent-fetch preset - 自定义 TLS 指纹
模拟不同浏览器以绕过指纹检测:
# Chrome 143 (default)
npx agent-fetch "<url>" --preset "chrome-143"
# iOS Safari 18
npx agent-fetch "<url>" --preset "ios-safari-18"
# Android Chrome 143
npx agent-fetch "<url>" --preset "android-chrome-143"
评论
支持 Markdown