SuperAPI AI 工具集

to-markdown

前端与建站

查看项目

更新于 10-16 00:20

技能介绍

用途:把本地文件、URL、原始 HTML 字符串或 YouTube 链接转换为干净的 Markdown,输出面向 LLM 流程,便于后续阅读、检索或喂给模型。转换引擎为 MarkItDown,URL 部分另加一层抓取。

主要能力:本地文件路径、YouTube URL、静态网页、JS 渲染或需登录页面、粘贴的 HTML 字符串均可处理;多栏排版合并为线性流,表格保留为 Markdown 表格,标题按字号字重推断。图片描述(PPTX 与图片)为可选项,默认不开启,需先征得用户同意再传入 llm_client。图片密集文档使用 claude-opus-4-7 时,长边支持至 2,576 像素,可保留更高分辨率源图。

使用方式:先确认依赖,命令为 uv pip show markitdown || uv pip install 'markitdown[all]' trafilatura;随后用 from markitdown import MarkItDown 创建 md = MarkItDown(enable_plugins=False),再 result = md.convert("path/to/file.pdf"),读取 result.text_content。决策顺序:本地文件直接 markitdown;YouTube URL 直接 markitdown(内置字幕提取);静态页面先 trafilatura 抓取再转换;JS 渲染或需认证页面用 Playwright 抓取再转换;HTML 字符串直接转换。URL 不要走 web_fetch 或 WebFetch,应走抓取层以保持流程一致。输出约定:单文件按需写 <input_stem>.md 到同目录或直接返回;批量逐文件写 <stem>.md 并汇总;管道场景只返回字符串。

适用场景:文档批量转 Markdown、网页正文提取、PDF 报告与表格整理、演示文稿与表格结构化、音视频字幕整理等。

限制:不绕过付费墙,遇到限制页只报告不重试;不内置 Turndown,高保真 HTML 转换需 Node 子进程;不支持定时或批量爬取,每次调用仅一次转换;输出仅 Markdown;YouTube 自动字幕可能对术语有误;扫描版 PDF 需外接 OCR(如 Azure Document Intelligence 或 Tesseract),否则输出接近空。加密 Office 文件无法处理。空输出不得静默返回,应报告。校准:每页至少 10 词,否则视为空提取;表格与标题层级应保留,多工作表 XLSX 应每表一节并标明缺失。