chatgpt-web

GitHub
3.1k 721 简单 1 次阅读 3天前Apache-2.0语言模型
AI 解读 由 AI 自动生成,仅供参考

chatgpt-web 是一款基于 ChatGPT 3.5 API 构建的私有化 Web 聊天程序,旨在帮助用户快速搭建专属的 AI 对话网站。它有效解决了直接调用官方接口门槛高、缺乏个性化设置以及国内网络访问受限等痛点,让用户能在本地或服务器上轻松部署属于自己的智能助手。

这款工具非常适合希望拥有独立 AI 服务但编程基础薄弱的普通用户,同时也兼顾了开发者的定制需求。非技术人员可直接下载预编译包,简单修改配置文件即可运行;开发者则可通过源码编译或 Docker 容器化方式灵活部署。其核心亮点在于高度可配置的参数系统,用户不仅能通过代理设置绕过网络限制,还能自由定义 AI 的“性格”(如设定为贴心女友或专业客服)、调整回答的创造力与长度,甚至支持上下文多轮对话和 Markdown 格式渲染。此外,项目近期还增加了对 GPT-4 模型的支持及用户认证模块,进一步提升了安全性与实用性。无论是用于个人娱乐、学习辅助,还是作为企业内部的知识问答原型,chatgpt-web 都提供了一个轻量且高效的解决方案。

使用场景

某初创团队希望为内部客服系统快速搭建一个具备特定人设(如“温柔贴心的助手”)的私有化 AI 问答界面,以测试用户反馈并保护数据隐私。

没有 chatgpt-web 时

  • 部署门槛高:团队成员需手动编写前端页面和后端接口代码来调用 OpenAI API,非技术人员无法独立参与测试。
  • 人设调整困难:每次想改变 AI 的回答风格(如从“严谨专家”改为“亲切客服”),都需要修改代码逻辑并重新编译发布。
  • 网络访问受阻:在国内网络环境下,直接请求官方接口经常超时或失败,缺乏内置的代理配置支持,导致服务不可用。
  • 缺乏权限管控:生成的临时演示页面没有任何认证机制,链接一旦泄露,外部人员即可随意调用消耗昂贵的 API 额度。

使用 chatgpt-web 后

  • 一键私有部署:只需下载对应系统的压缩包,修改 config.json 填入 API Key 即可启动服务,几分钟内获得专属的 Web 聊天界面。
  • 灵活定制人设:通过配置文件中的 bot_desc 参数,无需改动代码即可将 AI 设定为“温柔贴心的女朋友”或“专业代码修复器”,即时生效。
  • 内置代理支持:直接在配置中设置 proxy 参数(支持 HTTP/SOCKS5),轻松解决网络墙问题,确保国内环境稳定连接。
  • 安全访问控制:利用 auth_userauth_password 字段快速开启基础认证,结合 JWT 验证模块,有效防止未授权访问和资费滥用。

chatgpt-web 让非开发团队也能在几分钟内构建出安全、可定制且网络稳定的私有化 AI 应用,极大降低了技术验证成本。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notes本项目主要提供预编译的二进制文件(支持 Windows/Linux/macOS),无需安装 Go 环境即可直接运行;若选择源码运行则需安装 Go 语言环境。项目本身不包含 AI 模型,而是作为前端界面调用 OpenAI API,因此运行资源消耗极低。使用前必须拥有 OpenAI API Key,国内用户需配置 HTTP 或 SOCKS5 代理以连接 OpenAI 服务。支持通过 Docker 和 Docker Compose 部署。
python未说明
Go (源码运行模式)
chatgpt-web hero image

快速开始

chatgpt-web

Release Github stars Forks

本项目可以一键部署属于自己定制化的 chatgpt web 程序(兼容gpt3.5), 只需下载release中对应平台的项目文件,修改配置后执行,打开 http://127.0.0.1:8080 ,便可以获得属于自己的chatgpt网站。

参考项目:codegen

项目当前默认为示例中AI聊天机器人参数,可以根据自己需求定制化。

注意,每个参数都可能影响你得到不一样的聊天效果,改变一个参数你就可能得到另一种回答,所以请自己尝试去调试,不要上来就抱怨人工智障。文档中有二十多中参数示例,如AI聊天机器人 ,产品名称生成,python代码修复器等等等...

详情参考官方详细参数示例

更新记录

  • fix: 支持gpt-4模型,修改前端空白BUG。 2023-03-30
  • fix: 增加用户模块,认证页面,接口jwt验证。 2023-03-27
  • fix: 修复前端富文本显示问题,优化dockerfile。 2023-03-27
  • fix: 优化前端显示界面。 2023-03-20
  • feat: 增加接口代理配置。 2023-03-20
  • fix: 修复前端部分BUG,优化富文本代码格式。 2023-03-13
  • feat: 增加socsk5代理的支持,命令行参数配置。2023-03-13
  • feat: 增加docker-compose.yaml。2023-03-08
  • fix: 修复basic auth 。 2023-03-08
  • feat:修改为默认不开启代理。2023-03-06
  • feat:增加代理配置,解决国内无法使用。2023-03-04

