Sign inSign up

jiasongji/chatui

By jiasongji

Updated 3 months ago

AI 聊天 Web 应用 — 文本对话、图片生成与编辑、文件上传

Image
Machine learning & AI
0

518

jiasongji/chatui repository overview

ChatUI

AI 聊天 Web 应用,基于 Next.js 16 构建,支持文本对话、图片生成与编辑、文件上传。

桌面端

功能特性

  • AI 对话 — 多模型文本对话,上下文记忆,Markdown 渲染 + 代码高亮
  • 图片生成 — 支持 AI 图片生成,5 种宽高比可选
  • 图片编辑 — 上传图片,用 AI 修改图片内容
  • 文件上传 — 对话中上传文件(代码、文档、图片,最多 5 个)
  • 管理后台 — 用户管理、API 配置、邀请码管理
  • 邀请码系统 — 批量生成邀请码,控制注册权限
  • 用户审批 — 新注册用户需管理员审批后方可使用
  • 加载体验 — 图片生成显示进度条和计时器
  • 浏览器通知 — 任务完成后浏览器推送通知
  • 暗色/亮色主题 — 一键切换,自动跟随系统偏好
  • 响应式设计 — 手机、平板、电脑完美适配
  • 代码块下载 — AI 回复中的代码块可一键下载为文件

快速部署

mkdir chatui && cd chatui
curl -O https://raw.githubusercontent.com/jiasongji/ChatUI/main/deploy/docker-compose.yml
curl -O https://raw.githubusercontent.com/jiasongji/ChatUI/main/deploy/.env.example
cp .env.example .env
# 编辑 .env:设置 SESSION_SECRET、ADMIN_EMAIL、ADMIN_PASSWORD、OPENAI_API_KEY
docker compose up -d

访问 http://localhost:3000 登录。

⚠️ 注意事项

Nginx 反向代理必须配置超时

图片生成通常需要 30-90 秒,复杂场景可达 5 分钟。如果使用 Nginx 反代,必须调大超时并关闭缓冲

location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_read_timeout 600s;    # 默认 60s,图片生成至少需要 300s
    proxy_send_timeout 600s;
    proxy_buffering off;        # 关闭缓冲,支持流式响应
}

图片生成总是 502?99% 是 proxy_read_timeout 太短,改为 600s 即可。

数据备份
tar czf backup-$(date +%F).tar.gz data/

环境变量

变量必填说明
SESSION_SECRETSession 加密密钥(openssl rand -hex 32
ADMIN_EMAIL管理员邮箱
ADMIN_PASSWORD管理员密码
OPENAI_API_KEYOpenAI 兼容 API 密钥
OPENAI_BASE_URLAPI 接口地址(默认 OpenAI 官方)

兼容所有 OpenAI 格式 API(OpenAI / Azure / Ollama / 自建代理)。

技术栈

Next.js 16 + SQLite(Prisma)+ Tailwind CSS + OpenAI API

链接

Tag summary

Content type

Image

Digest

sha256:30a53bda5

Size

242.1 MB

Last updated

3 months ago

docker pull jiasongji/chatui