IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    ChatGPT Plus 单账号共享合租服务

    Elmagnifico\'s Blog发表于 2023-12-22 00:00:00
    love 0

    Foreword

    单个ChatGPT Plus 账号共享合租,各自会话独立分割,就好像一个人使用一样,方便给一个组织或者多人使用。

    CWS

    源于chatgpt-web-share项目,适用于个人、组织或团队的 ChatGPT 共享方案。共享一个 ChatGPT Plus 账号给多人使用,提供完善的管理和限制功能。

    https://github.com/chatpire/chatgpt-web-share

    部署

    新建目录

    cd ~
    mkdir cws && cd cws
    mkdir -p data/config
    

    配置初始密码

    export MONGODB_PASSWORD=password  # MongoDB 密码
    export INITIAL_ADMIN_PASSWORD=password  # 初始管理员密码
    

    初步拉取docker镜像和基础设置

    docker run -it --rm \
      -v $PWD/data/config:/tmp/config \
      ghcr.io/chatpire/chatgpt-web-share:latest \
      python /app/backend/manage.py create_config -O /tmp/config --generate-secrets --mongodb-url "mongodb://cws:${MONGODB_PASSWORD}@mongo:27017" --initial-admin-password "${INITIAL_ADMIN_PASSWORD}" --chatgpt-base-url http://ninja:7999/backend-api/
    

    设置mongodb的属性

    echo "TZ=Asia/Shanghai" > .env
    echo "MONGO_INITDB_DATABASE=cws" >> .env
    echo "MONGO_INITDB_ROOT_USERNAME=cws" >> .env
    echo "MONGO_INITDB_ROOT_PASSWORD=$MONGODB_PASSWORD" >> .env
    

    新建docker-compose.yml 文件

    version: "3"
    
    services:
      chatgpt-web-share:
        image: ghcr.io/chatpire/chatgpt-web-share:latest
        container_name: cws
        restart: unless-stopped
        ports:
          - 5000:80
        volumes:
          - ./data:/app/backend/data
        environment:
          - TZ=${TZ}
          - CWS_CONFIG_DIR=/app/backend/data/config
        depends_on:
          - mongo
    
      mongo:
        container_name: mongo
        image: mongo:6.0
        restart: always
        # ports:
        #   - 27017:27017
        volumes:
          - ./mongo_data:/data/db
        environment:
          MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE}
          MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
          MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
    
      ninja:
        image: ghcr.io/gngpp/ninja:latest
        container_name: ninja
        restart: unless-stopped
        command: run --disable-webui
        ports:
          - "7999:7999"
        environment:
          - TZ=Asia/Shanghai
        volumes:
          - "./har/gpt3:/root/.gpt3"
          - "./har/gpt4:/root/.gpt4"
    
    

    启动

    docker-compose up -d
    

    查看log

    docker logs cws -f
    

    没有问题的话,此时以及可以登录cws了

    http://<你的服务器 IP>:5000
    

    登录管理员账号,和前面设置的宏密码

    admin
    

    ninja

    ninja主要用来处理多人时会出现会话验证码等问题的,是必须的

    参考 ninja 的文档获取 HAR 文件

    https://github.com/gngpp/ninja/blob/main/doc/readme_zh.md

    F12捕捉,在GPT官网发送一次会话(GPT4或者3.5)

    https://tcr9i.chat.openai.com/fc/gt2/public_key/35536E1E-65B4-4D96-9D97-6ADB7EFF8147
    

    image-20231222184343139

    将HAR的log文件下载下来

    将 HAR 文件上传到新搭建的ninja中,传入到对应的版本中即可

    http://你服务器的ip:7999/har/upload
    

    image-20231222184528398

    访问openai获取access token

    https://chat.openai.com/api/auth/session
    

    在 CWS 的后台设置中的 credentials 中的选项一中填入

    image-20231222184438411

    然后就可以在会话管理这里进行消息同步,把所有对话同步过来,然后就可以分配给各个用户了

    image-20231222185038669

    正常对话

    image-20231222185219044

    Caddy

    安装Caddy 隐藏各种端口

    apt install -y debian-keyring debian-archive-keyring apt-transport-https
    curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
    curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
    sudo apt update
    sudo apt install caddy
    
    

    修改caddy配置

    vi /etc/caddy/Caddyfile
    
    gpt.dmduav.com {
        reverse_proxy 127.0.0.1:5000
    }
    
    
    import sites/*
    
    

    重启caddy

    systemctl restart caddy
    

    Summary

    image-20231222185519689

    企微的gpt机器人和这个多人分享gpt同时在一个机器上跑,内存消耗的也很少

    分享多人使用,还是挺不错的

    Quote

    https://cws-docs.pages.dev/zh/guide/quick-start.html



沪ICP备19023445号-2号
友情链接