用途:把网页链接转换为可用的 Markdown 文本,按来源域名自动选择抓取路由,并直接返回清洗后的内容。
主要能力:输入 URL 后先做规范化与校验,再按路由策略抓取。默认路由为 https://r.jina.ai/<url>;YouTube(youtube.com、youtu.be)使用 https://defuddle.md/<url>;X/Twitter(x.com、twitter.com)使用 r.jina.ai;微信、知乎、飞书则运行 scripts/fetch_special_sites.mjs。若输入已是代理格式(如 https://defuddle.md/https://... 或 https://r.jina.ai/https://...),会先还原为原始 URL 再重新路由。
通用 URL 回退链:先试 r.jina.ai;失败则回退到直接 HTTP 抓取加 Readability;若仍失败或返回壳状内容,再回退到浏览器提取。
特殊站点采用两阶段策略:先用 cuimp 做 HTTP/TLS 模拟,再用 Mozilla Readability 清洗 HTML;若第一阶段失败或返回被拦截/壳内容,则回退到 puppeteer-extra 浏览器模拟。浏览器阶段会模拟现代 Chrome 的 user agent 与 sec-ch-ua 头,尽力移除登录弹窗和遮罩,滚动页面触发懒加载,再用 Readability 解析、Turndown 转 Markdown。浏览器可执行文件优先取 CHROME_PATH,其次系统 Chrome/Chromium/Edge 路径。
使用方式:在该技能目录(skills/web-to-markdown)下运行 npm install,然后执行 node scripts/url_to_markdown.mjs <url>;需要元数据时加 --json;强制特殊站点浏览器提取可运行 node scripts/fetch_special_sites.mjs <url> --json。
输出:普通模式仅输出 Markdown;--json 时返回 source、strategy、requestedUrl、resolvedUrl、markdown 等字段。
限制:若特殊站点因反爬、仅登录可见页面或网络限制而失败,会明确报告失败并请求回退输入(例如原始页面文本)。