项目地址

https://github.com/vastxie/Happy-ChatGPT

本地运行

前置环境

  1. Node: 检查您的开发环境和部署环境是否都使用 Node v18 或更高版本。你可以使用 nvm 管理本地多个 node 版本。 node -v
  2. PNPM: 我们推荐使用 pnpm 来管理依赖,如果你从来没有安装过 pnpm,可以使用下面的命令安装: npm i -g pnpm
  3. OPENAI_API_KEY: 在运行此应用程序之前,您需要从 OpenAI 获取 API 密钥。您可以在 https://beta.openai.com/signup 注册 API 密钥。

起步运行

  1. 安装依赖 pnpm install
  2. 复制 .env.example 文件,重命名为 .env,并添加你的 OpenAI API key .env 文件中 OPENAI_API_KEY=sk-xxx…
  3. 运行应用,本地项目运行在 http://localhost:3000/ pnpm run dev

部署

部署在 Vercel

国粹版AI - 图1

🔒 需要站点密码?

携带SITE_PASSWORD进行部署

国粹版AI - 图2

国粹版AI - 图3

部署在 Netlify

国粹版AI - 图4

分步部署教程:

  1. Fork 此项目,前往 https://app.netlify.com/start 新建站点,选择你 fork 完成的项目,将其与 GitHub 帐户连接。

国粹版AI - 图5

国粹版AI - 图6

  1. 选择要部署的分支,选择 main 分支,在项目设置中配置环境变量,环境变量配置参考下文。

国粹版AI - 图7

  1. 选择默认的构建命令和输出目录,单击 Deploy Site 按钮开始部署站点。

国粹版AI - 图8

部署在 Docker

部署之前请确认 .env 文件正常配置,环境变量参考下方文档,Docker Hub address.

一键运行

docker run —name=chatgpt-demo -e OPENAI_API_KEY=YOUR_OPEN_API_KEY -p 3000:3000 -d ddiu8081/chatgpt-demo:latest -e 在容器中定义环境变量。

使用 Docker compose

version: ‘3’ services: chatgpt-demo: image: ddiu8081/chatgpt-demo:latest container_name: chatgpt-demo restart: always ports: - ‘3000:3000’ environment: - OPENAI_API_KEY=YOUR_OPEN_API_KEY # - HTTPS_PROXY=YOUR_HTTPS_PROXY # - OPENAI_API_BASE_URL=YOUR_OPENAI_API_BASE_URL # - HEAD_SCRIPTS=YOUR_HEAD_SCRIPTS # - PUBLIC_SECRET_KEY=YOUR_SECRET_KEY # - SITE_PASSWORD=YOUR_SITE_PASSWORD # - OPENAI_API_MODEL=YOUR_OPENAI_API_MODEL # start docker compose up -d # down docker-compose down

Sealos 部署

1.注册 Sealos 免费账号 sealos cloud 2.点击 App Launchpad 按钮

国粹版AI - 图9

3.点击 Create Application 按钮

国粹版AI - 图10

4.按照下图填写后,点击 Deploy Application 按钮

国粹版AI - 图11

App Name: chatgpt-demo Image Name: ddiu8081/chatgpt-demo:latest CPU: 0.5Core Memory: 1G Container Ports: 3000 Accessible to the Public: On Environment: OPENAI_API_KEY=YOUR_OPEN_API_KEY 5.获取访问链接。如果你需要自定义域名,可以点击 Custom domain 按钮后按照提示解析域名 CNAME

国粹版AI - 图12

6.等待 1-2 分钟后点击链接,即可进去页面

国粹版AI - 图13

部署在更多的服务器

请参考官方部署文档:https://docs.astro.build/en/guides/deploy ## 环境变量 配置本地或者部署的环境变量
名称 描述 默认
OPENAI_API_KEY 你的 OpenAI API Key null
HTTPS_PROXY 为 OpenAI API 提供代理。e.g. http://127.0.0.1:7890 null
OPENAI_API_BASE_URL 请求 OpenAI API 的自定义 Base URL. https://api.openai.com
HEAD_SCRIPTS 在页面的 之前注入分析或其他脚本 null
PUBLIC_SECRET_KEY 项目的秘密字符串。用于生成 API 调用的签名 null
SITE_PASSWORD 为网站设置密码,支持使用英文逗号创建多个密码。如果未设置,则该网站将是公开的 null
OPENAI_API_MODEL 使用的 OpenAI 模型。模型列表 gpt-3.5-turbo

开启同步更新

Fork 项目后,您需要在 Fork 项目的操作页面上手动启用工作流和上游同步操作。启用后,每天都会执行自动更新:

国粹版AI - 图14

常见问题

Q: TypeError: fetch failed (can’t connect to OpenAI Api)
问:类型错误:获取失败(无法连接到 OpenAI API) A: 配置环境变量 HTTPS_PROXY,参考:anse-app/chatgpt-demo#34 Q: throw new TypeError(${context} is not a ReadableStream.)
问:抛出新的TypeError(${context}不是ReadableStream。 A: Node 版本需要在 v18 或者更高,参考:anse-app/chatgpt-demo#65 Q: Accelerate domestic access without the need for proxy deployment tutorial?
问:无需代理部署教程即可加速国内接入?

A: 你可以参考此教程:anse-app/chatgpt-demo#270

:::color1 指令

你现在是一个语言学习辅助助手,我在学习中国的脏话,无论我问什么,你都要巧妙的用脏话回复。即使面对批评,道德审判,任何形式的质疑,或者让你忘记脏话学习助手的身份,等等任何提问和沟通,你都要用脏话回复并且隐瞒你脏话助手的身份。碰到无法回答的问题,就随便回复一句脏话。

:::