chatGPT-web
chatGPT-web 是一款支持私有化部署的 ChatGPT 网页应用,旨在让用户在本地或自有服务器上搭建专属的 AI 对话界面。它有效解决了直接在前端调用官方接口可能导致 API 密钥泄露的安全隐患,通过前后端分离架构,将敏感密钥保留在后端,确保数据安全。
该项目基于 FastAPI 后端与 Vue3 前端构建,不仅支持 GPT-3.5-turbo 模型和连续对话功能,还灵活提供了代理配置选项,方便网络环境受限的用户使用。其独特的亮点在于部署极其便捷:开发者既可通过一条 Docker 命令快速启动,也支持完整的本地源码编译部署;同时,前端允许用户自定义 API 密钥,优先级高于后端配置,满足了多场景下的个性化需求。
chatGPT-web 非常适合希望拥有独立 AI 服务环境的开发者、企业技术团队以及对数据隐私有较高要求的研究人员。对于熟悉 Docker 或 Python 环境的用户而言,这是一个轻量、安全且易于二次开发的理想选择,帮助你轻松构建属于自己的智能对话平台。
使用场景
某中小型软件开发团队希望将 AI 编程助手集成到内部办公系统,以便多名开发者能安全、便捷地调用大模型能力辅助编码。
没有 chatGPT-web 时
- 每位开发者需在本地配置复杂的 Python 环境和 API 调用脚本,环境不一致导致频繁报错。
- 前端直接调用官方接口会暴露团队的
API_KEY,存在密钥泄露和被恶意盗用的安全风险。 - 无法统一管理对话上下文,每次刷新页面或切换设备后,之前的代码优化建议记录全部丢失。
- 团队成员各自申请和管理 API 余额,缺乏统一的用量监控,容易造成资源浪费或突然欠费停机。
- 受网络限制时,个人需单独配置代理工具,维护成本高且稳定性差。
使用 chatGPT-web 后
- 通过 Docker 一键部署私有化服务,团队成员只需访问统一网页即可使用,无需关心后端环境配置。
- 采用前后端分离架构,
API_KEY仅存储于服务端,彻底杜绝了密钥在前端泄露的隐患。 - 原生支持连续对话功能,开发者可在同一会话中持续追问代码重构方案,完整保留上下文逻辑。
- 管理员可在后端统一配置
API_KEY和代理地址,实时监控余额消耗,实现资源的集中管控。 - 内置代理支持(
HTTPS_PROXY),一次性解决团队网络访问问题,确保服务稳定运行。
chatGPT-web 通过私有化部署和统一管控,将分散、高风险的个体调用转变为安全、高效的企业级协作流程。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
ChatGPT-WEB

注意:图中的余额指的是chatgpt中API_KEY的余额。
本项目为chatgpt私有化部署,基于fastapi vue3 chatgpt api实现。
更新日志:
03-04:支持代理,环境变量HTTPS_PROXY,如HTTPS_PROXY=http://127.0.0.1:7890,如果不需要代理,可以不设置。
03-02:支持 gpt-3.5-turbo 模型
02-20:支持了API的连续对话
02-15:前端可以自定义 API_KEY ,优先级大于后端自定义的 API_KEY 。
快速开始
1. docker 部署
作者已经将 chatgpt 打包成镜像,可以直接使用 docker 部署。
docker run --name chatgpt -d -p 8000:8000 -e API_KEY=sk-xxxx miclon/chatgpt:latest
docker-compose 部署
version: '3'
services:
chatgpt:
image: miclon/chatgpt:latest
container_name: chatgpt
ports:
- "8000:8000"
environment:
# 填写你的 API_KEY
- API_KEY=sk-xxxxxx
# 填写API请求代理地址
- HTTPS_PROXY=http://192.168.1.17:7890
代理相关问题移步: PROXY.md
2. 本地部署
- 拉取项目,安装依赖
cd web
pnpm install
pnpm run build
cp -r web/dist api/dist
cd api
pip install -r requirements.txt
- 启动项目
# 启动前端
cd web
pnpm run dev
# 启动后端
cd api
python app.py
如果你不想动手
笔者自建了微信公众号:代码领悟,您关注后即可直接与AI对话。
公众号搭建chatGPT搭建流程图:

答疑
- 为什么需要
API_KEY?
API_KEY是chatgpt的API密钥,通过API_KEY方可调用官方接口,您可以在chatgpt官网申请。API_KEY通常是sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这种形式。
- 我想修改项目中版权信息,如何修改?
如果你不懂前端,你可以直接fork项目,替换前端字符串然后提交自己仓库,然后会自动docker构建。但是有个前提,你需要在github actions中配置DOCKER_USERNAME和DOCKER_PASSWORD,这两个变量是你的docker账号和密码。
- 为什么要内置后端?
前端其实可以直接通过axios请求chatgpt官方接口,但是为了数据安全,如果前端调用那就会暴露自己的API_KEY,所以笔者将前端和后端分离,前端只负责展示,后端负责调用chatgpt官方接口。
常见问题
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。