Skip to main content

LangChat OnlyOffice 集成说明

使用步骤

1. 启动 OnlyOffice 服务

cd docs/docker/onlyoffice
docker compose up -d
首次启动需要 1-2 分钟初始化,等待健康检查通过:
curl http://localhost:8200/healthcheck
# 返回 true 表示就绪

2. 配置后端服务地址

langchat-bootstrap/src/main/resources/application-dev.yml 中配置:
langchat:
  onlyoffice:
    # Document Server 服务地址(用于健康检查)
    url: http://127.0.0.1:8200
    # Example 编辑器基础地址(包含前缀路径)
    # 需先在 Docker 中启动 Example 服务(docker-compose.yml 已通过 EXAMPLE_ENABLED=true 自动启动)
    # 用户可自定义前缀路径,如 /example、/example1 等
    editor-url: http://127.0.0.1:8200/example

3. 访问功能

  • 菜单进入 OnlyOffice 管理页,选择文档类型即可新建文档
  • 在知识库文档列表中,点击 OnlyOffice 图标按钮可预览源文件

OnlyOffice 版本说明

OnlyOffice Document Server 分为 社区版(Community Edition)企业版(Enterprise/Developer Edition),核心区别如下:
能力社区版(免费)企业版(付费)
文档查看/预览支持支持
新建文档编辑支持(通过 Example 服务)支持
外部 URL 文档在线编辑不支持(仅预览)支持
多人协同编辑最多 20 人无限制
移动端编辑不支持支持
品牌自定义不支持支持
商业技术支持

AGPL v3 协议须知

OnlyOffice 社区版采用 AGPL v3 开源协议,使用前请注意:
  • LangChat 不包含、不修改、不分发 OnlyOffice 的任何源码或二进制文件,仅提供 Docker Compose 部署脚本和 iframe 集成方案
  • 镜像由使用方自行从 Docker Hub 拉取,AGPL v3 的合规义务由实际部署和运行该软件的主体承担
  • 如果您修改了 OnlyOffice 源码,根据 AGPL v3 协议,您必须向通过网络访问该服务的用户提供修改后的完整源码
  • 如需在商业产品中深度集成且不公开源码,请考虑购买 OnlyOffice 商业许可

LangChat 集成设计

LangChat 中 OnlyOffice 编辑器页面(editor.vue)根据参数自动选择两种模式:

模式一:新建文档(在线编辑)

  • 触发方式:管理页点击 Word / Excel / PPT 卡片
  • 路由参数/onlyoffice/editor?type=word|cell|slide
  • 实现方式:iframe 加载 OnlyOffice Example 编辑器({editor-url}/editor?fileName=new.docx&lang=zh
  • 能力:完整的在线编辑能力,文档保存在 OnlyOffice Example 服务的存储中

模式二:URL 文档预览(只读)

  • 触发方式:知识库文档列表点击 OnlyOffice 预览按钮,在新标签页打开
  • 路由参数/onlyoffice/editor?url=https://xxx/file.docx
  • 实现方式:通过 DocEditor JS API 创建编辑器实例,传入 document.url
  • 能力:只读预览,支持下载和打印。社区版不支持对外部 URL 文档进行在线编辑,这是开源版本的限制
注意:URL 预览模式要求 OnlyOffice 服务端能够访问到文档 URL。如果文档存储在内网,需确保 OnlyOffice Docker 容器与文档存储服务网络互通。

文件类型支持

扩展名文档类型说明
.docx .docWord文字文档
.xlsx .xls .csvExcel电子表格
.pptx .pptPPT演示文稿
.pdfPDF以 Word 模式预览