使用 Readability + Turndown 将 HTML 页面转换为干净的、Agent 友好的 Markdown。去除导航栏、广告、页脚、Cookie 横幅、社交按钮等干扰元素。支持 URL...
html2md.是一项面向实际任务的技能,主要用于AI代理的反向HTML- 标记下转换器.;Mozilla可读性将主内容隔离,转弯转换为标记下,然后重处理后条条会残留噪音.;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
面向 AI 代理的激进式 HTML 到 Markdown 转换器。采用 Mozilla Readability 提取主内容,Turndown 转换为 Markdown,再经重度后处理清除残留噪声。
完整参数说明与高级用法示例详见:
references/usage.md
cd/scripts npm install npm link # 使 `html2md` 全局可用
需 Node.js 22 或更高版本。
html2md https://example.com # 抓取并转换
html2md --file page.html # 转换本地 HTML 文件
cat page.html | html2md --stdin # 从 stdin 管道输入
html2md --max-tokens 2000 https://example.com # 按 token 预算截断
html2md --no-links https://example.com # 移除 href 属性,保留链接文本
html2md --json https://example.com # JSON 输出:{title, url, markdown, tokens}
内容。--max-tokens N 参数可确保所有标题均被保留,并按文档顺序填充剩余预算,末尾追加 [truncated — N more tokens] 标记。估算依据为:1 token ≈ 4 字符。--json 模式以供程序化调用。html2md,而非 web_fetch选用 html2md 的场景 |
选用 web_fetch 的场景 |
|---|---|
| 在定时任务(cron jobs)或子代理中读取网页 | 在主会话中执行一次性快速抓取 |
Token 预算敏感(使用 --max-tokens) |
目标页面为 JSON/XML API 接口 |
| 网页含大量导航栏、广告、页脚等需清理内容 | 无需 JavaScript 渲染 |
| 需要结构化 JSON 输出 | 页面结构简单 |
html2md 的职责即为获取 URL 内容及读取本地文件。若传入不可信输入,请注意:
--file 可读取进程有权限访问的任意路径。在代理工作流中,路径由代理自身控制——其风险等级等同于代理直接调用 cat 命令。execFileSync(而非 execSync)以规避 shell 注入风险。# 在 2000 token 预算内读取 Paul Graham 的一篇随笔 html2md --max-tokens 2000 https://paulgraham.com/greatwork.html # 获取 Hacker News 首页的干净文本,去除链接干扰 html2md --no-links --no-images https://news.ycombinator.com # 在提交前获取 token 数量统计 html2md --json https://example.com | jq .tokens # 将输出重定向至文件 html2md https://docs.example.com/api > api-docs.md