mcpField
M
markitdown

markitdown

github.com/yitianlian文档处理446 次安装29 周前更新
代码仓库

关于 markitdown

使用 `markitdown` 命令行将文件和网页转换为 Markdown 的技能,适合整理文档以供阅读、提取或后续处理,并支持单文件与批量流程。

主要功能

  1. 01将文档和网页转换为 Markdown
  2. 02支持办公、数据、图像、音频及压缩格式
  3. 03保存到文件或输出至标准输出
  4. 04处理目录和 glob 模式
  5. 05提供可选的后处理指引

适用场景

  1. 01转换 PDF 或演示文稿以便审阅
  2. 02将电子表格或 CSV 转为 Markdown 表格
  3. 03批量转换目录中的支持文件
  4. 04抓取网页并转换为 Markdown

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/yitianlian/markitdown-skill --skill markitdown

安装后在 Claude Code 中输入/markitdown确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

install.sh
.gitignore
README.md
LICENSE

详细介绍

MarkItDown - 文件转 Markdown 转换器

将文件转换为 Markdown:$ARGUMENTS

前置条件

必须安装 markitdown CLI。如果未找到,请安装:

# Preferred (fastest, no conflicts)
uv tool install 'markitdown[all]'

# Alternatives
pipx install 'markitdown[all]'
pip install --user 'markitdown[all]'

支持的格式

格式扩展名说明
PDF.pdf提取文本并保留布局
Word.docx保留标题、表格和列表
PowerPoint.pptx按幻灯片逐页转换并保留标题
Excel.xlsx、.xls按工作表转换为表格
HTML.html、.htm转换完整结构
CSV.csv转换为 Markdown 表格
JSON.json格式化输出
XML.xml格式化输出
图片.jpg、.png、.gif、.webp提取 EXIF 元数据
音频.mp3、.wav转录(需要 ffmpeg)
电子邮件.msg提取 Outlook 邮件
电子书.epub提取全文
压缩包.zip列出内容,并转换其中受支持的文件
URLhttp://...获取并转换网页

工作流

步骤 1:解析参数

解析 $ARGUMENTS 以识别:

  • 目标:文件路径、glob 模式、目录或 URL
  • 输出选项:使用 -o output.md 保存,或打印到标准输出
  • 批处理模式:目标为目录或 glob 模式时启用

如果没有提供参数,请询问用户要转换哪个文件。

步骤 2:验证目标
# Check if file exists
ls -la "$TARGET"

# Check markitdown is available
markitdown --version

如果未安装 markitdown,请使用以下命令安装:

uv tool install 'markitdown[all]'
步骤 3:转换

单个文件:

markitdown "$FILE_PATH"

保存到文件:

markitdown "$FILE_PATH" -o "$OUTPUT_PATH"

从 URL 转换:

markitdown "$URL"

批量转换(目录):

for f in "$DIR"/*.{pdf,docx,pptx,xlsx,html,csv}; do
    [ -f "$f" ] && markitdown "$f" -o "${f%.*}.md"
done

从标准输入读取并指定扩展名提示:

cat "$FILE" | markitdown -x .html
步骤 4:呈现结果
  • 对于较短的输出(< 200 行):直接在对话中显示
  • 对于较长的输出:保存到 .md 文件并报告路径
  • 对于批量转换:报告已转换文件的摘要
步骤 5:后处理(可选)

如果用户提出要求,你可以:

  1. 总结:读取转换后的 Markdown 并提供摘要
  2. 提取特定信息:解析 Markdown 中的表格、标题和关键数据
  3. 清理:移除残留内容并修复格式问题
  4. 翻译:Markdown 现已成为可供翻译的纯文本
  5. 拆分:将大型文档拆分为多个部分

示例

/markitdown report.pdf
/markitdown slides.pptx -o slides.md
/markitdown data.xlsx
/markitdown https://example.com/page.html
/markitdown ./documents/              # batch convert all supported files
/markitdown *.pdf                     # convert all PDFs in current directory

错误处理

错误解决方法
markitdown: command not found运行:uv tool install 'markitdown[all]'
No such file or directory使用 ls 检查文件路径
音频转录失败安装 ffmpeg:brew install ffmpeg(macOS)或 apt install ffmpeg(Linux)
PDF 提取结果为空PDF 可能仅包含图片;建议使用 OCR 工具
编码问题尝试:markitdown -c UTF-8 "$FILE"

评论

支持 Markdown