SuperAPI AI 工具集

alterlab-markitdown

办公与效率

查看项目

更新于 10-15 19:56

技能介绍

用途:将文档、媒体与网页内容转换为适合 LLM 与文本分析流程的 Markdown,保留标题、列表、表格、链接等结构,面向机器处理而非高保真人工排版。目标版本 markitdown 0.1.x(当前 0.1.8),Python 3.10–3.14。

主要能力:支持 PDF、DOCX、PPTX、XLSX/XLS、图片(JPEG/PNG)、音频(WAV/MP3/M4A/MP4)、HTML、CSV/JSON/XML、ZIP、EPUB、Outlook MSG、Jupyter 笔记本与 YouTube 转录。可批量转换混合格式文件夹;可选用 LLM 生成图片描述或对扫描件与内嵌图片做 OCR;可通过 markitdown-mcp 向智能体暴露转换能力。

使用方式:安装 uv pip install 'markitdown[all]',或临时运行 uvx --from 'markitdown[all]' markitdown document.pdf -o output.md。CLI 基本用法 markitdown document.pdf > output.md;Python 中 from markitdown import MarkItDown,md = MarkItDown(),result = md.convert("document.pdf"),读取 result.markdown。仅本地文件可用 convert_local(),二进制流用 convert_stream() 配合 StreamInfo。插件默认关闭,需 --use-plugins 或 enable_plugins=True。MCP 服务器安装 uv pip install markitdown-mcp,运行 markitdown-mcp(默认 STDIO)或 markitdown-mcp --http --host 127.0.0.1 --port 3001。

限制:MarkItDown 无本地 OCR 引擎,扫描 PDF 或图片可能输出为空,需 markitdown-ocr 插件、Azure Document Intelligence,或先用 ocrmypdf 添加文本层;仅安装 Tesseract 不会启用 OCR。图片与音频 EXIF 需 exiftool。音频转录经 speech_recognition 发送至 Google Web Speech API,需联网且长文件较慢,机密录音慎用。AI 图片描述与 OCR 插件每张图一次 API 调用,涉及费用与速率限制。Azure 服务会将文档发送至云端,需确认数据合规。MCP 服务器无身份验证且可读取运行用户可访问的任意文件,应仅限 localhost。convert() 会抓取 URI,处理不可信输入时应改用 convert_local()、convert_stream() 或自行获取响应后调用 convert_response(),并校验路径与 URL、屏蔽私有及元数据服务地址。大 PDF 无页码范围选项,需先拆分。

适用场景:为 LLM 提示、RAG 索引或文本分析准备资料;批量转换论文与混合文档;提取 Excel 表格、PPT 幻灯片、YouTube 转录;通过 MCP 让智能体读取文件。

资源:https://github.com/microsoft/markitdown ;https://pypi.org/project/markitdown/ 。