【serv00系列教程】部署coze-discord-proxy

这篇教程的完成离不开热佬 Saika 的无私帮助,在此特别感谢!

项目介绍

利用 cozeGPT-4 和的 discord 的机器人,搭建 OpenAI 格式接口,目前支持:

  • 适配NextChat,one-api,LobeChat等客户端。
  • 支持对话隔离
  • 支持流式返回
  • 支持创建 discord分类/频道/线程
  • 支持和openai对齐的对话接口
  • 支持和openai对齐的图生文/图改图/文件生文接口
  • 支持和openai对齐的dall-e-3文生图接口
  • 支持每日9点定时任务自动活跃机器人
  • 支持配置多discord用户Authorization作请求负载均衡
  • 支持配置多coze机器人作响应负载均衡

项目地址

给作者点个 star

简单上手

第一步,编译

选项一 :直接在 serv00 上编译

cd ~/domains && wget https://github.com/deanxv/coze-discord-proxy/archive/refs/tags/v4.4.0.tar.gz && tar -zxvf v4.4.0.tar.gz && mv coze-discord-proxy-4.4.0 coze2api && cd coze2api && cpuset -l 0 go build main.go && find . -maxdepth 1 ! -name 'main' -exec rm -rf {} \; && mv main coze2api

选项二 :利用 Github 编译(推荐)


cd ~/domains && mkdir coze2api && cd coze2api && release_info=$(curl -s https://api.github.com/repos/k0baya/coze-discord-proxy-freebsd/releases/latest)
asset_url=$(echo "$release_info" | jq -r '.assets[] | select(.name != "source code") | .browser_download_url')
curl -L -o coze2api "$asset_url" && chmod +x coze2api

感谢热佬 Saika 提供的仓库:

第二步,编写 start.sh

#!/bin/bash
export PORT="YOUR_PORT"
export USER_AUTHORIZATION="YOUR_AUTHORIZATION"
export BOT_TOKEN="YOUR_BOT_TOKEN"
export GUILD_ID="YOUR_GUILD_ID"
export COZE_BOT_ID="YOUR_COZE_BOT_ID"
export PROXY_SECRET="YOUR_PROXY_SECRET"
export CHANNEL_ID="YOUR_CHANNEL_ID"
export TZ="Asia/Shanghai"
export DATA_GYM_CACHE_DIR="/home/$username/domains/coze2api"
chmod +x coze2api && ./coze2api

第三步,执行

chmod +x start.sh && ./start.sh
你也可以编写 ecosystem.config.js 来执行
  • ecosystem.config.js 添加:
    {
      name: "coze2pi",
      script: "./start.sh",
      cwd: "/home/$username/domains/coze2api",
      interpreter: "bash"
    },

注意:到这一步只支持单机器人,model 填写 COZE,如果你对多机器人感兴趣,请接着往下看

多机器人看这里

创建多机器人配置文件

mkdir -p app/config && vi app/config/bot_config.json

写入以下内容

[
  {
    "proxySecret": "123",
    "cozeBotId": "12***************31",
    "model": ["gpt-3.5","gpt-3.5-16k"], 
    "channelId": "12***************56" 
  },
  {
    "proxySecret": "456",
    "cozeBotId": "12***************64",
    "model": ["gpt-4","gpt-4-16k"],
    "channelId": "12***************78"
  },
  {
    "proxySecret": "789",
    "cozeBotId": "12***************12",
    "model": ["dall-e-3"],
    "channelId": "12***************24"
  }
]
40 个赞

mark,谢谢热佬

5 个赞

你也很能折腾呀

4 个赞

@Dean 我记得作者好像发过

5 个赞

论坛没见着

5 个赞

没你能水 潜水之王

5 个赞

这段时间我都没怎么逛了

5 个赞

还没忙完呢?

5 个赞

还没呢 过段时间还得出差一趟

6 个赞

正在用

6 个赞

被玩出花了 :joy:

5 个赞

好好好

8 个赞

早点回家 :hugs:

4 个赞

写错了啊…启动脚本里的文件名和下载的二进制文件的文件名不符合

5 个赞

mark

4 个赞

改了 你再试试?

3 个赞


不需要试试吧…你看看 :rofl:

2 个赞

哦哦 没注意 :crazy_face: 我两个编译的文件命名方式不一样 现在统一了

1 个赞

这项目还在还能用呀

2 个赞

你小看作者了,作者大大可就在论坛

2 个赞