README
🚀 WhatsUpDoc
WhatsUpDoc 是一款强大的命令行工具,借助模型上下文协议(MCP),它能够从任意网站抓取开发者文档,并将其本地存储。这极大地方便了开发者获取和管理所需的文档资源。
🚀 快速开始
使用 WhatsUpDoc 可以轻松地从网站获取文档并保存为 Markdown 格式。以下是基本的使用步骤:
downmarked fetch <url>
运行上述命令后,你将被提示输入输出位置,之后文档会以 Markdown 格式保存。
✨ 主要特性
- 🌐 从任何网站获取文档,并将其转换为 Markdown 格式,方便本地查看和编辑。
- 💾 可将文档保存到系统上的任意位置,满足不同的存储需求。
- 🎯 支持使用 CSS 选择器指定特定内容,精准获取所需信息。
- 🔗 能够递归获取链接的文档页面,确保获取完整的文档体系。
- 📄 根据标题将文档拆分到单独文件中,便于组织和管理。
- 🛠️ 使用模型上下文协议(MCP)实现标准化通信,保证数据交互的稳定性。
📦 安装指南
全局安装
# 全局安装
npm install -g downmarked
使用 npx
# 或使用npx
npx downmarked fetch https://reactjs.org/docs/getting-started.html
💻 使用示例
基础用法
downmarked fetch <url>
此命令会提示你输入输出位置,并将文档保存为 Markdown 格式。
高级用法
# 带有特定选项获取文档
downmarked fetch https://reactjs.org/docs/getting-started.html \
-o ~/Documents/react-docs.md \
-s "main" \
-r \
-d 2 \
--split
可用选项
| 属性 | 详情 |
|------|------|
| -o, --output <path> | 输出路径(绝对或相对) |
| -s, --selector <选择器> | CSS 选择器,用于指定特定内容 |
| -r, --recursive | 递归获取链接的文档页面 |
| -d, --max-depth <数字> | 递归获取的最大深度(默认:3) |
| --split | 根据标题将文档拆分到单独文件中 |
具体示例
获取 React 文档
# 将React文档保存到特定位置
downmarked fetch https://reactjs.org/docs/getting-started.html -o ~/Documents/react-docs.md
# 只获取主要内容区域
downmarked fetch https://reactjs.org/docs/getting-started.html -s "main"
# 递归获取链接页面,深度最多2层
downmarked fetch https://reactjs.org/docs/getting-started.html -r -d 2
获取 Python 文档
# 保存Python文档
downmarked fetch https://docs.python.org/3/tutorial/index.html -o python-tutorial.md
🔧 技术细节
WhatsUpDoc 使用模型上下文协议(MCP)实现标准化通信。其工作流程如下:
- 从指定 URL 获取 HTML 内容。
- 使用 Cheerio 解析 HTML,提取所需信息。
- 使用 Turndown 将 HTML 转换为 Markdown 格式。
- 将 Markdown 保存到指定位置。
🤝 贡献
欢迎大家为 WhatsUpDoc 项目贡献力量!如果你有新的想法或改进建议,请按照以下步骤提交 Pull Request:
- 叉克仓库。
- 创建功能分支(
git checkout -b feature/amazing-feature)。 - 提交更改(
git commit -m '添加一些 amazing 功能')。 - 推送到分支(
git push origin feature/amazing-feature)。 - 打开 Pull Request。
📄 许可证
本项目使用 MIT 许可证,详情请参阅 LICENSE 文件。
🙏 致谢
感谢以下项目对 WhatsUpDoc 的贡献:
- 模型上下文协议(MCP) 提供通信框架。
- Turndown 实现 HTML 到 Markdown 转换。
- Cheerio 用于 HTML 解析。
Scan to join WeChat group