mcpField
A
agent-fetch

agent-fetch

github.com/teng-lin生产力314306 次安装33 周前更新
代码仓库

关于 agent-fetch

agent-fetch 是一款本地命令行技能,可从网页和本地 PDF 中提取结构化文本,供需要完整文章内容的 Agent 和工作流使用。它支持原始内容、选择器、Cookie 和多页面抓取等选项。

主要功能

  1. 01将文章内容提取为 Markdown
  2. 02获取原始 HTML 或纯文本
  3. 03通过 CSS 选择器筛选内容
  4. 04使用持久或内联 Cookie
  5. 05抓取链接页面
  6. 06提取本地 PDF 文本

适用场景

  1. 01读取 URL 中的完整文章
  2. 02筛选正文并移除页面杂项
  3. 03抓取一组相关网页
  4. 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