15分钟在VPS上部署你自己的AI对话界面

不知道兄弟姊妹们有没有想过拥有一个自己的AI对话界面?

不是官方那种限制一堆的网页版,是你自己的------界面由你选,模型仁你换,想给谁用就给谁用,用多少Token你自己心里有数。

听起来好像很复杂?Docker一条命令的事。


先说清楚,为什么不在本地跑

很多人第一反应是:我电脑上装一个不就行了?

能跑,但问题一堆:电脑关了就没了、别人访问不了、换设备得重装、API Key明文存在本地配置里不安全。而且本地跑Docker对系统资源有要求,老电脑带不动。

我们直接放到VPS上,24小时在线,任何设备打开浏览器就能用,域名一挂还带HTTPS。我们之前已经学会了Nginx部署网站,这篇就是同样的套路,只不过网站换成了AI对话界面。

选哪个?LobeChat 还是 ChatGPT-Next-Web

其实市面上能自部署的AI对话前端不少,我推荐两个:

LobeChat ------ 界面好看,插件生态丰富,支持多模型切换,还能做语音对话。如果你想要一个"什么都能干"的全能选手,选它。

ChatGPT-Next-Web(NextChat) ------ 轻量,快,界面接近官方ChatGPT。如果你只想要一个简单干净的对话界面,它部署更快,资源占用更少。

这篇用LobeChat做演示,但流程对NextChat几乎一样------都是Docker一条命令的事。

第一步:装Docker

如果你的VPS还没装Docker,先装上。一行命令:

bash 复制代码
curl -fsSL https://get.docker.com | bash

装完验证一下:

bash 复制代码
docker --version
docker compose version

能打出版本号就行了。如果你跟了第5篇的安全加固,记得开放后面要用到的端口:

bash 复制代码
ufw allow 3210/tcp

第二步:一条命令拉起LobeChat

LobeChat官方提供了Docker镜像,部署就是一条命令:

bash 复制代码
docker run -d \
  --name lobechat \
  --restart always \
  -p 3210:3210 \
  -e ACCESS_CODE=你的访问密码 \
  -e OPENAI_API_KEY=sk-你的API密钥 \
  -e OPENAI_PROXY_URL=https://api.openai.com/v1 \
  lobehub/lobe-chat

几个参数解释一下:

  • -p 3210:3210:把容器的3210端口映射到VPS的3210端口
  • ACCESS_CODE:访问密码,防止别人白嫖你的API额度,自己设一个
  • OPENAI_API_KEY:你的OpenAI API Key,没有的话先留空,进去界面再配也行
  • OPENAI_PROXY_URL:如果你用的不是官方API(比如中转站),填中转地址

跑完等几秒,容器就起来了。这时候你用 http://你的VPS_IP:3210 已经能访问了。

但IP加端口太难看了。下一步把它挂到域名上。

第三步:Nginx反代 + HTTPS

之前文章已经做过Nginx反代了,这里快速过一遍就行。

创建Nginx配置文件:

bash 复制代码
nano /etc/nginx/conf.d/ai.conf

写入:

nginx 复制代码
server {
    listen 80;
    server_name ai.你的域名.com;

    location / {
        proxy_pass http://127.0.0.1:3210;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        
        # WebSocket支持,LobeChat部分功能需要
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        
        # 关闭缓冲,让流式输出逐字返回(不关的话回复会一坨一坨出来)
        proxy_buffering off;
        proxy_cache off;
    }
}

注意最后那几行------proxy_buffering off 是关键。AI对话的流式输出用的是 SSE(Server-Sent Events),Nginx 默认会把响应攒够一批再发,不关缓冲的话你会发现 AI 回复是一坨一坨出来的,不是逐字蹦的。

测试并重载Nginx:

bash 复制代码
nginx -t && nginx -s reload

然后上SSL,certbot一条命令:

bash 复制代码
certbot --nginx -d ai.你的域名.com

现在访问 https://ai.你的域名.com,你应该看到LobeChat的界面了。

第四步:配置模型

如果你刚才启动容器时没填API Key,现在在界面里配也行。

点左下角设置 → 语言模型 → OpenAI:

  • API Key:填你的Key
  • 代理地址:如果用中转站就填中转地址,官方直连留空
  • 模型列表:默认会拉取你的可用模型

