让AI读懂Word和PPT:Open Terminal的Office文档预览与PDF转换实用指南
【免费下载链接】open-terminalA computer you can curl ⚡项目地址: https://gitcode.com/gh_mirrors/ope/open-terminal
Open Terminal是一款轻量级自托管终端工具,它能通过简单的 API 让 AI 助手直接运行命令、管理文件。它的两大隐藏实力是Office 文档预览和PDF 转换:AI 可以自动读取 Word、PPT、Excel 里的文字内容,还能把 DOCX/PPTX 一键渲染成 PDF 供你在浏览器里查看。对于想让 AI 处理办公文档的新手来说,这是一份零门槛的实用指南。
为什么 AI 需要"读懂"Office 文档?
日常工作中,大量信息藏在 Word 报告、PPT 演示和 Excel 表格里。但 AI 助手拿到一个.docx文件时,看到的往往是一堆无法解析的二进制字节。
Open Terminal 解决了这个问题,它提供两条路径:
| 路径 | 给谁用 | 效果 |
|---|---|---|
| 📖文本提取(read_file) | AI 助手 | 自动把文档内容转成纯文本,AI 即可提问、总结、改写 |
| 📄PDF 预览(files/view) | 人类用户 | DOCX/PPTX 在文件查看器中渲染为 PDF,所见即所得 |
两者都由内置的LibreOffice和一系列开源解析库驱动,无需你手动安装任何转换工具。
快速上手:两条命令跑起来
推荐使用 Docker 部署(自带沙箱 + 全套工具):
docker run -d --name open-terminal --restart unless-stopped -p 8000:8000 \ -v open-terminal:/home/user -e OPEN_TERMINAL_API_KEY=your-secret-key \ ghcr.io/open-webui/open-terminal启动后访问http://localhost:8000即可,交互式 API 文档在/docs页面。
⚠️重要提示:只有默认
latest镜像内置了 LibreOffice(用于 Word/Excel/PowerPoint 转 PDF)。slim、alpine、openshift镜像保持极简,不包含转换工具。相关说明见 README.md 的Office Previews章节,依赖安装逻辑在 Dockerfile 中定义(含libreoffice-nogui与 Office 兼容字体)。
不想用 Docker?也可以直接pip install open-terminal裸机运行,或一行命令体验:
uvx open-terminal run --host 0.0.0.0 --port 8000 --api-key your-secret-key功能一:让 AI 自动读取 Word、PPT 和 Excel
把文件放进 Open Terminal 的工作目录后,AI 助手只需调用标准的read_file接口,服务端会自动识别文件类型并提取文本,全程无需转换、无需额外参数。
支持的文档格式清单
所有提取逻辑集中在 open_terminal/utils/documents.py 中,通过EXTRACTORS注册表分发,目前已支持 11 种格式:
| 格式 | 提取效果 |
|---|---|
| 📝 Word (.docx) | 段落 + 表格按原文顺序输出,且能智能识别"修订模式":保留插入的文字、剔除已删除的行和单元格 |
| 📊 Excel (.xlsx / .xls) | 所有工作表转为制表符分隔的表格文本 |
| 📽️ PowerPoint (.pptx) | 逐页提取每张幻灯片的文本框内容 |
| 逐页提取文字(加密或纯扫描页会被明确报错,而非静默失败) | |
| 📚 其他 | RTF、ODT/ODS/ODP、EPUB 电子书、EML 邮件 |
以 PPT 为例,extract_pptx 函数 会把每一页标注为--- Slide 1 ---等分隔头,AI 能准确知道哪段话来自哪一页幻灯片。
实际场景
- 让 AI总结一份 30 页的 Word 报告核心观点
- 从Excel 预算表中找出超支最多的三个项目
- 检查PPT 每页的标题是否风格统一
- 对比两版合同 PDF 的文字差异(配合文件比较功能)
功能二:DOCX / PPTX 一键转 PDF 预览
除了喂给 AI,Open Terminal 还让你在浏览器里直接看Office 文档。
核心是GET /files/view预览端点(见 open_terminal/main.py):
客户端在请求中追加
preview=true参数服务端检测到
.docx/.pptx扩展名后,后台调用无头 LibreOffice 完成转换(实现见 _preview_pdf 函数):soffice --headless --convert-to pdf 你的文件.docx转换成功 → 返回标准 PDF 流,浏览器内嵌查看器直接打开
转换失败或环境没有 LibreOffice →自动回退返回原始文件字节,不会报错中断
整个转换在 60 秒超时保护下进行,产物写入临时目录、用完即删,不污染你的工作区。
快速体验步骤
- 启动 Open Terminal(Docker 默认镜像)
- 把
报告.docx上传到工作目录(可用文件管理接口或任意上传方式) - 请求
GET /files/view?path=/home/user/报告.docx&preview=true - 在响应中直接浏览渲染后的 PDF 效果 ✅
💡 这个端点专为 UI 预览设计,与面向 AI 的 read_file 互不干扰——AI 读文本、人看 PDF,各取所需。
常见问题与排错
Q1:为什么我的 Word 文件预览失败、返回了原始 docx?说明运行环境没有 LibreOffice。请确认使用的是默认latest镜像(内置libreoffice-nogui);bare-metal 或 slim/alpine 镜像需自行安装。此时 Open Terminal 会优雅回退返回原文件,属正常行为。
Q2:加密的 PDF 能读取吗?不能。出于安全考虑,加密 PDF 会直接报错提示"请提供未加密副本",而非尝试破解。扫描版(无文字层)PDF 同样会明确指出哪些页面需要 OCR。
Q3:read_file 对 Office 文件支持按行读取吗?支持。提取出的文本按标准 JSON 格式返回,start_line/end_line参数对 Word、PDF 等格式同样有效,方便 AI 分块阅读大文档。
Q4:Excel 里显示的是公式还是计算结果?是计算后的值(data_only=True模式),AI 拿到的是数字而不是=SUM(A1:A5)。
Q5:如何验证我的版本是否支持这些功能?访问http://localhost:8000/docs,查看/files/view是否带preview参数、read_file是否列出文档类 MIME 支持;也可参考 CHANGELOG.md 了解各版本能力演进。
总结:给 AI 一台"能办公"的电脑
Open Terminal 让 AI 助手从"只会写代码"升级为"能办公":
- ✅文本提取:11 种格式自动转文字,AI 直接理解 Word/PPT/Excel 内容
- ✅PDF 转换:DOCX/PPTX 一键渲染预览,无 LibreOffice 时优雅降级
- ✅开箱即用:默认 Docker 镜像内置全部依赖,两条命令跑起来
核心源码推荐延伸阅读:open_terminal/utils/documents.py(文档提取注册表)、open_terminal/main.py(PDF 预览转换)、README.md(官方 Office Previews 说明)。
【免费下载链接】open-terminalA computer you can curl ⚡项目地址: https://gitcode.com/gh_mirrors/ope/open-terminal
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考