Nextcloud Assistant + Ollama:您的云端AI 自托管
Nextcloud 现在有了自己的 AI 助手,可直接在界面中生成邮件摘要、改写和生成文本,以及围绕自己的文档进行对话。默认情况下,它会引导您使用云服务,但并不强制。本指南介绍如何将 Nextcloud Assistant 连接到自托管的 Ollama,让您的数据 100% 保留在自己的本地环境中:逐步配置 AppAPI 和 ExApp、接入兼容 OpenAI 的接口、选择推荐模型,以及根据家庭或中小企业的使用需求确定服务器规格。
#为何将 Nextcloud 与 Ollama 集成
Nextcloud Assistant 是集成在 Nextcloud 中的 AI 界面(顶部栏中的“魔法魔杖”图标):它汇集了文本摘要、改写、生成草稿、提取要点和翻译等任务。在 Nextcloud Hub 中,“上下文聊天”助手还允许您与模型对话,并在具备适当上下文时查询您自己的文件。
问题:默认或演示中提供的后端通常指向云端API(如OpenAI或Nextcloud托管服务)。对于自建云环境,这恰恰回到了我们试图避免的情况——将私有内容发送给第三方。将助手连接到Ollama,该模型运行在您自己的机器上并监听在http://localhost:11434,端口,可确保您的文档内容始终保留在本地基础设施中。
- 数据主权
- 任何文件、邮件或笔记的内容都不会离开您的服务器。这既有助于遵守 GDPR,也能让您更安心。
- 使用成本为零
- 不按 token 计费:一旦硬件成本收回,摘要生成和文本撰写就免费且不限量。
- 可选模型
- 您可自主选择模型(Qwen、Gemma、Granite)及其量化方式,根据您的VRAM进行配置,而非被迫使用预设模型。
- 离线运行
- 即使无法访问互联网,只要 Nextcloud 服务器和 Ollama 仍在运行,助手就仍然可用。
#工作原理:AppAPI 与 ExApp
在工作场所部署本地 AI:GDPR、AI 法案、多用户架构、成本、供管理层参考的说明材料。
- 在线空间,终身可用
- PDF + 文件
- 30 天内退款
Nextcloud 并不直接与 Ollama 通信,两者之间需要通过外部应用机制进行连接。理解这三部分组件能有效避免配置过程中的诸多试错。
- 助手
- 集成在Nextcloud中的前端应用,用于在用户界面中展示任务(摘要、改写、聊天)。
- AppAPI
- 这是用于管理外部应用(ExApps)生命周期的 Nextcloud 应用,负责安装、部署和通信。它是需要首先安装的基础组件。
- ExApp AI 后端
- 一种外部应用(容器),用于实现任务提供程序,并与推理引擎通信。本地运行最常用的是“integration_openai”(兼容所有 OpenAI 兼容端点,包括 Ollama)以及通过专用 ExApp 接入的“LocalAI”。
- 部署守护进程
- AppAPI驱动的服务(通常为Docker)用于启动和停止ExApps容器。若部署守护进程不可用,则无法部署任何ExApp。
请求的路径如下:您在助手界面点击「摘要」→ Nextcloud 将任务交由服务提供商处理 → ExApp(例如 integration_openai)将请求格式化为 OpenAI 格式 → 该请求发送至 Ollama 的端点 → 响应沿相同路径返回。关键在于将集成 ExApp 指向 Ollama 的 URL,且模式为 OpenAI 兼容。
#先决条件
- 较新版本的 Nextcloud Hub
- 支持 AppAPI 和 Assistant 的版本(Hub 6/7 或更新版本)。最好采用 Docker/AIO 部署,或使用您自行管理的服务器,以便安装 AppAPI 和 Deploy Daemon。
- Ollama 已安装并可访问
- 在同一台机器或网络中的另一台机器上。守护进程默认监听 http://localhost:11434。请使用“ollama --version”和“ollama ps”进行检查。
- Docker 用于部署守护进程
- AppAPI 通过 Docker 守护进程部署 ExApps。在 Nextcloud AIO 中已集成;在手动安装中则需要 Docker 访问权限(Socket 或 API)。
- 少量VRAM或RAM
- Q4量化情况:7B模型约需5 GB,14B模型约需9 GB。无GPU时,内存将接管,但速度较慢——对于偶尔的摘要任务而言是可以接受的。
- Nextcloud 管理员访问权限
- Assistant、AppAPI 和集成的设置均在“管理设置”中进行。
#1. 准备 Ollama 并选择一个模型
先从一个用途广泛、支持法语的指令模型开始。对于家庭使用或小型团队,采用 Q4_K_M 量化的 Qwen 3.5 9B 在质量与内存占用之间提供了最佳折中:它能很好地用法语进行摘要和改写,支持很大的上下文(256k tokens),并能装入约 6.6 GB 显存。Granite 4.2 8B(IBM,Apache 2.0)的资源需求更低,显存占用降至约 5.3 GB,适合配置较低的服务器。
关键点:Nextcloud 必须能够访问 Ollama。如果 Nextcloud 运行在 Docker 中,“localhost”指的是容器,而不是您的主机。请让 Ollama 监听所有网络接口,并将集成配置中的连接地址指向主机的 IP(或根据平台使用 host.docker.internal)。
#2. 安装 AppAPI 和一个 Deploy Daemon(部署守护进程)
在Nextcloud中,AI通过AppAPI实现。此步骤为后续部署AI任务型ExApps奠定了基础。
- 01安装AppAPI管理设置 → 应用程序 → “Tools”(或“Outils”)类别 → 搜索“AppAPI”并启用它。之后,管理设置中会出现它的专用设置项。
- 02配置 Deploy Daemon在管理设置 → AppAPI中,添加一个Docker类型的“Deploy Daemon”。在Nextcloud AIO中,该守护进程已预先配置;否则,请填写Docker套接字的访问信息(例如 /var/run/docker.sock),并运行内置连接测试。
- 03检查状态AppAPI显示守护进程状态(绿色表示就绪)。只要守护进程未变为绿色,ExApps将无法部署——在解决此问题前,无需进一步操作。
- 04安装 Assistant 应用仍在 Applications 页面中,如果尚未启用「Assistant」,请将其启用。界面中的魔法棒图标就是由它显示的。
#3. 接入 OpenAI/LocalAI 集成
“OpenAI and LocalAI integration”应用可以与任何遵循 OpenAI API 的端点通信。由于 Ollama 提供了 /v1 接口,只需为该应用填写正确的 URL 并选择模型即可。
- 01安装集成应用 → 搜索“OpenAI and LocalAI integration”并启用。该集成会注册任务提供者(文本生成、摘要等),供 Assistant 使用。
- 02输入Ollama的URL管理设置 → 「Connected accounts」(或集成设置部分)→ 「Service URL」字段:填写 Ollama 的 OpenAI 端点,例如 http://IP_DE_L_HOTE:11434/v1。将 API 密钥留空,或填写一个虚构值:Ollama 不会验证它。
- 03选择默认模型在相同页面中,选择用于文本生成的模型(例如 qwen3.5:9b)。如果模型未出现在列表中,请输入 ollama list 返回的精确名称。
- 04保存并测试确认。集成会调用端点以列出模型;此处出现错误几乎总是由 URL 或网络问题引起(参见故障排除)。
#4. 围绕自己的文件进行总结、撰写和对话
一旦服务提供商连接成功,助手的魔法棒便会激活。以下是实际应用场景,从简单到复杂。
- 文本摘要
- 打开助手(魔法杖图标),粘贴或选择一段文本,选择任务「Résumé」。非常适合处理 Nextcloud Mail 中的长邮件或冗长的笔记。
- 重新表述 / 修正
- 重写段落,使语气更正式,修正文风,缩短篇幅。在 Nextcloud Text 和 Deck 卡片中很实用。
- 生成草稿
- 根据指令(如‘撰写周五会议邀请函’),助手生成初稿以供修改。
- 提取关键要点
- 将记录或报告整理成行动项或决策清单。
- 带上下文的聊天
- 助理的聊天选项卡允许您与 Ollama 模型自由对话,便于在不离开 Nextcloud 的情况下进行头脑风暴。
要实现严格意义上的“与文件对话”(提出答案就在您的文档中的问题),必须向模型提供上下文。有两种方法:对于临时需要处理的文档,将文件内容粘贴到聊天中;或者部署一个“Context Chat”类型的 ExApp,它会为您的文件建立索引,并通过语义搜索向模型提供内容,相当于集成在 Nextcloud 中的 RAG。第一种方法可以立即使用;第二种需要额外的 ExApp 和更多资源。
#确定服务器所需的配置
合适的硬件取决于同时使用的用户数量和使用目标(偶尔生成摘要,还是持续运行 RAG)。以下是一些切合实际的参考。
- 家庭使用(1–5 人)
- 采用 Q4_K_M 量化的 7–8B 模型。RTX 3060 12 GB 这类入门级 GPU,或配备统一内存的 Apple Silicon Mac,足以轻松应对摘要和写作任务。没有 GPU 也能在 CPU 上运行,每次请求耗时几秒到几十秒。
- 小型企业(5–20人)
- 7至14B参数模型。RTX 4070/4080 16GB显存可应对峰值负载;14B模型在Q4量化下约占用9GB。建议为Nextcloud堆栈的其余部分配备充足的系统内存。
- 高强度使用 / Context Chat
- 还需计入嵌入计算和向量存储带来的负载。建议选择配备 24 GB 显存的 RTX 4090,或配备 24–48 GB 统一内存的 Mac M4 Pro,并通过「ollama ps」监控,检查模型是否仍在 GPU 上运行。
- 仅CPU运行
- 对于要求不高的家庭用户,这是可行的:优先选择 3B–7B 模型,并接受一定的延迟。超出这一范围后,要获得流畅体验,很快就会需要 GPU。
#故障排除
- “Connection refused” / 未列出任何模型
- Nextcloud无法连接到Ollama。最常见的情况是URL指向localhost,而Nextcloud运行在Docker中。请在Nextcloud容器内用curl测试该URL,并使用host.docker.internal或宿主机的IP地址。
- Deploy Daemon 的状态仍显示为红色
- AppAPI 无法访问 Docker。请检查套接字 /var/run/docker.sock 的挂载情况和权限;在 AIO 环境中,请重启主容器。如果守护进程的状态未变为绿色,就无法部署任何 ExApp。
- 助手不显示任何任务
- 尚未注册任何提供商。请检查“OpenAI and LocalAI integration”(或 ExApp 后端)是否已启用并正确配置,然后刷新页面。
- 请求的模型未找到
- 名称与'ollama list'不匹配。请输入精确标签(例如 qwen3.5:9b),并确认其已正确拉取('ollama pull')
- 响应非常缓慢
- 由于显存(VRAM)不足,模型在 CPU 上运行。请用“ollama ps”检查模型是在 GPU 还是 CPU 上运行,并换用更小一档的模型或位数更低一档的量化版本。
- 英文回答
- 部分模型默认以英文响应。请选择一个可靠的法语模型(Qwen、Mistral),或在集成的系统提示中添加‘请用法语回答’的指令。
#深入了解
这套配置复用了本站已介绍的组件。以下指南是本篇指南的延伸:
- 安装 Ollama:Windows、macOS 和 Linux
- 如果您从零开始,这份基础安装指南可帮助您先安装 Ollama,再将 Nextcloud 连接到它。
- 选择量化方案(Q4、Q5、Q8、FP16)
- 在模型大小与 Nextcloud 服务器可用 VRAM 之间进行权衡。
- 在内部网上为团队部署 AI 聊天机器人
- 用于围绕您的云平台进一步搭建规模更大的多用户 Ollama 技术栈。
有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。