URL转Markdown工具Skill baoyu-url-to-markdown

本技能使用Chrome DevTools协议(CDP)抓取网页并将HTML转换为干净的Markdown文件,支持自动捕获和等待用户信号模式,适用于保存网页内容、处理需要登录的动态页面,关键词包括URL抓取、HTML转Markdown、网页保存、自动化工具、Chrome CDP、Markdown转换。

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

名称:baoyu-url-to-markdown 描述:使用Chrome CDP获取任何URL并将其转换为Markdown。支持两种模式 - 在页面加载时自动捕获,或等待用户信号(用于需要登录的页面)。当用户想将网页保存为Markdown时使用。

URL到Markdown

通过Chrome CDP获取任何URL并将HTML转换为干净的Markdown。

脚本目录

重要:所有脚本都位于此技能的scripts/子目录中。

代理执行指令

  1. 确定此SKILL.md文件的目录路径为SKILL_DIR
  2. 脚本路径 = ${SKILL_DIR}/scripts/<脚本名称>.ts
  3. 在此文档中替换所有${SKILL_DIR}为实际路径

脚本参考

脚本 用途
scripts/main.ts URL获取的CLI入口点

偏好设置 (EXTEND.md)

使用Bash检查EXTEND.md的存在(优先级顺序):

# 首先检查项目级别
test -f .baoyu-skills/baoyu-url-to-markdown/EXTEND.md && echo "project"

# 然后用户级别(跨平台:$HOME在macOS/Linux/WSL上有效)
test -f "$HOME/.baoyu-skills/baoyu-url-to-markdown/EXTEND.md" && echo "user"

┌────────────────────────────────────────────────────────┬───────────────────┐ │ 路径 │ 位置 │ ├────────────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-url-to-markdown/EXTEND.md │ 项目目录 │ ├────────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-url-to-markdown/EXTEND.md │ 用户主目录 │ └────────────────────────────────────────────────────────┴───────────────────┘

┌───────────┬───────────────────────────────────────────────────────────────────────────┐ │ 结果 │ 操作 │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ 找到 │ 读取、解析、应用设置 │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ 未找到 │ 使用默认值 │ └───────────┴───────────────────────────────────────────────────────────────────────────┘

EXTEND.md支持:默认输出目录 | 默认捕获模式 | 超时设置

功能

  • 使用Chrome CDP实现完整的JavaScript渲染
  • 两种捕获模式:自动或等待用户
  • 干净的Markdown输出,带有元数据
  • 通过等待模式处理需要登录的页面

使用方法

# 自动模式(默认) - 页面加载时捕获
npx -y bun ${SKILL_DIR}/scripts/main.ts <url>

# 等待模式 - 在捕获前等待用户信号
npx -y bun ${SKILL_DIR}/scripts/main.ts <url> --wait

# 保存到指定文件
npx -y bun ${SKILL_DIR}/scripts/main.ts <url> -o output.md

选项

选项 描述
<url> 要获取的URL
-o <路径> 输出文件路径(默认:自动生成)
--wait 在捕获前等待用户信号
--timeout <毫秒> 页面加载超时(默认:30000)

捕获模式

模式 行为 使用场景
自动(默认) 在网络空闲时捕获 公共页面、静态内容
等待(--wait 用户发出信号时准备就绪 需要登录的页面、懒加载、付费墙

等待模式工作流程

  1. 使用--wait运行 → 脚本输出"准备就绪时按Enter"
  2. 询问用户确认页面就绪
  3. 发送换行符到stdin以触发捕获

输出格式

带有urltitledescriptionauthorpublishedcaptured_at字段的YAML front matter,后跟转换的Markdown内容。

输出目录

url-to-markdown/<domain>/<slug>.md
  • <slug>:来自页面标题或URL路径(kebab-case,2-6个单词)
  • 冲突解决:附加时间戳<slug>-YYYYMMDD-HHMMSS.md

环境变量

变量 描述
URL_CHROME_PATH 自定义Chrome可执行文件路径
URL_DATA_DIR 自定义数据目录
URL_CHROME_PROFILE_DIR 自定义Chrome配置文件目录

故障排除:找不到Chrome → 设置URL_CHROME_PATH。超时 → 增加--timeout。复杂页面 → 尝试--wait模式。

扩展支持

通过EXTEND.md进行自定义配置。有关路径和支持的选项,请参见偏好设置部分。