这篇教程的完成离不开热佬 Saika 的无私帮助,在此特别感谢!
项目介绍
利用 coze
的 GPT-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"
}
]