项目功能

  • 请求openai增加代理(防墙)
  • AI性格设定
  • 兼容3.0和3.5API
  • 基本问答界面
  • 参数可配置
  • markdown语法
  • 提问上下文

使用前提

有openai账号,并且创建好api_key,注册事项可以参考此文章

快速开始

第一种:直接下载二进制(适合对编程不了解的同学)

非技术人员请直接下载release中的压缩包 ,请根据自己系统以及架构选择合适的压缩包,下载之后直接解压运行。

下载之后,在本地解压,即可看到可执行程序,与配置文件:

# windows
1.下载压缩包解压
2.复制文件中config.dev.json更改为config.json
3.将config.json中的api_key替换为自己的
4.双击exe运行,启动服务

# linux
$ tar xf chatgpt-web-v0.0.2-darwin-arm64.tar.gz # 解压
$ cd chatgpt-web-v0.0.2-darwin-arm64
$ cp config.dev.json # 根据情况调整配置文件内容
$ ./chatgpt-web  # 直接运行

# 如果要守护在后台运行
$ nohup ./chatgpt-web &> run.log &
$ tail -f run.log

第二种:基于源码运行(适合了解go语言编程的同学)

# 获取项目
$ git clone https://github.com/869413421/chatgpt-web.git

# 进入项目目录
$ cd chatgpt-web

# 复制配置文件
$ copy config.dev.json config.json

# 启动项目
$ go run main.go

使用docker运行

你可以使用docker快速运行本项目。 第一种:基于环境变量运行

# 运行项目,环境变量参考下方配置说明
$ docker run -itd --name chatgpt-web --restart=always \
 -e APIKEY=换成你的key \
 -e APIURL= \
 -e MODEL=gpt-3.5-turbo-0301 \
 -e BOT_DESC=你是一个AI助手,我需要你模拟一名温柔贴心的女朋友来回答我的问题. \
 -e MAX_TOKENS=512 \
 -e TEMPREATURE=0.9 \
 -e TOP_P=1 \
 -e FREQ=0.0 \
 -e PRES=0.6 \
 -e PROXY=http://host.docker.internal:10809 \
 -e AUTH_USER= \
 -e AUTH_PASSWORD= \
 -p 8080:8080 \
 --add-host="host.docker.internal:host-gateway" \
 qingshui869413421/chatgpt-web:latest

注意host.docker.internal会指向容器所在宿主机的IP,因此只需要更改端口为你的代理端口即可。

运行命令中映射的配置文件参考下边的配置文件说明。

第二种:基于配置文件挂载运行

# 复制配置文件,根据自己实际情况,调整配置里的内容
$ cp config.dev.json config.json  # 其中 config.dev.json 从项目的根目录获取

# 运行项目
$ docker run -itd --name chatgpt-web -v `pwd`/config.json:/app/config.json -p 8080:8080 qingshui869413421/chatgpt-web:latest

其中配置文件参考下边的配置文件说明。

使用docker-docompose 运行

docker compose up -d

配置文件说明

{
  "api_key": "your api key",
  "api_url": "",
  "port": 8080,
  "listen": "",
  "bot_desc": "你是一个AI助手,我需要你模拟一名温柔贴心的女朋友来回答我的问题。",
  "proxy": "http://host.docker.internal:10809",
  "model": "gpt-3.5-turbo-0301",
  "max_tokens": 512,
  "temperature": 0.9,
  "top_p": 1,
  "frequency_penalty": 0.0,
  "presence_penalty": 0.6,
  "auth_user": "",
  "auth_password": ""
}
api_key:openai api_key
api_url: openai api接口地址 不填使用默认 https://api.openai.com/v1 注,该服务的提供者可以看到你的明文请求(包括你在OpenAI的key),建议自建或使用可信来源
port: http服务端口
listen: http服务监听地址,不填默认监听0.0.0.0
proxy: openai请求代理,防墙。 例如 http://127.0.0.1:7890 socks5://127.0.0.1:7890
bot_desc:AI特征,非常重要,功能等同给与AI一个身份设定
max_tokens: GPT响应字符数,最大2048,默认值512。max_tokens会影响接口响应速度,字符越大响应越慢。
model: GPT选用模型,默认text-davinci-003,具体选项参考官网训练场
temperature: GPT热度,0到1,默认0.9。数字越大创造力越强,但更偏离训练事实,越低越接近训练事实
top_p: 使用温度采样的替代方法称为核心采样,其中模型考虑具有top_p概率质量的令牌的结果。因此,0.1 意味着只考虑包含前 10% 概率质量的代币。
frequency_penalty:
presence_penalty:
auth_user": http基本认证用户名(空表示不开启验证)
auth_password": http基本认证密码

NGINX反向代理配置样例

这里提供一份使用NGINX反向代理该软件的样例配置,方便集成于现有的站点,添加用户认证,套TLS等,该文件一般对应于/etc/nginx/sites-available/default文件,需要自行修改。

