# 企微智能机器人触发器
通过可视化编排的方式,实现企业微信智能机器人的消息触发功能。基于 WebSocket 长连接协议,无需公网 IP,无需配置消息加解密,输入消息后会触发工作流执行。
# 特性
- WebSocket 长连接:无需公网 IP,无需消息加解密
- 自动心跳保活:30秒间隔心跳
- 断线自动重连:指数退避策略,无限重连
- 支持多种消息类型:文本、图片、语音、文件、视频、图文混排
- 流式回复:支持 LLM 场景的流式输出
# 入参
# 创建企微智能机器人凭据
点击【应用开发】>【凭据管理】菜单,点击【添加凭据】按钮,下拉选择【WeCom AI Bot】类型。
需要填写以下信息:
| 字段 | 说明 |
|---|---|
| Bot ID | 机器人 ID(在企业微信管理后台 → 智能机器人页面获取) |
| Secret | 长连接专用密钥(在企业微信管理后台获取) |
# 如何获取 Bot ID 和 Secret
- 打开企业微信 PC 客户端
- 点击左侧的【工作台】
- 在企微功能下选择【智能机器人】
- 点击【创建机器人】
- 滚动到底部,选择【API 模式】创建
- 连接方式选择:【使用长连接】
- 创建完成后,在机器人详情页面即可获取 Bot ID 和 Secret
# 消息类型
支持以下消息类型:
| 类型 | 说明 |
|---|---|
| text | 文本消息 |
| image | 图片消息 |
| voice | 语音消息(自动转文字) |
| file | 文件消息 |
| video | 视频消息 |
| mixed | 图文混排消息 |
# 触发范围
任意输入触发
这种模式,IOLinker 会对用户所有的消息输入进行响应,触发工作流执行。
命令输入触发
设置指定命令方式触发,例如:
/help、/query -k test。指令方式支持解析输入的参数。命令参数
可以设定命令及其接受的参数,支持如下参数类型:
- Boolean
- Integer
- Float
- String
/nmap -h 1.1.1.1 -p 22应用输出如下:
{ "cmdParameters": { "h": "1.1.1.1", "p": 22 }, "command": "/nmap -h 1.1.1.1 -p 22", "from": { "chatType": "single", "id": "user001", "username": "user001" }, "origin": "" }
# 调试数据
调试数据是模拟应用在运行时输出的结果,方便用户在设计工作流时调试。
示例:
{
"msgtype": "text",
"chattype": "single",
"chatid": "test_user_001",
"from": {"userid": "test_user_001"},
"text": {"content": "你好"}
}
# 出参
{
"cmdParameters": {
"h": "1.1.1.1",
"p": 22
},
"command": "/test -h 1.1.1.1 -p 22",
"message": {
"text": "/test -h 1.1.1.1 -p 22",
"type": "text"
},
"from": {
"chatType": "single",
"id": "user001",
"username": "user001"
},
"origin": ""
}
cmdParameters
解析输出用户命令传参的各个参数值。
command
用户输入的完整命令或文本
message
- text:消息文本内容
- type:消息类型(text/image/voice/file/video/mixed)
from
- chatType:
single表示单聊消息、group表示群聊消息 - id:表示发送该消息的用户 userid
- username:表示发送该消息的用户名称
- chatType:
# 注意事项
- 凭证安全:Bot ID 和 Secret 通过凭据管理存储,AES 加密保存
- 单连接限制:每个机器人同一时间只能保持一个有效长连接,新连接会踢掉旧连接
- 回复时限:欢迎语和模板卡片更新需在 5 秒内回复
- 流式超时:流式消息从首次发送开始 10 分钟内必须完成
- 频率限制:回复+主动推送共享配额,30 条/分钟,1000 条/小时