用途:把 Microsoft Word 的 .doc / .docx 转换为干净的 Markdown 文件(.md),并可选地将图片提取到独立的 *_images/ 文件夹,以相对链接引用,从而保持 Markdown 体积小、便于人和大语言模型阅读,同时保留图表。
主要能力:支持单文件转换、嵌入式模式(图片以 base64 内嵌,生成单个自包含但体积很大的 .md)、依赖检查,以及批量转换当前文件夹中的 .doc/.docx。默认输出为 document.md 加 document_images/ 目录;嵌入式模式输出含 base64 图片的 document.md。
使用方式:入口脚本为 convert_word_to_markdown.py,同时处理 .doc 和 .docx。常用命令:python3 convert_word_to_markdown.py "path/to/document.docx";嵌入式模式加 --embedded;失败时运行 --check 检查依赖。批量转换可用 for f in *.doc *.docx; do [ -e "$f" ] || continue; python3 convert_word_to_markdown.py "$f"; done。依赖推荐用 bash setup_venv.sh 在本地虚拟环境安装 markitdown,或全局执行 python3 -m pip install 'markitdown[all]'(需 Python 3.10+),也可用 uv/uvx 作为回退;.doc 旧格式需 LibreOffice。支持环境变量覆盖,如 MARKITDOWN_UVX_PYTHON、MARKITDOWN_UVX_OFFLINE、MARKITDOWN_CMD、UV_CACHE_DIR。
适用场景:需要把 Word 文档转为适合 AI 处理的 Markdown,或希望保留图片但控制文件体积时。
限制:.doc 转换可能因 LibreOffice GUI 运行而失败,需退出或 killall soffice 后重试;沙箱中可能出现 Abort trap: 6 / exit 134,需先在沙箱外把 .doc 转为 .docx;WMF/EMF 图在沙箱中可能跳过转 PNG;markitdown 未找到需创建 ./.venv/ 或全局安装;uv 缓存初始化失败可设 UV_CACHE_DIR=/tmp/uv-cache。convert_with_images.py 为内部辅助,仅支持 .docx。