ARTICLE · 1166866
超越 AnyDoc!纯 Go 文档解析库 docling 完全开源,20 种格式统一解析,CAD、GLB 也能读给 AI
⬆️ 关注 联犀,最及时最干货的 AI + IoT 分享

docling 完全开源!纯 Go 实现、MIT 许可。 20 种输入格式统一解析,可直接嵌入 Go 服务;PDF、Office、CAD、GLB 都能接进来,输入范围包含 Docling JSON 专用回读。
AnyDoc 聚焦办公文档转 Markdown;我们把 CAD 拆图、GLB 属性提取也接了进来! 统一导出 Markdown、HTML、Docling JSON、content_list,并提供知识库分块接口,让图名、文字、模型属性和来源继续交给 AI 与知识库。
项目地址:https://github.com/unitedrhino/docling
表格里的数值,图表里也能读
先看一份 Excel。它有月度数据,也有折线图。只提取一段文字,当然不够:想让 AI 比较销量,得把数值交给它。

仓库构造样例:1 月 120、2 月 186、3 月 154;下方为 v1.5.0 实际解析出的图表数据。
docling 会读取 Office 原生图表的系列、类别和缓存数据;Excel 图表还可以结合引用的单元格区域取数。图表中的数据因此能组织成可检索的表格,继续比较、计算。
图表里的数值也能导出来,AI 接着比较、计算,就有了具体依据! 缺失单元格会保留空位;图片里的图表需要视觉识别,走的是另一条路径。
Word、PPT 也有原生图表处理。批注、脚注、修订记录、PPT 备注、Excel 原始公式,以及可转成 LaTeX 的 Word 原生公式,都有对应处理。仓库还放了微软 Open XML SDK 的真实测试文件,想看六个图表的 Word、三维饼图的 PPT,可以直接下载运行。
先拿一份文件跑起来
装好 docling CLI,先转一份资料,就能判断它适不适合自己的文件。开发者需要 Go 1.25 或以上,安装只需一行:
看 PDF 的结构,或者把 Excel 导出为 Markdown:
在终端看结果就能开始核对。想把解析嵌入 Go 服务,文末有完整 main.go;想在 WorkBuddy 里让 AI 调用,后面也有联犀 CLI 的一行安装命令。
PDF:文字之外,还要保留来源
再看 PDF。文字、线条、图片往往分开存放;一张表在底层可能只是坐标,双栏正文也未必按阅读顺序排列。
docling 会处理文字与坐标、字体映射、标题、表格和内嵌图片,也有多栏排序、跨页表格的处理路径。下面是仓库中一份 196 页公开论文的首页局部与解析节选:

上方为公开论文首页局部,下方为解析后的标题与作者信息节选;该图展示首页效果。
内容进入统一文档结构后,可以导出 Markdown,并保留页码、位置等来源信息。知识库查到一条要求,审阅的人能回到对应页面核对,才好决定该不该采用。
复杂版面、特殊字体和扫描页仍要检查解析结果。后面介绍的 OCR 和视觉模型入口,可以用于增强这类页面。
CAD 图纸,也能走这个入口
这次我们特别想把 CAD 带进来。 设备说明书能进知识库,工程图里的设计说明和材料文字,也值得有同样的入口。
从 docling v1.4.0 起,联犀的 go-cad 已集成进来,支持 DWG、DXF、DXFB。go-cad 读取 DWG R9~R2018 容器,处理 CAD 文本和中文编码,识别图框;docling 把每个识别到的图框组织成一页。

go-cad 的四图幅 DXF 构造示例:先看整张图的图幅排列。

其中一幅给水系统图,图框与标题栏一起保留。
拆开后,图名标题、渲染图片和框内文本一起留下。检索到设计说明时,能知道它属于哪幅图;把图纸和设备说明书放进同一套资料流程,也有了对应入口。
图纸里画成线条的字、嵌入图片里的说明需要另行识别。解析结果用于整理与核对资料,工程审核仍要结合原图。
源码地址:https://github.com/unitedrhino/go-cad
GLB:模型里的信息,也别落下
v1.5.0 又把 GLB 2.0 接了进来! 文件里已有的场景、节点、父子关系、网格名称、渲染材质名称和自定义属性,可以整理为正文与内容列表。
例如模型已经写了设备编号,就可以把编号和对应节点一起留下。每个对象保留索引来源,如 #/nodes/1;重名节点可以据此区分,大整数属性保留原始精度。

