Render部署coze-discord-proxy
render部署coze-discord-proxy
引言
首先先看看PaaS平台
Fly.io | Railway | Render | Glitch | Adaptable | Cyclic | Zeabur (收费) | |
---|---|---|---|---|---|---|---|
长时间不活动关闭 | 否 | 否 | 15 分钟 | 5 分钟 | 是* | 否 | 否 |
需要信用卡 | 是 | 是 | 否 | 否 | 否 | 否 | 否 |
免费计划 | - | $5* | 750 小时 | 1000 小时 | 无* | 10000 次请求/月 | $5 |
内存 | 256MB | 512MB | 512MB | 512MB | 256MB | 1GB | 512MB |
磁盘空间 | 3GB | 1GB | 200MB* | 1GB | 512MB* | 1GB | |
可写磁盘 | 是 | 否 | 是 | 是* | 是* | 是 | |
网络带宽 | 160GB | $0.10/GB | 100GB | 4000 次请求/时 | 100GB | ||
可用 Dockerfile | 是 | 是 | 是 | 否 | 否* | 否 | 是 |
GitHub 集成 | 否 | 是 | 是 | 是 | 是 | 是 |
本来是用用免费的Zeabur,刚注册就发现收费了。Render提供一个月时长,刚好够用。
再看看项目
搭建的版本是v3.2.3
coze-discord-proxy: 代理Discord-Bot对话Coze-Bot,实现API形式请求GPT4对话模型/微调模型 (github.com)
1 Discord
1.1 创建服务器与频道
创建一个服务器,选择亲自创建 —-> 仅供我和我的朋友使用 —-> 创建
然后下面就是默认的频道了:
然后右击频道和服务器,然后复制服务器ID、频道ID,后续配置coze-discord-proxy时候需要使用到。
1.2 创建Discord应用
需要把coze发布到Discord上,也就需要创建两个bot。
在Discord开发者平台 (opens new window)创建两个 Application
,应用程序的类型为Bot
一个是与coze bot进行绑定的应用(campus),一个是用来向coze bot发起消息的应用(coze-gateway)
两个应用的创建/配置的过程是一样的(3.0.0版本以上)。
先看一下最后的成果图:
1.2.1 创建
填入两个bot的名称即可,创建之后,进去把APPLICATION ID
保存一下,这是应用ID,后面需要用。
1.2.2 获取Token
刷新一下token就能获取了。注意token只能在刷新后的第一次能看见,所以需要保存好。
1.2.3 设置bot权限
这三个开启一下
1.3 邀请bot到服务器
- 两个应用的邀请的过程是一样的(3.0.0版本以上)。
- 需要生成邀请链接才能邀请到服务器
点击OAuth2 —-> URL Generator —-> bot —-> 按照下图勾选相应的权限。
然后滑到页面底部会给bot生成邀请链接。
复制该链接,并在浏览器中访问它以便将应用添加到我们的服务器。
2 Coze Bot
访问Coze官网,然后注册一个Coze账号,目前支持Google账号和手机号注册。说明:中国大陆地区的手机号也可以直接注册使用!
直接用github登录也行。
2.1 创建一个Bot
注册之后进入到Coze页面,然后点击Create Bot
创建一个Bot,命名为campus
2.2 发布到Discord
把与coze bot进行绑定的应用(campus)的token填进去,然后点击右上角的发布按钮就可以了。
这时回到discord.com就可以看到campus机器人已经上线了(头像有个小绿点)。
3 在Render上部署
3.1 部署
创建一个Web Service --> Deploy an existing image from a registry
- 镜像链接填
deanxv/coze-discord-proxy
,next。 - 服务器地址随便。
- Instance Type选择free
- 然后环境变量填写这些就行
环境变量 | 备注 | 例子 |
---|---|---|
BOT_TOKEN | 主动发送消息的Bot-Token | MTE5OTk2xxxxxxxxxxxxxxrwUrUWNbG63w |
GUILD_ID | 两个机器人所在的服务器ID | 119xxxxxxxx796 |
COZE_BOT_ID | 与coze关联的机器人ID | 119xxxxxxxx7 |
CHANNEL_ID | 频道ID | 119xxxxxx24 |
PORT | 端口必须为443 | 443 |
PROXY_SECRET | [可选]接口密钥 | 123456 |
TZ | 地区 | Asia/Shanghai |
开始运行后在日志里会输出,就开始运行了
Feb 18 09:44:30 PM[SYS] 2024/02/18 - 21:44:30 | COZE-DISCORD-PROXY v3.2.3 started
Feb 18 09:44:30 PM[SYS] 2024/02/18 - 21:44:30 | Environment variable check passed.
Feb 18 09:44:30 PM[SYS] 2024/02/18 - 21:44:30 | Bot is now running. Enjoy It.
Feb 18 09:44:33 PMYour service is live 🎉
这时回到discord.com就可以看到coze-gateway机器人已经上线了(头像有个小绿点)。
3.2 自定义域名(可选)
在创建后的Web Service里的Settings --> Custom Domains里就可以自定义域名。
3.3 保活
在开头讲过,Render的服务在15分钟后没有数据就会休眠,所以可以用一些实时监控来保活。比如D监控 - DNSPod
4 测试
可以使用官方的测试网站NextChat进行测试。
如果一直报错:"message": "Failed to fetch"
,可以是因为浏览器限制了,可以打开开发者工具在head加上
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
本文系作者 @ATRAY 原创发布在ATRAY站点。未经许可,禁止转载。
暂无评论数据