# 搭建使用 github copilot 的 ChatGPT Next Web

项目地址 copilot-gpt4-service https://github.com/aaamoon/copilot-gpt4-service

项目地址 ChatGPT-Next-Web https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web

# 前言

最近个人使用 openai 的 api 花费太高了,正好我已经订阅了 github 的 copilot ,很久之前就开始关注 copilot-gpt4-service 这个项目,虽然项目结构写的挺乱的,但是效果还行。

按照本文,您需要

# 搭建 copilot-gpt4-service

注意!copilot-gpt4-service 不适合 Serverless 类型的提供商进行部署,频繁更换 ip 容易被判断为异常。

# 获取 copilot token

按照 github 的教程 走 https://github.com/aaamoon/copilot-gpt4-service/blob/master/README_CN.md# 获取 - copilot-token

# 在外网服务器上搭建 copilot-gpt4-service

由于本文使用的外网服务器性能一般,并且没有安装 docker,所以直接使用二进制文件进行搭建。

# 下载二进制文件

截至发布文章当日,该项目还没有进行 release 文件,所以目前使用 github action 编译出来的二进制文件

在这里面找一个已经编译好的二进制文件 https://github.com/aaamoon/copilot-gpt4-service/actions/workflows/build.yml

比如 https://github.com/aaamoon/copilot-gpt4-service/actions/runs/7998457699

选择机器对应的二进制文件比如 copilot-gpt4-service-linux-amd64

下载下来,scp 到云服务器上

scp /path/to/copilot-gpt4-service-linux-amd64.zip root@ip:/home/user/copilot

进入云服务器,解压文件

unzip copilot-gpt4-service-linux-amd64.zip

# 配置文件

copilot-gpt4-service 所在目录下 新建文件 config.env 内容为

HOST=0.0.0.0
PORT=8080
CACHE=true
CACHE_PATH=db/cache.sqlite3
DEBUG=false
LOGGING=true
LOG_LEVEL=info
COPILOT_TOKEN=xxxx
SUPER_TOKEN=xxxx
ENABLE_SUPER_TOKEN=true
RATE_LIMIT=10
CORS_PROXY_NEXTCHAT=true

启动服务

# 新增运行权限
chmod +x copilot-gpt4-service
./copilot-gpt4-service

# 反向代理

由于这台机器上还搭建了其他服务,所以我反向代理到 80 端口,监听服务名称

server {
   listen       80;
   server_name  copilot.example.com;
   location / {
            proxy_pass http://127.0.0.1:8123/;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Host $http_host;
    }
}

# 配置 https

https 这边用的是 cloudflare 提供的 https,不需要再单独设置 https,直接使用项目 README 里的 https 教程也可以。

这边配置域名为 copilot.example.com

# 搭建 ChatGPT-Next-Web

按照教程 https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/blob/main/README_CN.md

在 Vercel 上搭建 ChatGPT-Next-Web

环境变量设置

BASE_URL: https://copilot.example.com/
OPENAI_API_KEY: xxx # 为 copilot-gpt4-service 配置的 SUPER_TOKEN
CODE:xxxx #密码

Vercel 绑定域名 chat.example.com

# 效果

已经使用三天时间了,copilot 没有被封,效果也还行。

image-20240225105128755

日志

image-20240225105214295

-->