知识库开发版预览实测,使用 OrientationTest 标准模型;支持旋转、缩放和平移,相关代码已接入,待部署上线。
现在用 docling CLI,就能先把模型中的已有信息导出来:
模型里写了什么,打开输出就能核对。这些名称和属性,终于有机会和说明书一起被检索到。
这条路径读取结构与已有属性:docling 自身不渲染三维几何,预览由前端完成;不会凭外观推测尺寸、材料或设备清单。STEP、IFC 目前尚未接入。
在 WorkBuddy 里,让 AI 接着分析
联犀 CLI 已支持文档解析和 CAD,安装 Skills 后,可以在 WorkBuddy/CodeBuddy 中让 AI 调用。首次安装 CLI(Linux/macOS),一行命令:
已有 CLI 的用户先升级,再安装 Skills:
重启 WorkBuddy 会话,让它加载 Skills。把资料放进可访问的工作目录,可以这样给任务:
用联犀 CLI 读取工作目录里的说明书.pdf、设备清单.xlsx 和施工图.dwg。整理设备型号、数量与设计要求,注明对应文档、页码或图名;列出资料中写法不一致的地方,没有写明的信息单独列出。
可复制的请求示例,非 AI 实际执行记录。
工具读资料,AI 整理问题,人拿着来源核对。 工作可以从手头的一份说明书、一张施工图开始。自己先查看图纸结构和正文,也只需:
联犀 CLI 的 GLB 支持已合入主线,尚未发布新版二进制;试 GLB 请使用前面的 docling CLI 或 Go API。
知识库接着用
解析之后,docling 还提供层级分块、混合分块和知识库分块能力,可以按章节组织内容、限制块长度、拆分大表格。

处理流程示意:docling 解析与分块,知识库接着完成嵌入、索引与检索。
已有解析结果 doc 时,可以这样生成检索分块:
把文件名、章节、页码、图名或模型对象来源一起保存。问答结果里出现一句设计要求,就能带着来源回查;资料多了,也有办法追到原件。
纯 Go 的部署方式与当前边界
部署方式
对 Go 服务来说,docling 是普通模块,基础解析和内容组织在进程内完成,随应用一起构建、部署。让 Go 项目更容易把文档能力接进去,是我们坚持纯 Go 实现的理由。
支持范围
Word、PPT、Excel 支持 .docx、.pptx、.xlsx,旧二进制 .doc、.ppt、.xls 不在当前范围内。
SVG 可读取文本节点、标题与描述;纯图形的文字识别需要 OCR。
DoclingDocument JSON 通过 ParseDoclingDocument 回读,扩展名入口 ParseByExt 不解析任意 JSON。
输出用途
Markdown 便于 AI 阅读与人工核对;HTML 用于展示;Docling JSON 保存完整文档结构;content_list 便于筛选条目和入库。
CLI 的 outline 用于查看结构目录,分块 API 用于生成检索条目。
模型增强
文本型文档和 Office 原生结构优先规则解析。扫描件、图片表格、公式密集页等,可通过 OCRHook、PDFVisualHook 配置模型增强。
模型可用自部署服务或兼容接口,位置、费用和效果取决于配置;未配置 OCR 的扫描件不会自动产出文字。
项目说明
这里介绍的是联犀的 Go docling,文档模型参考 Docling Core 协议。它与 Python Docling 有不同的工程取舍,协议兼容不代表所有解析能力相同。
项目 README 保留了两项历史 PDF 基准,均为文本型文件的 Go 规则解析,未启用 OCR 或模型推理:
这些数据只对应原测试条件。换机器、换版式,需要重新测;复杂资料仍要检查内容、顺序和来源。
本篇使用 v1.5.0 运行了 PDF、Word、PPT、Excel、CAD 和 GLB 样例。仓库还保留了源文件、期望输出与结构测试,欢迎拿自己的资料对照检查。
嵌入 Go 服务,完整示例在这里
创建目录并安装模块:
下面的 main.go 按参数读文件,输出 Markdown、Docling JSON、内容列表,并统计检索分块:
运行时指定文件:
换成 .docx、.xlsx、.dwg 或 .glb,仍使用这份示例。先打开 document.md 检查内容,再查看 JSON 中的来源信息。
规约更新,找到该检查的位置!
企业资料要用起来,来源和引用就得连起来! 联犀知识库已接入 docling,CAD 图纸、GLB 模型也能入库。

能力示意:建立字段引用后定位文档与位置,由人员核对修订。
检索和 AI 整理的内容可以回查原文;公式、参数可建立到行业规约的字段引用。规约更新后,沿引用找到需要核对的文档与位置,再修订。来体验联犀知识库,让资料之间的联系用起来!

实景:AI 整理内容与原文来源一起保留。

实景:语义关联展示两侧原文与判断依据。
能把这套纯 Go 的文档能力开源出来,我们很开心,也期待大家拿真实文件来打磨它! 做 AI 应用、工程资料管理或知识库的朋友,拿手头那份最难整理的资料试一次。把具体问题和样本带到 GitHub Issue,我们一起把它读得更好。
觉得有用,欢迎给 docling 一个 Star,也把这条接入路径分享给正在处理资料的同事。
GitHub:https://github.com/unitedrhino/docling
⬆️ 关注 联犀,最及时最干货的 AI + IoT 分享
别再一笔笔画了!WorkBuddy 几分钟搞定配电室组态:CAD 一次图、2D 和 3D
推荐一个 AIoT 物联网平台:免费商用,还能做自己的 SaaS
纯 Go 的 CAD 解析库 go-cad,开源啦,dwg/dxf格式直接解析