Please enable Javascript to view the contents

使用 Cloudflare Workers 在微信公众号集成 ChatGPT

 ·  ☕ 2 分钟

1. 创建 ChatGPT 账号

如果出现的是下面这个页面,说明你的网络不支持 ChatGPT

正常的应该是下面这个页面

解决办法是更换网络,幸运的是公司的网络是支持的,所以我就在公司的网络下注册了账号。

  • 找一个接码平台

注册 openai 账户时,需要输入手机号,而 openai 不支持国内的手机号,因此需要找一个接码平台。

我使用的是 https://smspva.com/ ,最少充值 1 美元,可以用支付宝。

在页面左侧 Search service 搜索 ai找到 OpenAI ,如下图。

点击 GET BUMBER 获取一个临时的手机号。

  • 注册 openai 账户

使用上面的手机号注册 openai 账户,在 smspva 页面上可以获取验证码。

注册完成之后,可以直接访问 https://chat.openai.com/。虽然有各种转发服务,浏览器插件集成,但是直接访问网页版的体验还是不错的。

  • 获取 API Key

访问 https://platform.openai.com/account/api-keys 页面,点击 Create new secret key,获取 API Key。如下图:

2. 创建 Cloudflare Workers

  • 将域名的 Nameserver 指向 Cloudflare

使用 Cloudflare 的免费套餐,需要将域名的 Nameserver 指向 Cloudflare。

  • 创建 Service

如上图,点击 Workers -> Overview -> Create a Service

全部使用默认配置,保存即可。

  • 配置 Service

进入刚刚创建的 Service ,点击 Quick edit

https://github.com/ilyydy/cf-openai/releases 页面的 index.mini.js 拷贝到输入框中,点击 Save and deploy

我使用的是 v0.3.0,直接看项目的 README.md 也可以很快配置完成。

  • 新增 KV

如上图,新建一个 KV,名称随意,我使用的是 chatgpt

  • 新增环境变量并绑定 KV

如上图,进入刚刚创建的 Service,点击 Settings->Variables,新增如下环境变量:

WECHAT_ID_LIST = MP
WECHAT_GUEST_OPENAI_KEY,填写上面获取的 API Key
WECHAT_MP_TOKEN, 从微信公众号后台获取
WECHAT_MP_APPID, 从微信公众号后台获取
WECHAT_MP_AES_KEY, 从微信公众号后台获取

在这个页面,还需要绑定刚刚创建的 KV,如下图:

  • 配置 Workers 路由

在刚刚创建的 Service 的 Trigger 页面,点击 Add route,在 Route 中填写 xxx.chenshaowen.com/* 保存即可。

但此时 xxx.chenshaowen.com 还没有指向这个 Service,需要在 Cloudflare 的 DNS 页面配置 CNAME。

3. 在微信公众号集成 Cloudflare Workers

  • 登录微信公众号后台

  • 配置服务器地址

下面是 Cloudflare Workers 的地址 https://xxx.chenshaowen.com/openai/wechat/MP ,其中 xxx.chenshaowen.com 是你的域名,MP 是 WECHAT_ID_LIST 的值。

最后别忘了启用服务器配置。

4. 测试

  • 常见问题

微信限制 15 秒内必须回复,否则提示公众号服务故障,而 OpenAI 可能需要更长时间处理,这种情况会先返回消息:

1
2
正在处理中,请稍后输入 .. 或以下命令获取回答
/retry 24072700431510021

之后输入 /retry 24072700431510021 即可获得回答。

  • 测试效果

出现超时的情况,可以根据提示获取回答。另外,还有一些其他的命令,可以在聊天框中输入 /help 查看。

5. 参考


微信公众号
作者
微信公众号