网页到MarkdownSkill web-to-markdown

这个技能用于将网页转换为Markdown格式,特别适合处理JavaScript渲染的页面。它通过本地浏览器自动化工具(Puppeteer)和内容提取库(Readability)实现,可以生成干净的Markdown输出,便于内容管理和分析。关键词:网页转换、Markdown、Puppeteer、Readability、JS渲染、内容提取。

前端开发 0 次安装 0 次浏览 更新于 3/21/2026

name: web-to-markdown description: “仅当用户明确说:‘使用技能 web-to-markdown …’(或’使用一个技能 web-to-markdown …')时才使用。通过调用本地 web2md CLI(Puppeteer + Readability)将网页URL转换为干净的Markdown,适合JS渲染的页面。” metadata: version: 0.1.0

网页到Markdown

通过驱动本地安装的浏览器(通过 web2md)将网页转换为干净的Markdown。

硬触发门(必须执行)

除非用户明确写出 完全 像这样的短语,否则不得使用此技能:

  • use the skill web-to-markdown ...
  • use a skill web-to-markdown ...

如果用户没有按名称明确请求此技能,停止并请他们重新发出请求,包括:use the skill web-to-markdown

此技能的作用

  • 处理JS渲染的页面(Puppeteer → 用户Chrome)。
  • 通过 puppeteer-core 与Chromium家族浏览器(Chrome/Chromium/Brave/Edge)配合最佳。
  • 提取主要内容(Readability)。
  • 转换为Markdown(Turndown),带有清理的链接和可选的YAML前端元数据。

非目标

  • 不要使用Playwright或其他浏览器自动化堆栈;机制是 web2md

应收集的输入(仅当缺失时询问)

  • url(或URL列表)
  • 输出偏好:
    • 打印到标准输出(--print),或
    • 保存到文件(--out ./file.md),或
    • 保存到目录(--out ./some-dir/ 以页面标题自动命名)
  • 棘手页面的可选渲染控制:
    • --chrome-path <路径>(如果Chrome自动检测失败)
    • --interactive(显示Chrome并暂停,以便用户完成人工检查/登录,然后按Enter)
    • --wait-until load|domcontentloaded|networkidle0|networkidle2
    • --wait-for '<css选择器>'
    • --wait-ms <毫秒>
    • --headful(调试)
    • --no-sandbox(有时在容器/CI中需要)
    • --user-data-dir <目录>(登录/会话;使用专用配置文件目录)

工作流程

  1. 确认用户明确调用了技能(use the skill web-to-markdown)。
  2. 验证URL以 http://https:// 开头。
  3. 确保 web2md 已安装:
    • 运行:command -v web2md
    • 如果缺失,指导用户安装:
      • 如果可通过npm获得:npm install -g web2md
      • 如果从源代码:克隆存储库,然后运行 npm install && npm run build && npm link
  4. 转换:
    • 单个URL → 文件:
      • web2md '<url>' --out ./page.md
    • 单个URL → 目录中的自动命名文件:
      • mkdir -p ./out && web2md '<url>' --out ./out/
    • 人工验证/登录墙(交互式):
      • mkdir -p ./out && web2md '<url>' --interactive --user-data-dir ./tmp/web2md-profile --out ./out/
      • 然后:在浏览器窗口中完成检查,并在终端中按Enter继续。
    • 打印到标准输出:
      • web2md '<url>' --print
    • 多个URL(批处理):
      • 创建输出目录(例如 ./out/),然后对每个URL运行一个 web2md 命令,使用 --out ./out/
  5. 验证输出:
    • 如果写入文件,验证它们存在且非空(例如 ls -la <路径>wc -c <路径>)。
  6. 返回:
    • 保存的文件路径,或Markdown(标准输出模式)。

默认设置(推荐)

  • 对于大多数页面:--wait-until networkidle2
  • 对于重应用:从 --wait-until domcontentloaded --wait-ms 2000 开始,然后根据需要添加 --wait-for 'main'(或其他稳定选择器)。