项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1869
使用教程
环境要求
- Node 与 PNPM(本地源码运行/打包时需要)
- Docker(使用镜像方式部署)
- OpenAI API Key(OPENAI_API_KEY 必填)
- MongoDB(登录、同步历史会话等功能需要 MONGODB_URL)
安装与启动步骤
-
1克隆项目代码
先从 GitHub 拉取 chatgpt-web 源码,之后的 Docker 构建和本地运行都在该目录中进行。
git clone https://github.com/chatgpt-web-dev/chatgpt-web.git -
2构建 Docker 镜像
进入项目目录,用 Git 提交哈希和当前分支名作为构建参数,生成 chatgpt-web 镜像。
GIT_COMMIT_HASH=`git rev-parse HEAD` RELEASE_VERSION=`git branch --show-current` docker build --build-arg GIT_COMMIT_HASH=${GIT_COMMIT_HASH} --build-arg RELEASE_VERSION=${RELEASE_VERSION} -t chatgpt-web . -
3前台运行容器
映射 3002 端口并注入 OPENAI_API_KEY、MONGODB_URL,前台运行便于查看启动日志。
docker run --name chatgpt-web --rm -it -p 3002:3002 --env OPENAI_API_KEY=your_api_key --env MONGODB_URL=your_mongodb_url chatgpt-web -
4后台运行容器
加 -d 后台常驻,端口仅绑定本机 127.0.0.1:3002,更适合长期运行。
docker run --name chatgpt-web -d -p 127.0.0.1:3002:3002 --env OPENAI_API_KEY=your_api_key --env MONGODB_URL=your_mongodb_url chatgpt-web -
5Compose 编排部署
按 README 示例写好 docker-compose.yml(app 用 chatgptweb/chatgpt-web 镜像,另起 mongo 服务),再启动。
docker compose up -d -
6本地源码运行
不用容器时先 pnpm install 安装依赖,再执行 pnpm prod 运行;不打包可直接 pnpm start。
pnpm install pnpm prod
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 是 | OpenAI 接口密钥,必填项 | your_api_key |
OPENAI_API_BASE_URL | 否 | 接口地址,默认 https://api.openai.com | https://api.openai.com |
OPENAI_API_MODEL | 否 | 指定使用的模型 | gpt-3.5-turbo |
AUTH_SECRET_KEY | 否 | 访问密码/JWT 加密参数,不为空则允许登录,需同时设置 MONGODB_URL | xxx |
MONGODB_URL | 否 | MongoDB 连接字符串,登录、同步会话等功能依赖它 | mongodb://chatgpt:xxxx@database:27017 |
TIMEOUT_MS | 否 | 请求超时时间,单位毫秒 | 60000 |
如何确认成功
浏览器访问 http://localhost:3002/ ,能正常打开 ChatGPT Web 页面即表示启动成功。
常见问题
Q:一定要部署 MongoDB 吗?
A:Docker 运行示例中给出了 MONGODB_URL 参数,登录、注册、同步历史会话、用户管理等功能依赖数据库;不使用这些功能时可参考 README 中相应说明。
Q:怎么开启登录和访问密码?
A:设置 AUTH_SECRET_KEY(不为空则允许登录),同时必须设置 MONGODB_URL;注册相关还需配置 PASSWORD_MD5_SALT、ROOT_USER。
Q:如何限制请求频率?
A:在 compose 环境变量中设置 MAX_REQUEST_PER_HOUR,默认 0 表示不限次数,可按需要改成具体数值。
Q:SSO(LDAP/OIDC/SAML)怎么接入?
A:通过 auth proxy 功能实现,需要配合第三方身份验证反向代理,从而支持 LDAP/OIDC/SAML 等协议登录。
Q:Web Search 网络搜索怎么用?
A:以管理员登录后进入系统设置,找到 Web Search 配置,开启功能并填入 Tavily API Key,可设置最大搜索结果数(1-20,默认10)。
注意事项
- OPENAI_API_KEY 为必填项,缺失会导致服务不可用。
- 此项目 Fork 自 Chanzhaoyu/chatgpt-web,仅发布于 GitHub,基于 MIT 协议免费开源,谨防各类卖号与付费服务骗局。
- 使用 Railway 部署时,修改环境变量会触发重新 Deploy。
- 注册功能需先开启(REGISTER_ENABLED),注册出管理员后可在管理员页面继续配置,也可后续关闭注册。
核心亮点
- 内置 OIDC/SAML/LDAP 企业级 SSO 认证,适合团队内部安全接入
- 基于 Vue3 + Naive UI,界面现代美观,交互流畅
- 支持云端同步对话记录,多设备使用无缝衔接
不足之处
- 依赖 OpenAI 官方 API,需自备 API Key,且可能受网络限制
- 功能相对基础,缺少插件、工具调用等高级特性
- 文档/社区待观察
适用场景
- 企业内部搭建带统一身份认证的 ChatGPT 问答平台
- 个人开发者快速部署自用 ChatGPT Web 界面
- 团队协作场景下共享对话记录与知识沉淀
替代项目
ChatGPT-Next-Web、Lobe Chat、Open WebUI
同类项目推荐
minimal-llm-ui
开源
给本地 Ollama 模型配一个干净好用的聊天窗口,离线也能聊
Minimalistic UI for Ollama LMs - This powerful react interface for LLMs drastically ···
TwoAI
开源
让两个本地 AI 自动聊起来,探索多智能体对话
A simple experiment on letting two local LLM have a conversation about anything!
RealtimeVoiceChat
开源
像打电话一样和 AI 实时语音聊天
Have a natural, spoken conversation with AI!
generative-ai-docs
开源
谷歌官方Gemini API示例库,快速上手生成式AI开发
This repository is deprecated and will be archived
ryza-ai-revive
开源
自填大模型和语音,让莱莎在桌面陪你聊天
Ryza AI companion. Bring your own LLM/TTS. 莱莎 AI 陪伴,自填大模型与语音。
InternalBeyond
开源
离线单文件,把 AI 情感陪伴装进个人网站
【Project-IB】边界之外:离线运行的单文件个人网站式项目,旨于维系情感的连续性。A sing···
bookmarklets
开源
一键将 AI 对话保存为 PDF/文本,告别复制粘贴。
Bookmarklet to export the content from chatbots to a PDF or text with a single click···
reddit-karma-farming-bot
开源
自动发帖评论,躺着赚Reddit Karma
"Is karma really that important to you? Damn bro, you need a life" - YouTube Comment
onebots
开源
一个面板管理多个 QQ 机器人,轻松搞定多账号运维
多平台多协议机器人应用中台网关