不止OpenAI。LobeChat支持Claude、Gemini、通义千问、智谱GLM、月之暗面......基本上你能叫出名字的大模型都支持。每个模型填对应的API Key就行。

如果你有多个模型的Key,可以全配上,在对话界面里随时切换。这是自部署最大的好处------不被任何一家绑死。

不想用OpenAI?国产模型也能接

很多人卡在"没有OpenAI的API Key"这一步。其实完全不用OpenAI也可以,我们可以自己选择国内大模型。

国产模型API现在又便宜又好用:

  • 通义千问:阿里云百炼平台申请,有免费额度
  • 智谱GLM:开放平台注册即送Token
  • 月之暗面(Kimi):长文本能力强,API价格低
  • DeepSeek:性价比之王,百万Token才几块钱

在LobeChat里选对应的模型供应商,填上Key就能用。整个流程和接OpenAI一模一样。

安全:别让你的API额度被白嫖

这一步很多人跳过,然后某天发现API账单炸了。

你已经设了 ACCESS_CODE,但还可以加一层保险。在Nginx配置里加IP白名单:

nginx 复制代码
server {
    listen 443 ssl;
    server_name ai.你的域名.com;
    
    # ssl证书配置...

    # 只允许你的IP访问
    allow 你的IP;
    allow 你朋友的IP;
    deny all;

    location / {
        proxy_pass http://127.0.0.1:3210;
        # ... 其他proxy配置
    }
}

如果你需要到处用(IP不固定),那就靠 ACCESS_CODE 密码保护。但密码设复杂点,别用123456。

想换NextChat?

如果你觉得LobeChat太重了,想用更轻的NextChat,把Docker命令换一下就行:

bash 复制代码
docker run -d \
  --name nextchat \
  --restart always \
  -p 3000:3000 \
  -e OPENAI_API_KEY=sk-你的API密钥 \
  -e CODE=你的访问密码 \
  yidadaa/chatgpt-next-web

Nginx反代端口从3210改成3000,其他都一样。

docker compose版本(推荐)

上面的 docker run 命令每次要敲一长串,不好管理。推荐用docker compose:

yaml 复制代码
# docker-compose.yml
services:
  lobechat:
    image: lobehub/lobe-chat
    container_name: lobechat
    restart: always
    ports:
      - "3210:3210"
    environment:
      - ACCESS_CODE=你的访问密码
      - OPENAI_API_KEY=sk-你的API密钥
      - OPENAI_PROXY_URL=https://api.openai.com/v1

启动:

bash 复制代码
docker compose up -d

更新镜像:

bash 复制代码
docker compose pull && docker compose up -d

以后改配置只改这个yml文件就行,不用记一长串命令。

最终效果

打开浏览器,访问 https://ai.你的域名.com,输入访问密码,选个模型,开始对话。

手机、平板、电脑,任何设备打开浏览器都能用。界面是自己的,模型随便换,API用量自己心里有数。朋友想用?给他密码就行。想限制用量?下一篇我们搭API中转站,精确控制每个Key的额度。

这就是自部署的爽感------你拥有的不是一个网页,是一整套你能控制的AI基础设施。

相关推荐
xingyuzhisuan1 小时前
星宇智算 AI 视频工作台・图生视频(首尾帧)・Vidu:双模型可控动态过渡生成应用
人工智能·计算机视觉·音视频
HAYDENR1 小时前
数据挖掘如何实施?数据挖掘实施过程有哪些注意事项?
人工智能·数据挖掘
IanSkunk1 小时前
企业AI Agent生产化落地:从技术架构到实施服务的全链路分析
java·人工智能·架构
lifallen2 小时前
Emdash 拆解:多 Agent 并行开发桌面端的实现思路,兼谈 ACP 与 A2A
人工智能·学习·ai·ai编程
BBsays2 小时前
AI 数字人合规安全完全手册(2026年8月最新版)
人工智能
AI服务老曹2 小时前
NVIDIA GPU部署AI视频分析常见问题和排查清单
人工智能·音视频
深圳市快瞳科技有限公司2 小时前
个体识别、行为解读、健康管理:多模态宠物AI大模型的场景化落地
人工智能·算法·计算机视觉·大模型·多模态·宠物·宠物ai识别
安逸sgr2 小时前
AI 编程工具在真实项目中适合做什么?不适合做什么?
人工智能·ai·大模型·agent·智能体
stevenzqzq2 小时前
opencode设置项
人工智能