使用 baoyu-fetch CLI 获取任意 URL 并转换为 Markdown(Chrome CDP 与站点专属适配器)。内置适配器支持 X/Twitter、YouTube 字幕、HTML 等。
URL 到 Markdown
功能概述
URL 到 Markdown是一项面向实际任务的技能,主要用于通过 baoyu- fetch CLI( Chrome CDP + 站点特定适配器) 来绘制任何 URL , 并将其转换为清除 markdown;. 用户输入工具;
核心要点
- 当此技能提示用户时, 请遵循此工具。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
URL 转 Markdown
通过 baoyu-fetch CLI(基于 Chrome CDP + 站点专属适配器)抓取任意 URL,并将其转换为干净的 Markdown 格式。
用户输入工具
当本技能向用户发起提示时,请遵循以下工具选择规则(按优先级排序):
- 优先使用当前 agent runtime 暴露的内置用户输入工具 — 例如
AskUserQuestion、request_user_input、clarify、ask_user或其等效实现。 - 降级方案:若无此类工具,则以编号纯文本形式发出消息,并请用户针对每个问题,以所选编号/答案进行回复。
- 批量处理:若该工具支持单次调用中提交多个问题,则将所有适用问题合并为一次调用;若仅支持单问题调用,则按上述优先级顺序逐一提问。
下方出现的具体 AskUserQuestion 引用仅为示例 — 在其他 runtime 中应替换为对应本地等效工具。
CLI 设置
重要说明:CLI 源码以 vendored 方式存放在 {baseDir}/scripts/lib 目录下。scripts/package.json 仅安装第三方运行时依赖。
Agent 执行说明:
- 将本 SKILL.md 文件所在目录路径确定为
{baseDir} - 解析
${BUN}运行时:若已安装bun,则设为bun;否则建议安装 Bun - 若
{baseDir}/scripts/node_modules不存在,则执行${BUN} install --cwd {baseDir}/scripts ${READER}={baseDir}/scripts/baoyu-fetch- 将本文档中所有
${READER}替换为上述解析所得的实际路径
偏好设置(EXTEND.md)
按如下优先级顺序查找 EXTEND.md — 首个匹配项即生效:
| 优先级 | 路径 | 作用域 |
|---|---|---|
| 1 | .baoyu-skills/baoyu-url-to-markdown/EXTEND.md |
项目级 |
| 2 | ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-url-to-markdown/EXTEND.md |
XDG 配置目录 |
| 3 | $HOME/.baoyu-skills/baoyu-url-to-markdown/EXTEND.md |
用户主目录 |
| 结果 | 操作 |
|---|---|
| 找到 | 读取、解析并应用配置项 |
| 未找到 | 必须执行首次设置流程(见下文)—— 不得静默创建默认值 |
EXTEND.md 支持以下配置:默认启用媒体文件下载、默认输出目录。
首次设置 ⛔ 阻塞式流程
当 EXTEND.md 未被找到时,你 必须 使用 AskUserQuestion 收集用户偏好后,再创建 EXTEND.md。严禁在无用户确认情况下静默生成默认 EXTEND.md。整个生成流程为 阻塞式,直至首次设置完成。请将全部三个问题合并为一次调用:
- Q1 — 媒体处理(标题为“Media”):“页面中的图片与视频应如何处理?”
- “每次询问(推荐)” — 每次保存后弹出提示
- “始终下载” — 下载至本地
imgs/和videos/子目录 - “从不下载” — 保留远程 URL 链接
- Q2 — 输出目录(标题为“Output”):“默认输出目录是?”
- “url-to-markdown(推荐)” — 保存至
./url-to-markdown/{domain}/{slug}.md - 用户可选择“Other”,并手动输入自定义路径
- “url-to-markdown(推荐)” — 保存至
- Q3 — 保存位置(标题为“Save”):“偏好设置应保存至何处?”
- “User(推荐)” —
~/.baoyu-skills/(全局生效,适用于所有项目) - “Project” —
.baoyu-skills/(仅对当前项目生效)
- “User(推荐)” —
获取用户回答后,写入 EXTEND.md,确认提示“Preferences saved to [path]”,然后继续后续流程。
完整模板参见:references/config/first-time-setup.md。
支持的配置键
| 键名 | 默认值 | 可选值 | 说明 |
|---|---|---|---|
download_media |
ask |
ask / 1 / 0 |
ask = 每次询问;1 = 始终下载;0 = 从不下载 |
default_output_dir |
空 | 路径或空值 | 默认输出目录(空值表示使用 ./url-to-markdown/) |
EXTEND.md → CLI 参数映射关系:
| EXTEND.md 键名 | CLI 参数 | 备注 |
|---|---|---|
download_media: 1 |
--download-media |
要求同时指定 --output |
default_output_dir: ./posts/ |
Agent 构造 --output ./posts/{domain}/{slug}.md |
路径由 Agent 动态生成,非直接 CLI 标志 |
值优先级顺序:CLI 参数 > EXTEND.md > 技能默认值。
使用方式
# 默认:无头模式抓取,Markdown 输出至 stdout
${READER}
# 保存至文件
${READER} --output article.md
# 同时保存并下载媒体资源
${READER} --output article.md --download-media
# 等待用户交互(如登录/CAPTCHA)——自动检测并继续
${READER} --wait-for interaction --output article.md
# 等待用户交互——手动控制(按 Enter 继续)
${READER} --wait-for force --output article.md
# JSON 格式输出
${READER} --format json --output article.json
# 强制指定适配器
${READER} --adapter youtube --output transcript.md
选项说明
| 选项 | 说明 |
|---|---|
|
待抓取的 URL |
--output |
输出文件路径(默认:stdout) |
--format |
输出格式:markdown(默认)或 json |
--json |
--format json 的简写形式 |
--adapter |
强制指定适配器:x、youtube、hn 或 generic(默认:自动识别) |
--headless |
强制启用无头 Chrome(不显示窗口) |
--wait-for |
交互等待模式:none(默认)、interaction 或 force |
--wait-for-interaction |
--wait-for interaction 的别名 |
--wait-for-login |
--wait-for interaction 的别名 |
--timeout |
页面加载超时时间(默认:30000 毫秒) |
--interaction-timeout |
登录/CAPTCHA 等待超时时间(默认:600000 毫秒 = 10 分钟) |
--interaction-poll-interval |
交互状态轮询间隔(默认:1500 毫秒) |
--download-media |
将图片/视频下载至本地 imgs/ 和 videos/ 目录,并重写 Markdown 中的链接。需配合 --output 使用 |
--media-dir |
媒体文件下载根目录(默认:与 --output 所在目录相同) |
--cdp-url |
复用已存在的 Chrome DevTools Protocol 接口地址 |
--browser-path |
自定义 Chrome/Chromium 可执行文件路径 |
--chrome-profile-dir |
Chrome 用户数据目录(默认:环境变量 BAOYU_CHROME_PROFILE_DIR 或 ./baoyu-skills/chrome-profile) |
--debug-dir |
输出调试产物(document.json、markdown.md、page.html、network.json) |
Agent 质量守门机制
关键提醒:请将默认的无头模式抓取结果视为临时性输出。部分网站在无头模式下渲染效果不同,可能在不报错的情况下静默返回低质量内容。
每次无头模式运行完成后,务必检查生成的 Markdown 内容质量。详见 references/quality-gate.md 中的完整检查清单、恢复流程及不同抓取模式对照表。每当运行结果可疑,或用户就登录/CAPTCHA 处理提出疑问时,请务必查阅该文档。
输出路径生成规则
输出文件路径须由 Agent 显式构造 —— baoyu-fetch 不会自动推导或生成路径。
生成算法:
- 根据 EXTEND.md 中的
default_output_dir或默认值./url-to-markdown/确定基础目录 - 从 URL 中提取域名(例如
example.com) - 根据 URL 路径或页面标题生成 slug(小写短横线格式,长度为 2–6 个单词)
- 构造路径:
{base_dir}/{domain}/{slug}/{slug}.md—— 每个 URL 单独成目录,确保媒体资源隔离存放 - 冲突处理:追加时间戳,格式为
{slug}-YYYYMMDD-HHMMSS/{slug}-YYYYMMDD-HHMMSS.md
将构造完成的路径传入 --output。媒体文件(启用 --download-media 时)将保存于 Markdown 文件所在目录的同级子目录中,确保每个 URL 的全部资产完全独立封装。
适配器与媒体处理
适配器清单(X、YouTube、Hacker News、generic)、各适配器注意事项、媒体下载策略(ask / always / never)以及 JSON 输出结构定义,请参阅 references/adapters.md。在回答适配器相关问题或处理媒体提示前,请务必先阅读该文档。
环境变量
| 变量名 | 说明 |
|---|---|
BAOYU_CHROME_PROFILE_DIR |
Chrome 用户数据目录(亦可通过 --chrome-profile-dir 指定) |
常见问题排查:Chrome 未找到 → 使用 --browser-path;超时 → 增大 --timeout;需处理登录/CAPTCHA → 使用 --wait-for interaction;调试需求 → 使用 --debug-dir 查看捕获的 HTML 与网络日志。
扩展支持
通过 EXTEND.md 实现自定义配置。具体路径与支持的配置键详见上方 偏好设置 小节。
热门AI工具
相关专题
本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。
0
2026.11.12
本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。
0
2026.11.12
本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。
0
2026.11.12
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
热门下载
相关下载
精品课程
共13课时 | 3.7万人学习
共30课时 | 4.5万人学习
共10课时 | 1.5万人学习
最新文章