# 监听80端口,跳转https
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    location / {
        return 301 https://$host$request_uri;
    }
}
# 监听443端口,使用https提供服务
server {
    # SSL相关配置来自 https://ssl-config.mozilla.org/
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    # 证书路径,建议Fullchain
    ssl_certificate /path/to/your/cert.pem;
    # 私钥路径
    ssl_certificate_key /path/to/your/key.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;
    # 执行下面的命令下载dhparam
    # curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam
    ssl_dhparam /path/to/dhparam;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;
    # HSTS (ngx_http_headers_module is required) (63072000 seconds)
    add_header Strict-Transport-Security "max-age=63072000" always;
    # SSL配置结束

    server_name _;
    charset utf-8;
    client_max_body_size 5m;

    # 如果需要将chatgpt-web置于某一路径下,使用这个location配置
    location /your/path/ {
        # 基本身份认证 设定
        # 提示语
        auth_basic "Auth Require";
        # 认证配置文件 格式请参考 https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html
        auth_basic_user_file /path/to/passwd;

        # 反向代理 假设chatgpt-web监听端口为8080
        proxy_pass http://127.0.0.1:8080/;
        proxy_http_version 1.1;
        # 反向代理超时时间设定(OpenAI的反应比较慢,设定为120秒后才超时)
        proxy_read_timeout 120s;

        # 位于根路径时不需要修改index.html
    }

    # 如果chatgpt-web放置于根路径,使用这个location配置
    location / {
        auth_basic "Auth Require";
        auth_basic_user_file /etc/nginx/passwd;

        proxy_pass http://127.0.0.1:8080/;
        proxy_http_version 1.1;
        proxy_read_timeout 120s;

        # 位于根路径时不需要修改index.html
    }

}

Linux系统systemd服务配置

可以使用systemd配置chatgpt-web开机自启,假设可执行文件和相关资源文件放置在/var/www/chatgpt-web/目录下,chatgpt-web二进制文件需要其他用户可读可执行权限,其余资源文件需要其他用户可读权限,并且已经配置好config.json

在目录/etc/systemd/system/下新建文件chatgpt-web.service,以下是文件样例。

[Unit]
Description=chatgpt-web
Documentation=https://github.com/869413421/chatgpt-web
# 在网络启动完成后运行
After=network.target nss-lookup.target

[Service]
# 使用随机用户执行该服务
DynamicUser=yes
# 指定工作目录
WorkingDirectory=/var/www/chatgpt-web/
# 执行程序
ExecStart=/var/www/chatgpt-web/chatgpt-web

[Install]
WantedBy=multi-user.target

保存后使用systemctl daemon-reload更新systemd配置文件,使用systemctl start/stop chatgpt-web启动/停止服务,使用systemctl enable/disable chatgpt-web启用/禁用服务开机自启。

可以使用journalctl --unit chatgpt-web.service查看程序日志。

免责声明

该代码仅用于演示和测试。

⚠⚠⚠请勿将本系统代码用于商业用途!

仿冒或冒用ChatGPT、OpenAI名义开展经营活动,可能构成《商标法》、《反不正当竞争法》下的一系列侵权行为; 以之牟利造成消费者损失的,可能产生《商标法》、《反不正当竞争法》、《消费者权益保护法》下的民事或行政责任,情节严重并造成重大损失的,还有可能构成刑事犯罪; 如果提供这种跨境经营服务存在私自搭建国际信道的情形,还有可能违反《网络安全法》、《刑法》的相关规定,承担行政责任或构成刑事犯罪。

版本历史

v0.2.42023/03/31
v0.2.12023/03/28
v0.2.02023/03/27
v0.1.32023/03/20
v0.1.22023/03/14
v0.0.82023/03/08
v0.0.72023/03/06
v0.0.62023/03/06
v0.0.52023/03/04
v0.0.42023/03/02
v0.0.32023/03/02
v0.0.22023/02/14
v0.0.12023/02/12

常见问题

相似工具推荐

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 真正成长为懂上

156.8k|★★☆☆☆|今天
开发框架Agent语言模型

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|1周前
语言模型图像Agent

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 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|1周前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|5天前
图像数据工具视频

funNLP

funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。

79.9k|★☆☆☆☆|1周前
语言模型数据工具其他

gpt4all

GPT4All 是一款让普通电脑也能轻松运行大型语言模型(LLM)的开源工具。它的核心目标是打破算力壁垒,让用户无需依赖昂贵的显卡(GPU)或云端 API,即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。 对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说,GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点,让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者,还是单纯想体验私有化 AI 聊天的普通用户,都能从中受益。 技术上,GPT4All 基于高效的 `llama.cpp` 后端,支持多种主流模型架构(包括最新的 DeepSeek R1 蒸馏模型),并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端,支持 Windows、macOS 和 Linux 等多平台一键安装,还为开发者提供了便捷的 Python 库,可轻松集成到 LangChain 等生态中。通过简单的下载和配置,用户即可立即开始探索本地大模型的无限可能。

77.3k|★☆☆☆☆|4天前
语言模型开发框架