1. 创建 ChatGPT 账号
- 访问 https://chat.openai.com/ 测试网络
如果出现的是下面这个页面,说明你的网络不支持 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 = MPWECHAT_GUEST_OPENAI_KEY,填写上面获取的 API KeyWECHAT_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 可能需要更长时间处理,这种情况会先返回消息:
|
|
之后输入 /retry 24072700431510021
即可获得回答。
- 测试效果
出现超时的情况,可以根据提示获取回答。另外,还有一些其他的命令,可以在聊天框中输入 /help
查看。
5. 参考
- https://github.com/ilyydy/cf-openai