claude codeclaude code 工作流webfetchanthropicai 编程研究工作流web2mdmcp

Claude Code 网页研究工作流:怎么绕开 WebFetch 的限制

Zephyr Whimsy2026-06-036 min read

Claude Code 网页研究工作流:怎么绕开 WebFetch 的限制

Claude Code 4.5 以后,它已经是我处理非平凡编程任务的主界面。但有一件事我以为会 work、实际不行:喂它真正的网页做研究。内置 WebFetch 工具在大多数我需要的页面上失败:Reddit 帖子、微博/X 帖、付费 Substack、小红书帖子、任何登录后或现代 SPA 渲染的页面。

下文是我用来补这个洞的工作流。

WebFetch 到底为什么读不了关键页面

WebFetch 是服务器端 HTTP 请求。Claude Code 发 GET、解析 HTML、喂给模型。这对:

  • 静态文档(MDN、Python docs、GitHub READMEs)
  • Wikipedia
  • 传统 CMS 上的普通博客

完全 OK。

但在:

  • Reddit:客户端 React SPA 渲染。WebFetch 拿到 200KB 的导航、登录横幅、第 1-2 条评论的外壳 — 永远拿不到完整楼层树。
  • 微博 / X:SPA + 登录限制。WebFetch 拿到登录墙。
  • 付费 Substack / 付费 newsletter:WebFetch 看到付费墙,不是你订阅的文章。
  • 小红书 / 微信公众号 / 知乎:SPA + 反爬。WebFetch 返回空或验证码。
  • 多数现代营销页:lazy load + JS hydration;WebFetch 抓不到主内容。

真正有研究价值的页面——niche subreddit、X 上的开发者讨论、付费分析、中国平台内容——恰恰是 WebFetch 抓不到的。

补 gap 的工作流

两件东西:

  1. 浏览器侧 Markdown 提取器 — 读你真实浏览器 session 里渲染好的 DOM
  2. MCP server — 暴露提取器为 Claude Code 能调的 tool

Web2MD 两个都有。扩展跑转换,MCP server 让 Claude Code 驱动它。

一次性 setup

  1. Chrome Web Store 装 Web2MD
  2. 登录开 Pro(MCP server 是 Pro 功能)
  3. Claude Code 配置加 MCP server:
// ~/.claude/claude_code_config.json
{
  "mcpServers": {
    "web2md": {
      "command": "npx",
      "args": ["-y", "@web2md/mcp-server"],
      "env": {
        "WEB2MD_API_KEY": "<web2md.org/dashboard 拿你的 key>"
      }
    }
  }
}

重启 Claude Code。web2md.convert 工具就和 WebFetch 并列可用。

日常用法

任何 Claude Code session:

> 读 https://www.reddit.com/r/ObsidianMD/comments/abc/thread 总结前 3 个抱怨

Claude Code 调 web2md.convert(url)。背后 MCP server 通过 Native Messaging 让你浏览器扩展跑转换,扩展读渲染后的楼层树返回干净 Markdown 包含完整评论树,Claude Code 总结。同样模式适用 X、小红书、付费内容(你有权限的情况下),或者任何 WebFetch 卡住的站。

写 /research slash command

重复研究模式封 slash command。~/.claude/commands/research.md

---
description: 用 Web2MD 读网页,提取要点,存原始+摘要到 ./research/
---

读用户提供的 URL 做研究。

步骤:
1. 调 web2md.convert 拿 Markdown。
2. 完整 Markdown 存 ./research/<slug>.md
3. 写 5 个 bullet 摘要。
4. 找 3 个最强反论点或开放问题。
5. 摘要存 ./research/<slug>-summary.md

如果 web2md.convert 失败(扩展没跑等),fallback 到 WebFetch
并警告用户可能漏了动态内容。

现在 /research <url> 是一行命令,产出原始存档 + 结构化分析。摘要是 source of truth;原始 .md 是摘要漏东西时回查的。

Subagent 并行做对比研究

"对比 5 篇博客怎么解释 X" 这种任务,spawn 并行 subagent:

> 对比这 5 篇博客怎么解释 MCP transport:
>   - https://blog1.example.com/...
>   - ...
> spawn 5 个 Explore subagent,每个调 web2md.convert,
> 提 3 个核心论点,返回结构化总结。父 agent 聚合成对比表。

每个 subagent 拿干净 Markdown,并行跑,返回小 payload。父 agent 不用加载 5 篇完整页面,省巨量 context。

这个工作流不能干什么

  • 不替代真正的爬虫。要程序化抓 10000 页,Web2MD 浏览器 bound 的 MCP 形态不合适。用 REST API 走服务器端。
  • 不绕付费墙。扩展读你浏览器能看到的内容。没订阅 Substack,Web2MD 看的也是付费墙,和 WebFetch 一样。
  • 不在 headless CI 里跑。MCP server 要 Chrome 扩展跑在真实浏览器。CI/CD 用 REST API。

浏览器侧适合开发机器上的交互式 Claude Code session。这是这一篇讨论的场景。

为什么这件事比表面上看更重要

Claude Code 的核心承诺是"AI 能驱动你的开发环境"。它已经驱动文件系统、shell、git。web 这一个输入源,平台给了一个工具(WebFetch)但是它在你真正需要的页面上失败。补这个洞 = 让 Claude Code 从"能读你给它的 web"升级到"能读你实际用的 web"。

MCP 标准的存在就是为了这种事。Claude Code 配上浏览器侧转换器 = 整个工作流闭环。

相关阅读

安装

Web2MD Chrome 扩展商店 →

免费 3 次/天给扩展用。Pro $9/月解锁无限 + MCP server + REST API + 批量导出。

Related Articles