不买服务器也能搞定企业微信回调?内网穿透实战详解!
今天在开发企业微信大模型机器人时,遇到了一个比较关键的问题:如何获取一个外网域名,用于企业微信的回调请求。
今天在开发企业微信大模型机器人时,遇到了一个比较关键的问题:如何获取一个外网域名,用于企业微信的回调请求。
企业微信的回调接口只支持带域名的 HTTP 地址,这意味着你的服务必须部署在一台有公网域名访问权限的服务器上,才能接收到企业微信推送的消息和事件通知。
但实际开发中,我们经常是在本地机器启动HTTP服务进行调试,这时就需要解决本地服务如何被企业微信访问的问题。
内网穿透工具 — ngrok的使用和限制
在搜索方案时,我发现了非常流行的内网穿透工具——ngrok。它可以将你本地的 HTTP 服务通过一个公网域名暴露出去,方便企业微信服务器直接访问你的本地服务。
但是免费版 ngrok 有一个小缺陷:
- 第一次请求时,ngrok 会先返回一个提示页面,要求用户点击“继续访问”按钮。
- 只有点击继续后,ngrok才会将请求转发给本地服务。
而企业微信的消息推送API是不会自动点击这个按钮的,导致回调请求无法到达你的本地服务,调试非常不便。
发现更好的内网穿透服务 — serveo.net
幸运的是,我找到了另一个内网穿透服务 —— serveo.net,它没有提示页面,能直接将请求转发到本地服务,完美解决了上述问题。
使用命令非常简单:
ssh -R 80:localhost:36060 serveo.net
这样,外网访问 http://xxxxx.serveo.net
就会被转发到本地36060端口上的服务。
官网地址:serveo.net
我的开源项目依赖serveo.net免费域名
我的企业微信机器人开源项目https://github.com/yincongcyincong/MuseBot 就依赖 serveo.net 的免费域名来进行开发和调试。
这个机器人不仅支持企业微信,也兼容飞书、钉钉、Telegram、Discord、Slack 等多个聊天平台,极大方便了多渠道智能机器人开发。
✨ 企业微信机器人项目简介
本项目是一个跨平台聊天机器人,支持企业微信的私聊和群聊场景。
机器人集成了强大的大模型能力,支持智能对话、自动回复、信息推送及协作功能。
🚀 启动企业微信机器人
请使用如下命令启动:
./MuseBot-darwin-amd64 \
-deepseek_token=sk-xxx \
-gemini_token=xxx \
-openai_token=xxx \
-vol_token=xxx \
-com_wechat_token=xxx \
-com_wechat_encoding_aes_key=xxx \
-com_wechat_corp_id=xxx \
-com_wechat_secret=xxx \
-com_wechat_agent_id=xxx
💬 企业微信机器人使用说明
创建企业微信机器人步骤
- 登录企业微信管理后台:
https://work.weixin.qq.com/wework
https://work.weixin.qq.com/wework_admin/ - 新建应用,获取
AgentId
、Secret
,并配置Token
和EncodingAESKey
。
3. 设置回调URL,填写你服务器的域名和路径,用于接收企业微信的消息和事件回调。
5. 配置企业可信IP,确保你本地能请求企业微信的API发送消息。
机器人私聊演示
在企业微信的私聊窗口向机器人发送消息,机器人会自动识别并回复:
如果你也在做需要外网域名的开发,可以参考我的项目和分享的内网穿透方案,快速搭建和调试机器人服务。
更多推荐
所有评论(0)