Dify挂载smb共享试验 可以,但 Dify 官方 Docker 部署默认不能直接把 /mnt/smb_doc 作为知识库数据源路径扫描 。Dify 知识库不是类似 Nextcloud 那种文件浏览器,它的文件导入机制是: 上传文件到 Dify → 存储到 storage 目录; 或通过插件/外部数据源读取; Worker 异步解析 → Embedding → 写入向量库。 如果希望使用你的 SMB 共享: \\192.168.0.83\本地知识库 ↓ Ubuntu挂载 ↓ /mnt/smb_doc ↓ Dify知识库读取 有几种方案。 方案1(推荐):把 SMB 挂载映射到 Dify 容器 你的宿主机: /mnt/smb_doc 已经正常: //192.168.0.83/本地知识库 9.8T 930G 8.9T /mnt/smb_doc 修改: /opt/dify/docker/docker-compose.yaml 找到: services: api: 增加: volumes: - /mnt/smb_doc:/mnt/smb_doc:ro 例如: api: image: langgenius/dify-api:1.15.0 volumes: - ./volumes/app/storage:/app/api/storage - /mnt/smb_doc:/mnt/smb_doc:ro 同时 worker 也必须挂载,因为真正解析文档的是 worker: 找到: worker: 增加: volumes: - /mnt/smb_doc:/mnt/smb_doc:ro 重启: docker compose down docker compose up -d 验证: docker exec -it docker-api-1 ls /mnt/smb_doc 应该看到: 合同 技术文档 PDF Word ... worker验证: docker exec -it docker-worker-1 ls /mnt/smb_doc 但是注意: 挂载进去 ≠ Dify知识库自动发现文件 Dify界面里面不会出现 /mnt/smb_doc 。 方案2(企业推荐):使用 Dify 外部知识库 API 如果你的 SMB 是公司资料库,我更推荐: SMB共享 | | 定时扫描 | Python脚本 | Dify Knowledge API | 向量数据库 | 员工问答 例如每天: find /mnt/smb_doc -name "*.pdf" 发现新文件: 调用: POST /datasets/{dataset_id}/document/create-by-file 自动导入。 优点: 不占 Dify 存储 SMB 保持原样 支持增量同步 适合几 TB 文件库 你的环境: 9.8T容量 930G数据 已经属于企业知识库规模,不建议全部手工上传。 方案3:直接把 SMB 映射成 Dify storage(不推荐) 例如: api: volumes: - /mnt/smb_doc:/app/api/storage 不要这样做。 原因: Dify storage里面有: storage/ ├── documents ├── avatars ├── datasets ├── plugin 还有内部元数据。 SMB文件混进去容易导致: 权限异常 索引混乱 升级失败 方案4:使用 Dify 插件数据源 Dify 1.15 已经有插件机制: 知识库 ↓ 数据源插件 ↓ 文件系统 可以开发一个: SMB Data Source Plugin 逻辑: mount /mnt/smb_doc 读取: pdf docx xlsx txt 返回: Document[] 这是长期最佳方案。 你的环境建议 你的服务器: Ubuntu 24.04 Dify 1.15.0 PostgreSQL pgvector SMB 9.8T 建议架构: SMB NAS | /mnt/smb_doc | 同步程序(Python) | Dify API | Knowledge Base | pgvector 不要让 Dify 直接管理 900G 文件。 现在可以先测试挂载 修改 compose 后: docker compose up -d 检查: docker exec docker-worker-1 ls /mnt/smb_doc 如果能看到文件,我可以继续给你提供: SMB自动同步到Dify知识库Python脚本 支持PDF/Word/Excel增量更新 定时systemd运行 自动创建Dify知识库并导入 这个方案比较适合你的公司内部资料库场景。