19 10 月 2026
你已经有了 Ollama 跑的本地模型(见Ollama 部署实战),还差一个像样的对话界面。LobeChat 是自托管领域的答案:界面现代、多模型聚合、助手可分享、还能白嫖各家 API。这篇讲完整部署。

一、LobeChat 是什么,凭什么选它

LobeChat(原 ChatGPT Next Web 的全面进化版)是一个开源的 AI 对话前端。选它的四个理由:

  1. 多模型一个界面:本地 Ollama、OpenAI、Claude、Gemini、国产各家 API,全部接进来随便切换
  2. 助手市场:把调好的提示词存成"助手"(写代码的、查日志的、润色文案的),团队共享
  3. 视觉能力:支持图片上传、TTS 语音朗读、文生图插件
  4. 一键部署:Docker 一条命令,自带用户体系和数据库

和 Ollama 自带界面的区别:Ollama 只有命令行和裸 API;LobeChat 给你一个完整产品体验——会话管理、模型切换、提示词模板、移动端适配。两者是"引擎"和"整车"的关系。

二、部署:Docker 十分钟上线

docker run -d --name lobe-chat \
  --restart unless-stopped \
  -v /data/lobechat/data:/app/data \
  -p 127.0.0.1:3210:3210 \
  -e OLLAMA_PROXY_URL=http://host.docker.internal:11434 \
  lobehub/lobe-chat

注意两个细节:

  • --add-host:如果 Ollama 跑在宿主机,容器里要用 host.docker.internal 访问,先加:

    --add-host=host.docker.internal:host-gateway
  • -p 127.0.0.1:3210:只听本地,对外走反代(第五节)

访问 http://服务器IP:3210 就能用。想直接绑到域名+HTTPS 对外,反代配置见第五节。

接本地 Ollama

启动参数加 OLLAMA_PROXY_URL 后,界面设置里:

  1. 左下角头像 → 设置 → 语言模型 → Ollama
  2. 填地址 http://host.docker.internal:11434,点"获取模型列表"
  3. 列出 qwen2.5:7b-instruct-q4_K_M 等模型 = 连通

接外部 API(可选)

在设置 → 语言模型里填各家 API Key 即可。这一步是把双刃剑:

  • 好处:本地模型答不了的难题切 GPT/Claude; embedding、语音等本地没有的能力补全
  • 代价:API Key 暴露给所有能访问你 LobeChat 的人,他们能花你的钱

所以接外部 API 时,务必开启访问控制(第五节),并且只给可信的人用。想聚合 API 又不想暴露 Key 的进阶玩法是自建 One API 网关,本文不展开。

三、核心功能上手

1. 助手(Assistants)

把常用提示词固化成助手,是效率的核心。点左侧"发现"→"新建助手":

字段示例
角色设定「你是资深运维工程师,回答必须给可直接执行的命令,不废话」
模型qwen2.5:7b-instruct-q4_K_M
预设问题「帮我看看这段 Nginx 配置有什么问题」

建三五个常用助手(代码审查/日志分析/文案润色/翻译),团队人手一个,比每次手打提示词高效十倍。

2. 会话管理

  • 会话支持置顶、归档、搜索;支持分支对话(同一个问题试不同问法,互不干扰)
  • 本地模型 + 本地数据库,对话记录全在你自己服务器上——这是相比 ChatGPT 网页版的根本优势:隐私

3. 知识库挂载(配合 RAG)

LobeChat 支持挂载知识库文件做问答,但轻量场景更推荐接专业 RAG:用 AnythingLLM 管知识库,LobeChat 只管对话体验,各司其职。

4. 语音与视觉

  • TTS:开启后回答可朗读,接本地或 OpenAI TTS
  • 图片上传:接支持视觉的模型(如 llava、GPT-4o),本地模型里 llava:7b 就能看图聊天,4 核 8G 带得动

四、数据与备份

LobeChat 的数据(用户、会话、助手)默认在容器内 /app/data,上面已经挂到 /data/lobechat/data。备份就是拷贝这个目录:

