{"id":14979056,"url":"https://github.com/mic1on/chatgpt-web","last_synced_at":"2025-04-12T15:42:04.730Z","repository":{"id":100364495,"uuid":"600057014","full_name":"mic1on/chatGPT-web","owner":"mic1on","description":"chatGPT私有化部署","archived":false,"fork":false,"pushed_at":"2024-03-11T02:26:33.000Z","size":155,"stargazers_count":712,"open_issues_count":18,"forks_count":262,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-03T15:12:35.745Z","etag":null,"topics":["chatgpt","chatgpt-api","fastapi","python","vue3"],"latest_commit_sha":null,"homepage":"https://code05.com/posts/other/opensource/chatgpt-web.html","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mic1on.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-10T13:41:49.000Z","updated_at":"2025-03-28T00:40:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"24aed68a-a621-42f7-97d3-dee805110f76","html_url":"https://github.com/mic1on/chatGPT-web","commit_stats":{"total_commits":36,"total_committers":6,"mean_commits":6.0,"dds":"0.16666666666666663","last_synced_commit":"432cccdd9d00e25ab6eb20a6202397b9b1f5c24f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mic1on%2FchatGPT-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mic1on%2FchatGPT-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mic1on%2FchatGPT-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mic1on%2FchatGPT-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mic1on","download_url":"https://codeload.github.com/mic1on/chatGPT-web/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248590895,"owners_count":21129907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatgpt","chatgpt-api","fastapi","python","vue3"],"created_at":"2024-09-24T13:59:05.412Z","updated_at":"2025-04-12T15:42:04.694Z","avatar_url":"https://github.com/mic1on.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"## ChatGPT-WEB\n\n![](https://miclon-job.oss-cn-hangzhou.aliyuncs.com/img/20230306213958.png)\n\n注意：图中的余额指的是`chatgpt`中`API_KEY`的余额。\n\n本项目为`chatgpt`私有化部署，基于`fastapi` `vue3` `chatgpt api`实现。\n\n\n\n- [笔者案例 - 我用AI帮我完成了单子](https://52caiji.com/posts/other/developer-use-openai.html)\n\n## 更新日志：\n03-04：支持代理，环境变量`HTTPS_PROXY`，如`HTTPS_PROXY=http://127.0.0.1:7890`，如果不需要代理，可以不设置。\n\n03-02：支持 `gpt-3.5-turbo` 模型\n\n02-20：支持了API的**连续对话**\n\n02-15：前端可以自定义 `API_KEY` ，优先级大于后端自定义的 `API_KEY` 。\n\n\n## 快速开始\n\n### 1. docker 部署\n作者已经将 `chatgpt` 打包成镜像，可以直接使用 `docker` 部署。\n\n```bash\ndocker run --name chatgpt -d -p 8000:8000 -e API_KEY=sk-xxxx miclon/chatgpt:latest\n```\n\ndocker-compose 部署\n\n```bash\nversion: '3'\n\nservices:\n  chatgpt:\n    image: miclon/chatgpt:latest\n    container_name: chatgpt\n    ports:\n      - \"8000:8000\"\n    environment:\n      # 填写你的 API_KEY\n      - API_KEY=sk-xxxxxx\n      # 填写API请求代理地址\n      - HTTPS_PROXY=http://192.168.1.17:7890\n```\n\n代理相关问题移步： [PROXY.md](PROXY.md)\n\n### 2. 本地部署\n\n- 拉取项目，安装依赖\n\n```bash\ncd web\npnpm install\npnpm run build\n```\n\n```bash\ncp -r web/dist api/dist\ncd api\npip install -r requirements.txt\n```\n\n- 启动项目\n\n\n```bash\n# 启动前端\ncd web\npnpm run dev\n```\n\n```bash\n# 启动后端\ncd api\npython app.py\n```\n\n## 如果你不想动手\n\n笔者自建了微信公众号：**代码领悟**，您关注后即可直接与AI对话。\n\n公众号搭建chatGPT搭建流程图：\n\n![](https://miclon-job.oss-cn-hangzhou.aliyuncs.com/img/20230210220109.png)\n\n\n## 答疑\n\n- 为什么需要`API_KEY`？\n\n`API_KEY`是`chatgpt`的API密钥，通过API_KEY方可调用官方接口，您可以在[chatgpt](https://platform.openai.com/account/api-keys)官网申请。`API_KEY`通常是`sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`这种形式。\n\n- 我想修改项目中版权信息，如何修改？\n\n如果你不懂前端，你可以直接fork项目，替换前端字符串然后提交自己仓库，然后会自动docker构建。但是有个前提，你需要在github actions中配置`DOCKER_USERNAME`和`DOCKER_PASSWORD`，这两个变量是你的docker账号和密码。\n\n- 为什么要内置后端？\n\n前端其实可以直接通过`axios`请求`chatgpt`官方接口，但是为了数据安全，如果前端调用那就会暴露自己的`API_KEY`，所以笔者将前端和后端分离，前端只负责展示，后端负责调用`chatgpt`官方接口。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmic1on%2Fchatgpt-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmic1on%2Fchatgpt-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmic1on%2Fchatgpt-web/lists"}