配置ChatGPT4分享系统
go-chatgpt-api
https://github.com/linweiyuan/go-chatgpt-api
使用docker部署,该项目为第三方API,通过逆向openai网页得到,基本和网页端F12获得接口一致,但没有限制
1 2 3 4 5 6 7 8 9 10
| services: go-chatgpt-api: container_name: go-chatgpt-api image: linweiyuan/go-chatgpt-api ports: - 8080:8080 environment: - GIN_MODE=release - GO_CHATGPT_API_PROXY=http://127.0.0.1:1081 restart: unless-stopped
|
GO_CHATGPT_API_PROXY
为访问代理,如果不需要,可以直接访问openai则可以注释掉
chatgpt-web-share
https://github.com/moeakwak/chatgpt-web-share/wiki/
前端分享程序,通过docker部署,选取代理与前端分别部署方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| version: "3"
services: chatgpt-share: image: ghcr.io/moeakwak/chatgpt-web-share:latest container_name: chatgpt-web-share restart: always network_mode: bridge ports: - 8080:80 # web 端口号 volumes: - ./data:/data # 存放数据库文件以及统计数据 - /root/config.yaml:/app/backend/api/config/config.yaml # 后端配置文件 - ./logs:/app/logs # 存放日志文件
|
配置文件目录可更改上述配置的/root/config.yaml
config.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| print_sql: false host: "127.0.0.1" port: 8000 data_dir: /data # <------ v0.3.0 以上新增 database_url: "sqlite+aiosqlite:////data/database.db" # 特别注意:这里有四个斜杠,代表着文件位于 /data 目录,使用的是绝对路径 run_migration: false # 是否在启动时运行数据库迁移,目前没有必要启用
jwt_secret: "jwt" # 用于生成 jwt token,自行填写随机字符串 jwt_lifetime_seconds: 86400 # jwt token 过期时间 cookie_max_age: 86400 # cookie 过期时间 user_secret: "times" # 用于生成用户密码,自行填写随机字符串
sync_conversations_on_startup: true # 是否在启动时同步同步 ChatGPT 对话,建议启用。启用后,将会自动将 ChatGPT 中新增的对话同步到数据库中,并把已经不在 ChatGPT 中的对话标记为无效 create_initial_admin_user: true # 是否创建初始管理员用户 initial_admin_username: admin # 初始管理员用户名 initial_admin_password: password # 初始管理员密码 ask_timeout: 600 # 用于限制对话的最长时间
chatgpt_access_token: "你的access_token" # 需要从 ChatGPT 获取,见后文 chatgpt_paid: true # 是否为 ChatGPT Plus 用户
# 注意:如果你希望使用公共代理,或使用整合的 go-proxy-api,请保持注释;如果需要自定义,注意最后一定要有一个斜杠 # 在实际请求时,chatgpt_base_url 优先级为:config 内定义 > 环境变量 > revChatGPT 内置的公共代理 # 第一部分部署完成的网址 chatgpt_base_url: http://公网ip或者docker网络ip:6060/
log_dir: /app/logs # 日志存储位置,不要随意修改 console_log_level: INFO # 日志等级,设置为 DEBUG 能够获得更多信息
# 以下用于统计,如不清楚可保持默认 request_log_counter_time_window: 2592000 # 请求日志时间范围,默认为最近 30 天 request_log_counter_interval: 1800 # 请求日志统计粒度,默认为 30 分钟 ask_log_time_window: 2592000 # 对话日志时间范围,默认为最近 7 天 sync_conversations_regularly: yes # 是否定期(每隔12小时)从账号中同步一次对话
|
token由https://chat.openai.com/api/auth/session
获取
采坑
- 使用宝塔面板配置docker容易出现容易内无法访问外网的问题,通过关闭docker0网卡并重启docker服务的方式可解决