# 停服务保数据一致(可选,SQLite 直接 cp 一般也没事)
docker stop lobe-chat
tar -czf lobe-chat-$(date +%F).tar.gz /data/lobechat/data
docker start lobe-chat

备份策略和周期见数据备份体系完全手册,快照方案见云服务器快照实战。

五、对外服务:反代 + HTTPS + 访问控制

server {
    listen 443 ssl;
    server_name chat.yourdomain.com;

    ssl_certificate     /etc/nginx/ssl/chat.yourdomain.com.pem;
    ssl_certificate_key /etc/nginx/ssl/chat.yourdomain.com.key;

    # 流式输出必须关 buffering
    proxy_buffering off;
    proxy_read_timeout 300s;

    location / {
        proxy_pass http://127.0.0.1:3210;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;

        # WebSocket(界面实时推送)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

访问控制三件套:

  1. 改默认注册:第一个注册的用户是管理员,注册后立刻关闭公开注册(设置里有关闭开关),否则你的服务等于公共聊天站
  2. Basic Auth 兜底:Nginx 再加一层,双保险
  3. 限流:按 IP 限请求频率,防脚本刷token,配置见Nginx 限流与 WAF

证书自动续期见SSL 证书完全指南,反代细节见Nginx 反向代理实战。NAT 型服务器确认 443 映射支持(见小程序服务器选购里的端口说明)。

六、移动端:PWA 当 App 用

LobeChat 支持 PWA——手机浏览器打开你的域名 →"添加到主屏幕",就得到一个接近原生 App 的图标,全屏无地址栏,推送都支持。自托管服务配个域名,全家人的手机都能用上私有 AI 助手。

七、常见问题排查

症状原因解决
获取模型列表为空Ollama 地址填错容器内用 host.docker.internal:11434,不用 127.0.0.1
回答半天不出一字模型在 CPU 上跑 + 长上下文正常现象;调小 num_ctx;换小模型
对话记录丢失没挂数据卷,容器重建即丢检查 -v /data/lobechat/data
手机端样式错乱浏览器缓存旧版本强刷;清 Service Worker 缓存
接外部 API 报 401Key 填错/欠费设置里重新填,先用 curl 验证 Key
磁盘一直涨上传的图片/语音累积定期清理 /data/lobechat/data 的 uploads

排查方法论见服务器故障排查完全手册。


结语

Ollama + LobeChat 是自托管 AI 对话的黄金组合:一个管模型,一个管体验。一台 4核8G 的服务器,就够你拥有一个多模型聚合、对话私有、全家可用的 AI 平台——没有订阅费,没有内容审查,没有对话记录上传。

需要搭私有 AI 平台的服务器,可以看看财富云计算:NAT 型云服务器内存档位全(4G 到 32G+)、支持热升级,SSD 系统盘 + 快照,价格比独立 IP 机型省一半以上——私有对话这种"吃内存不吃公网 IP"的场景,NAT 型刚好对症。

延伸阅读
  1. Homepage 个人仪表盘:把散落各处的服务收进一个首页
  2. SSL 证书完全指南:免费证书、自动续期与不过期监控
  3. 数据备份体系完全手册:从随手拷到 3-2-1,让数据永远丢不了
  4. 压测与容量规划:上线前就知道你的服务器能扛多少人
  5. AdGuard Home 内网 DNS:全家去广告、防劫持、内网解析一站解决
  6. Hugo 静态博客搭建:秒开的博客,部署只要一个目录
  7. 安全应急响应完全手册:服务器被入侵后,按这个流程走
  8. 游戏服运营完全手册:从开服到停服,把一台服务器运营成百年老店
更多阅读
  1. 上一篇:AI 应用的安全与成本控制:无鉴权 API、白嫖攻击与费用熔断
  2. 下一篇:云服务器成本优化完全手册:从选型到续费,把钱花在刀刃上
发表评论 1

取消回复