乐于分享
好东西不私藏

1.1K Star!一个把文档"看懂"而非"看清"的开源神器

1.1K Star!一个把文档"看懂"而非"看清"的开源神器

今天再推荐一个任意文档转 Markdown 的开源工具,GitHub 上已经收获了 1.1K Star。

它叫做:doc7

可以 把任何文档——PDF、Office、扫描件、截图、图表、公式、流程图——通过你自己的多模态模型,转换成 AI 可以直接检索、引用和推理的 Markdown

项目简介

doc7 是由 magicrew 团队开发的开源项目,使用 Go 语言编写。

项目核心团队在文档处理和 AI 视觉理解领域有深厚积累。

这个项目的核心理念一句话就能说清:Any document in. AI-ready Markdown out.

核心亮点

不靠 OCR 栈,靠视觉理解

传统文档处理工具的思路是"分而治之":OCR 识别文字、布局分析识别版面、表格模型识别表格、公式模型识别公式。

这种流水线式的架构有个致命问题——每个环节都会丢失信息,误差层层累积。

doc7 的做法完全不同。它把整页文档渲染成图像,然后交给你的多模态模型去"看"。

模型一次性理解页面上的所有元素:文字、表格、公式、图表、图示关系、甚至界面状态,然后直接重建为结构化的 Markdown。

不是"看清"每个字,而是"看懂"整页内容。

实测数据说话

项目团队在两份纯图片 PDF 上做了公开的 Benchmark,15 项可机器校验的视觉事实,doc7 恢复了全部 15 项。作为对比:

  • • MarkItDown 0.1.6 + OCR 插件:9/15
  • • Docling 2.113.0 标准模式:3/15
  • • MarkItDown 默认模式:0/15(直接输出空文件)

更关键的是,doc7 生成的 Markdown 只有 5,293 字节,而 Docling 输出了 2,571,445 字节——后者体积大了将近 500 倍,原因是嵌入了 Base64 页面图像。

不收费、不绑定、不锁死

doc7 有一个在文档处理领域非常罕见的设计哲学:

  • • 不卖文档额度:不按页、不按图片、不按转换次数收费
  • • 不绑定模型:你可以用任何兼容 OpenAI 接口的多模态模型,包括本地部署的、私有化的
  • • 不锁定服务:没有必需的 OCR 技术栈,没有必需的文档处理服务
  • • 文档留在本地:配合本地模型部署,文档内容完全不出你的基础设施

用项目的话来说:"当硬件已经存在时,新增一份文档的边际成本主要只剩电力和运行时间。"

一套流程,所有格式

doc7 用同一套视觉理解流程处理所有格式。PDF、Word、PPT、Excel、图片、扫描件——不同的文件格式进入同一个页面理解管线,最终产出统一的 Markdown。

这意味着你不需要为不同格式维护不同的处理工具,也不用担心某个格式突然出问题。

功能特性

  • • 多格式支持:支持几乎所有常见文档格式
  • • 内置 Agent:doc7 自带一个轻量 Agent,运行在你配置的本地模型上
  • • 断点续跑和选择性重跑
  • • 远程文档处理 + HTTP 服务
  • • 批量目录处理
  • • MCP 与 Go SDK

快速上手

第一步:安装 doc7

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/magicrew/doc7/main/scripts/install.sh | bash

Windows PowerShell:

irm https://raw.githubusercontent.com/magicrew/doc7/main/scripts/install.ps1 | iex

或者直接从 GitHub Releases 页面下载对应平台的压缩包,解压后使用。

第二步:准备视觉模型

你需要一个兼容 OpenAI 接口的多模态模型。有两种选择:

方式一:本地模型(推荐)

安装 LM Studio[1] 或 Ollama[2],加载一个支持视觉的模型(如 qwen3.5-9b、llama3.2-vision 等),启动本地服务。

LM Studio 默认地址:http://127.0.0.1:1234/v1

方式二:远程 API

使用任何兼容 OpenAI 接口的视觉模型服务,配置 API Key。

第三步:首次配置

doc7 首次运行会自动发现本地模型接口。如果使用远程接口:

# 查看可用模型
doc7 models --base-url http://localhost:8000/v1

# 保存配置

doc7 setup config \
  --base-url http://localhost:8000/v1 \
  --model <model-id>

如果需要 API Key:

doc7 setup config --api-key-stdin

第四步:检查环境

# 检查本地依赖和模型连通性
doc7 doctor --check-model

# 检查特定文件格式的依赖

doc7 doctor report.docx --check-model

第五步:开始转换

# 最简单的用法
doc7 report.pdf

# 指定输出目录

doc7 read report.pdf -o output-dir

# 处理截图

doc7 screenshot.png

# 批量处理目录

doc7 read ./documents -o ./knowledge

# 从 stdin 管道输入

cat
 report.pdf | doc7 read - --stdin-name report.pdf --stdout > report.md

写在最后

使用 doc7 处理后,表格结构完整,条款分段清晰,连页脚的法律声明都准确识别了。

如果你也面临着类似的痛点:手里有一堆格式混乱的文档想喂给 AI,不想花大把时间搭环境、调参数,不想被各种按页计费的服务收割——doc7 值得试试。

它不是完美的,但它走的这条路,代表了文档处理的一个重要方向:让 AI 像人一样"看懂"文档,而不是像机器一样"识别"文档。

GitHub:https://github.com/magicrew/doc7

引用链接

[1] LM Studio: https://lmstudio.ai/
[2] Ollama: https://ollama.com/

如果本文对您有帮助,也请帮忙点个 赞👍 + 在看 哈!❤️

在看你就赞赞我!