PDF、扫描件、PPT、表格、截图、公式和图解,往往有很深的视觉结构,却很难被 AI 直接读取。doc7 用一句话概括它的用途:把任意文档变成 AI 可以检索、引用和推理的 Markdown。
它把整个页面当作一张图交给你的多模态模型来"看懂",而不是只做字符抽取,因此能保留标题层级、表格数值、公式、图表趋势和流程图的空间关系,最终合并为一份统一的可搜索 Markdown。官方自称"Any document in, AI-ready Markdown out",即任何文档进、AI 可读的 Markdown 出。
它适合做 RAG 知识库、Agent 知识底座、研究报告和截图归档的开发者与 AI 用户。前提是你已有一个 OpenAI 兼容的多模态模型,无论它跑在本地、私有服务器还是云端。如果你手头已有这样的模型,doc7 的目标是让你复用它,而不是再为每一页文档向云解析服务付费。
doc7 的核心思路是"整页视觉理解":每页被渲染成图像,再让模型逐页转写为 Markdown。它不内嵌模型,模型始终运行在你配置的端点;也不内置 OCR 栈,除非你选择开启基于自带文本层的精确值校验。同一套流程覆盖文本、表格、公式、图表、截图乃至 Jupyter 笔记本和邮件,输出会保留页面编号、来源清单和逐页的模型归属信息,方便后续核对。
它是"一页一图、逐页理解",而不同格式只是进入同一套流程的不同容器,因此不会有每种格式一套专属解析器的维护负担。转换时模型请求采用温度为零以保证可重复,每页默认有 8192 个输出 token 的上限。
真实边界值得说清楚。质量、速度和最低硬件取决于你选用的模型与量化档位,doc7 不声称所有模型结果一致;长文档可断点续跑,但模型超出上下文或输出上限时,该页会被标记为失败而不是写入截断内容。纯文本与数据格式是本地直接转换、不依赖视觉模型;而视觉格式才需要你的多模态端点。
从官方说明看,转换输出不是单纯的文字转写,而是尽量保留页面上有意义的视觉与结构信息,整理成下表这样便于理解:
| 页面内容 | Markdown 结果 |
|---|---|
| 标题、段落、列表、引用、代码 | 原生 Markdown 结构 |
| 表格与电子表格 | 带数值和单位的 Markdown/HTML 表格 |
| 数学符号 | 行内或独立 LaTeX |
| 图表与流程图 | 标签、数值、趋势、关系作为可搜索文本 |
| 截图与应用状态 | 可见的状态、报错、控件与操作 |
先安装,再启动一个本地视觉模型,然后直接转换文件:
# macOS 或 Linux 安装 curl -fsSL https://raw.githubusercontent.com/magicrew/doc7/main/scripts/install.sh | bash # 启动 LM Studio 或 Ollama,加载一个本地视觉模型后: doc7 report.pdf # 把 PDF 转成 AI-ready Markdown doc7 screenshot.png # 截图同样按整页视觉理解处理
首次运行会自动发现本机模型端点并保存你的选择。需要远程端点时用 doc7 setup 配置。常用校验与批处理命令:
doc7 models --base-url http://localhost:8000/v1 # 查看端点模型 ID doc7 doctor --check-model # 检查依赖并真发一张测试图 doc7 read report.pdf -o report-doc7 # 显式输出到目录 doc7 read ./documents -o ./knowledge # 批量递归目录 doc7 read report.pdf --stdout > report.md # 直接输出到管道
不同格式依赖不同渲染组件,这是最常用的确认清单:
- Office 与 OpenDocument:需要安装 LibreOffice。
- PDF:优先使用 MuPDF,缺失时由
doc7 doctor提示平台替代方案。 - HTML、SVG、EPUB、EML 与笔记本:需要 Chrome、Chromium 或 Edge 参与渲染。
- 纯文本与数据格式:本地转换,不依赖视觉模型。
项目更新可通过 doc7 update 完成,会校验官方 checksums.txt。目前它以 CLI 为核心,同时提供 Go SDK、MCP 工具和本地 HTTP 服务,方便接入现有工具链。安装脚本会把可执行文件装进当前用户目录,不需要管理员权限,也不会改动系统级路径。
doc7 以当前用户权限运行 LibreOffice、Chromium 等渲染器,因此要把不受信任的 Office、HTML、SVG、邮件或压缩包当作"活跃输入",对不可信任务使用隔离账户或容器。使用远程端点前,doc7 会明确提示文档内容将离开本机,并且 API 密钥只会随请求发送到你所配置的端点,务必先确认端点可信。本地渲染依赖与模型上下文窗口也决定了它的能力上限,量产前建议先跑
doc7 doctor 验证依赖与模型连通。在GitHub 仓库的基准目录里,作者基于一篇真实论文页面与一份视觉报告,用同一个本地模型对比了 doc7、MarkItDown 和 Docling,并把每次运行的原始输出、SHA-256 摘要与评分规则一并提交供核验。这些数字来自项目自证的特定输入场景,并不构成对所有产品的普适排序,引用时应视为作者的测量材料而非第三方结论。需要说明的是,本文提到的 Stars、许可证、主要语言和版本数字,均取自在执行时刻查询的官方仓库数据,未作任何沿用或推断。
doc7 覆盖的范围很宽,按类别大致包括:
- 文档:PDF、DOCX/DOC、ODT、RTF 与常见衍生格式。
- 演示与表格:PPTX/PPT、XLSX/XLS 与各自模板格式、ODP、ODS。
- 电子书与邮件:EPUB、EML、MHTML/MHT、Outlook MSG。
- 笔记本与图片:Jupyter 笔记本,PNG、JPEG、WebP、多页 TIFF、SVG 及有序图片目录。
- 文本、数据与网页:Markdown、TXT、CSV、JSON、XML、YAML、HTML、URL 与压缩包。
它最大的价值在于"复用一个多模态模型"和"把文档留在你自己可控的基础设施里"。对已经有本地量化模型、希望消除按页计费文档解析账单的团队,或对文档隐私敏感、需要在内部网完成转换的用户,这类整页视觉理解的思路尤其适用。反过来,如果你刚接触大模型、不愿意维护本地推理或本地渲染依赖,那么它带来的部署成本会高于直接用云解析服务,安装前值得先评估这份权衡。
- GitHub 仓库:
magicrew/doc7 - Releases:当前最新版本 v0.1.1
- README:完整安装、配置与 CLI 说明
- 许可证:MIT
夜雨聆风