html2md:面向 AI 的 HTML 转简洁 Markdown 转换器 - Openclaw Skills
作者:互联网
2026-04-17
什么是 html2md?
html2md 是一款功能强大的实用工具,专为 Openclaw Skills 生态系统设计,用于将杂乱的网页转换为精简的 Markdown。通过利用 Mozilla 的 Readability 和 Turndown 技术,它能提取页面的核心内容,同时强力剥离导航栏、广告、页脚和 Cookie 横幅。这确保了 AI 智能体仅接收最相关的数据,从而减少干扰并提高处理准确性。
对于正在构建需要强大网页抓取或内容提取功能的 Openclaw Skills 的开发者来说,此工具必不可少。它支持多种输入方式,包括实时 URL、本地文件和标准输入 (stdin),使其成为任何自动化流水线中的通用组件。通过内置的后期处理功能来移除社交引导语(CTA)和空白标题,它能生成高质量的文本,完美适配大语言模型(LLM)的上下文窗口。
下载入口:https://github.com/openclaw/skills/tree/main/skills/saikatkumardey/html2md
安装与下载
1. ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install html2md
2. 手动安装
将技能文件夹复制到以下位置之一
全局模式~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置
3. 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 html2md。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
html2md 应用场景
- 在 Openclaw Skills 内部自动化研究任务的内容提取。
- 将本地 HTML 文档转换为 Markdown,用于 AI 训练或 RAG 流水线。
- 清理网页搜索结果,以减少智能体工作流中的 Token 消耗。
- 使用 JSON 输出进行程序化数据采集,实现结构化信息检索。
- 在保留文档结构的同时,截断大型网页以符合特定的 Token 预算。
- 该工具通过 URL 获取、本地文件路径或管道 stdin 流接收 HTML 输入。
- 利用 Mozilla Readability 解析 DOM 并识别主要内容块,有效丢弃非必要元素。
- 使用 Turndown 将提取的 HTML 转换为 Markdown,随后进行强力后期处理以清除 HTML 注释和多余空格。
- 应用 --max-tokens 等可选参数来截断内容,同时保持关键标题完整。
- 最终生成的简洁 Markdown 或 JSON 对象将输出到 stdout,供 Openclaw Skills 工作流的下一阶段使用。
html2md 配置指南
要将其集成到您的 Openclaw Skills 库中,请按照以下步骤操作:
# 进入技能目录
cd /scripts
# 安装依赖项
npm install
# 全局链接命令
npm link
请确保已安装 Node.js 22 或更高版本以支持转换逻辑。
html2md 数据架构与分类体系
该技能以两种主要格式组织输出,以支持不同的 Openclaw Skills 需求:
| 格式 | 描述 | 字段 |
|---|---|---|
| Markdown | 标准纯文本输出 | 经过强力清理、保留标题和列表的文本。 |
| JSON | 结构化程序输出 | 包含 title、url、markdown 和 tokens 计数。 |
使用 --max-tokens 时,该工具采用约 4 个字符对应 1 个 Token 的启发式方法来管理数据负载大小。
name: html2md
description: Convert HTML pages to clean, agent-friendly markdown using Readability + Turndown. Strips navigation, ads, footers, cookie banners, social CTAs. Supports URL fetch, local files, stdin, token budgeting, and output flags. Ideal for research tasks, content extraction, and web scraping in agent workflows.
html2md
Aggressive HTML-to-markdown converter for AI agents. Mozilla Readability isolates main content, Turndown converts to markdown, then heavy post-processing strips remaining noise.
Full flag reference and advanced examples:
references/usage.md
Setup
cd /scripts
npm install
npm link # makes `html2md` globally available
Requires Node.js 22+.
Quick Start
html2md https://example.com # fetch + convert
html2md --file page.html # local HTML file
cat page.html | html2md --stdin # pipe from stdin
html2md --max-tokens 2000 https://example.com # budget-aware truncation
html2md --no-links https://example.com # strip hrefs, keep text
html2md --json https://example.com # JSON: {title, url, markdown, tokens}
Key Features
- Readability extraction — kills navbars, sidebars, ads, cookie banners. Falls back to cleaned
when Readability returns too little (e.g. HN's table layout). - Token budgeting —
--max-tokens Nkeeps all headings, fills remaining budget in document order, appends[truncated — N more tokens]. Uses 1 token ≈ 4 chars heuristic. - Post-processing — strips HTML comments, zero-width chars, social CTAs, breadcrumbs, empty headings, collapses excess blank lines.
- Error handling — bad URLs, timeouts (15s), non-HTML content, missing files all exit code 1 with descriptive stderr.
- Output modes — plain markdown or
--jsonfor programmatic use.
When to Use vs web_fetch
Use html2md when |
Use web_fetch when |
|---|---|
| Reading pages in cron jobs / sub-agents | Quick one-off fetch in main session |
Token budget matters (--max-tokens) |
Page is a JSON/XML API endpoint |
| Heavy nav/ads/footers to strip | JS rendering not needed |
| Need JSON output | Simple pages |
Security Considerations
html2md fetches URLs and reads local files — that's its job. If you're passing untrusted input:
- URL fetching: the tool will fetch whatever URL it's given. Don't pass user-controlled URLs without validation if your threat model includes SSRF.
- File reading:
--filereads any path the process can access. In agent workflows, the agent controls the path — this is equivalent to the agent usingcat. - No shell execution: the tool itself never spawns shells or runs commands. When calling from scripts, use
execFileSync(notexecSync) to avoid shell injection. - No data exfiltration: output goes to stdout only. No network requests beyond the single URL fetch. No telemetry, no analytics, no phone-home.
- Dependencies: jsdom (Mozilla DOM implementation), Readability (Mozilla content extractor), Turndown (HTML→markdown). All widely audited, open source libraries.
Examples
# Read a Paul Graham essay within 2000 tokens
html2md --max-tokens 2000 https://paulgraham.com/greatwork.html
# HN front page as clean text, no link noise
html2md --no-links --no-images https://news.ycombinator.com
# Get token count before committing
html2md --json https://example.com | jq .tokens
# Pipe to file
html2md https://docs.example.com/api > api-docs.md
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
Minecraft 3D 建造计划生成器:AI 场景架构师 - Openclaw Skills
Scholar Search:自动化文献搜索与研究简报 - Openclaw Skills
issue-to-pr: 自动化 GitHub Issue 修复与 PR 生成 - Openclaw Skills
接班交班总结器:临床 EHR 自动化 - Openclaw Skills
Teacher AI 备课专家:K-12 自动化教案设计 - Openclaw Skills
专利权利要求映射器:生物技术与制药 IP 分析 - Openclaw Skills
生成 Tesla 车身改色膜:用于 3D 显示的 AI 图像生成 - Openclaw Skills
Taiwan MD:面向台湾的 AI 原生开放知识库 - Openclaw Skills
自学习与迭代演进:AI Agent 成长框架 - Openclaw Skills
HIPC Config Manager: 安全的 API 凭据处理器 - Openclaw Skills
AI精选
