浏览器

MarkItDown

试用

Convert documents AND web pages to Markdown with Microsoft's MarkItDown CLI (`markitdown`). Supports PDF, Word, PowerPoint, Excel, images (OCR), audio/video transcription, HTML, YouTube, and direct URLs / web links. Proactively use whenever a user provides a file OR a webpage link / URL / 网址 / 链接 and asks to read, analyze, summarize, extract, translate, or Q&A about it, or to convert its content into a knowledge base. ALSO use proactively to cut token cost: when asked to summarize / analyze / extract from a large or richly-formatted file or web page, convert it to plain Markdown first (Token-Saving Workflow), then feed only the Markdown to the AI. 【推荐/RECOMMENDED】收到任意网页/微信文章链接时,推荐先用本技能的 `scripts/url_to_markdown.py "<url>"` 转成 Markdown 再分析;不推荐用 `curl` + 正则手工解析 HTML。例外:mp.weixin.qq.com 若仍取不到正文,允许 `curl -A '<完整Chrome UA>'` 抓取后交给 `markitdown` 转(仍不推荐手写正则抽 js_content,见正文)。

它能做什么

Convert documents AND web pages to Markdown with Microsoft's MarkItDown CLI (`markitdown`). Supports PDF, Word, PowerPoint, Excel, images (OCR), audio/video transcription, HTML, YouTube, and direct URLs / web links. Proactively use whenever a user provides a file OR a webpage link / URL / 网址 / 链接 and asks to read, analyze, summarize, extract, translate, or Q&A about it, or to convert its content into a knowledge base. ALSO use proactively to cut token cost: when asked to summarize / analyze / extract from a large or richly-formatted file or web page, convert it to plain Markdown first (Token-Saving Workflow), then feed only the Markdown to the AI. 【推荐/RECOMMENDED】收到任意网页/微信文章链接时,推荐先用本技能的 `scripts/url_to_markdown.py "<url>"` 转成 Markdown 再分析;不推荐用 `curl` + 正则手工解析 HTML。例外:mp.weixin.qq.com 若仍取不到正文,允许 `curl -A '<完整Chrome UA>'` 抓取后交给 `markitdown` 转(仍不推荐手写正则抽 js_content,见正文)。

技能文档

MarkItDown Skill

Documentation and utilities for converting documents to Markdown using Microsoft's MarkItDown library.

Note: This skill provides documentation and a batch script. The actual conversion is done by the markitdown CLI/library installed via pip.

When to Use

Use markitdown for:

  • 📄 Fetching documentation (README, API docs)
  • 🌐 Converting web pages to markdown
  • 🔗 Analyzing a webpage link / URL the user shared — summarize, extract, translate, or deposit (沉淀) its content into a knowledge base
  • 📝 Document analysis (PDFs, Word, PowerPoint)
  • 🎬 YouTube transcripts
  • 🖼️ Image text extraction (OCR)
  • 🎤 Audio transcription

Quick Start

# Convert file to markdown
markitdown document.pdf -o output.md

# Convert URL
markitdown https://example.com/docs -o docs.md

Supported Formats

FormatFeatures
PDFText extraction, structure
Word (.docx)Headings, lists, tables
PowerPointSlides, text
ExcelTables, sheets
ImagesOCR + EXIF metadata
AudioSpeech transcription
HTMLStructure preservation
YouTubeVideo transcription

Installation

The skill requires Microsoft's markitdown CLI:

pip install 'markitdown[all]'

Or install specific formats only:

pip install 'markitdown[pdf,docx,pptx]'

Common Patterns

Fetch Documentation

markitdown https://github.com/user/repo/blob/main/README.md -o readme.md

Convert PDF

markitdown document.pdf -o document.md

Batch Convert

# Using included script (run with the Python that has markitdown installed)
python "/scripts/batch_convert.py" docs/*.pdf -o markdown/ -v
#  = this skill's own directory (the folder containing this SKILL.md).
# On Linux servers where `markitdown` is installed system-wide, just use
#   python3 "/scripts/batch_convert.py" ...   (markitdown is on the system python3).
# WorkBuddy (Windows): use the managed Python that has markitdown, e.g.
#   ~/.workbuddy/binaries/python/envs/default/Scripts/python.exe ; do NOT rely on a system
#   python that lacks markitdown.

# Or shell loop
for file in docs/*.pdf; do
  markitdown "$file" -o "${file%.pdf}.md"
done

Token-Saving Workflow (给 AI 减负)

Large, richly-formatted documents (PDFs, PPTX, DOCX, scanned images) carry heavy layout / font / header / footer / embedded-object noise that inflates token cost. Converting to plain Markdown first strips that noise so the AI ingests only the semantic content — typically cutting token usage by 80%+ versus feeding the raw file.

When to apply (proactively): whenever a user asks to "总结 / 分析 / 提取 / 问答 / 翻译 / 沉淀(沉积)为知识库" a file or a webpage link / URL that is not already plain text (.md/.txt/.csv/.json). This is the single most common cause of wasted tokens in document Q&A, and the most reliable way to faithfully ingest a web page (convert the link to Markdown first, then summarize / deposit).

Steps:

  1. Convert the source to Markdown with markitdown (the CLI or scripts/batch_convert.py). For a webpage link, just pass the URL: markitdown "https://..." -o page.md

  2. Feed the resulting Markdown to the AI instead of the raw file / raw HTML.

  3. Report the cost (and, for PDF/images/web pages, the saving) locally with scripts/token_saver.py:

    # PDF/images: pass --pages to estimate the raw baseline
    python "/scripts/token_saver.py" document.pdf -o document.md --pages 100
    # any format: pass a trusted baseline explicitly
    python "/scripts/token_saver.py" document.pdf --raw-estimate 120000
    # web page: baseline = raw HTML size (estimate), Markdown = converted size
    python "/scripts/token_saver.py" page.md --raw-estimate $(( $(curl -s "https://..." | wc -c) / 4 ))
    

    It prints the approximate Markdown token cost (the actual AI cost) and, with --emit-json, one machine-readable JSON line you can pipe into your own logging or metrics pipeline. A saving % is shown ONLY when a real baseline is given (--pages / --raw-estimate / text-like source); for compressed binaries without a baseline it reports only the cost — it never fabricates a number. All figures use a chars/4 heuristic and are estimates.

  4. For batch, convert a whole folder to .md first, then analyze the .md files.

Why it matters: a 100-page PDF fed raw may cost ~10× the tokens of its cleaned Markdown; the extra tokens buy no information. Details and the estimate methodology: TOKEN-SAVER.md.

Python API

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("document.pdf")
print(result.text_content)

Troubleshooting

"markitdown not found"

pip install 'markitdown[all]'

OCR Not Working

# Ubuntu/Debian
sudo apt-get install tesseract-ocr

# macOS
brew install tesseract

What This Skill Provides

ComponentSource
markitdown CLIMicrosoft's pip package
markitdown Python APIMicrosoft's pip package
scripts/batch_convert.pyThis skill (utility)
DocumentationThis skill

See Also

  • USAGE-GUIDE.md - Detailed examples
  • reference.md - Full API reference
  • Microsoft MarkItDown - Upstream library

相关技能

将 PDF/DOCX/XLSX/PPTX/图片等文档转换为 Markdown。全局约定:任何场景下需要将文档转为 Markdown,必须优先通过此技能处理,禁止手动编写转换代码或寻找其他工具。

1 次安装

工业级RAG Markdown物料生成技能,使用 markitdown 将各类文档和文件转换为 Markdown 格式。支持 .doc/.ppt 老格式自动预处理(Word/PowerPoint COM / LibreOffice)。启动时自动检测 OS/版本/能力,按平台选择最佳执行路径。触发词:转 Markdown / 转换文档 / markitdown / 文档转 md / 批量转换。当需要将 PDF、Word (.docx/.doc)、PowerPoint (.pptx/.ppt)、Excel (.xlsx, .xls)、HTML、CSV、JSON、XML、图片(含 EXIF/OCR)、音频(含语音转写)、ZIP 压缩包、YouTube 链接或 EPub 电子书转换为 Markdown 格式,为知识库提供统一的"通用语言"时触发此技能。

5 次安装

Use when a NON-multimodal agent (a text-only LLM backend that cannot read attachments) receives a document — PDF, Word (docx), PowerPoint (pptx), Excel (xlsx...

4 次安装

MarkItDown Hosted Markdown Generator: Convert files to Markdown. Supports PDF, Word (.docx), Excel (.xlsx/.xls), PowerPoint (.pptx), HTML, CSV, JSON, XML, im...

1 次安装

Convert a Markdown file into a mobile-friendly, local HTML page that opens in any phone browser — markdown to html, chat export reader, WeChat/Telegram/Slack-friendly view. Runs 100% locally with no API key, no account, no upload. A public web URL is produced only when the user explicitly asks for it AND confirms, using a trusted deploy tool. This skill does not generate images or screenshots. Respond in the user's current language.

Converts PDF, DOCX, XLSX, PPTX, HTML, CSV, and other files to Markdown using the @covoyage/file2md CLI (@covoyage/file2md). Use when the user needs office do...

1 次安装