NekoTool 开放接口与协议规范文档 🐾
NekoTool 基于 Android 无障碍状态机架构,原生实现对企业微信的高稳定性、零侵入自动化控制。 接口体系 100% 协议级兼容 WorkTool 官方 Apifox 规范,支持 60QPM 高并发任务下发、实时入站消息回调、AI 驱动与长连接双向调度。
客户端长连接协议通道
WebSocketAndroid 客户端启动无障碍服务后,会自动向该地址建立 WebSocket 双向心跳通道,保持常驻监听与指令接收。
| 参数 | 类型 | 位置 | 说明 |
|---|---|---|---|
robot_id必填 | String | Path | 机器人的唯一识别码(在 App 首页配置或生成) |
💡 服务端与终端每 30 秒进行一次心跳报文对齐(socketType: 0 -> 1)。当有新消息或指令时,通过 socketType: 2 下发与回执。
1. 便捷发送消息
POST向指定的单聊联系人或群聊发送纯文本消息,支持传入多个群名同时批量发送,并支持 @ 指定群成员。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
robot_id | String | 是 | 目标机器人 ID |
titleList | Array<String> | 是 | 目标联系人昵称或群聊完整名称(支持多个) |
content | String | 是 | 需要发送的文本内容(换行请直接使用 \n) |
atList | Array<String> | 可选 | 群聊内需要 @ 的成员群昵称列表(例如 ["张三", "李四"]) |
curl -X POST "https://nekotool.scxho.cn/worktool-api/wework/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"robot_id": "rebot1",
"titleList": ["VIP核心客户群", "运营保障群"],
"content": "大家好!这是来自 NekoTool 自动化系统的定时巡检提醒 🐾",
"atList": ["张三"]
}'
{
"code": 200,
"message": "success",
"data": {
"messageId": "1942501372444566650",
"type": 203,
"code": 200,
"message": "发送成功",
"timestamp": 1793172000000
}
}
2. 自动创建群聊
POST自动拉取指定好友名单建立新群,并设定群聊初始名称。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
robot_id | String | 是 | 目标机器人 ID |
groupName | String | 是 | 新创建的群聊名称 |
selectList | Array<String> | 是 | 初始拉入群聊的好友昵称数组 |
curl -X POST "https://nekotool.scxho.cn/worktool-api/wework/createGroup" \
-H "Content-Type: application/json" \
-d '{
"robot_id": "rebot1",
"groupName": "新客户交付专属保障群",
"selectList": ["客户经理-王五", "售后支持-小李"]
}'
3. 群管理(拉人/踢人/改名/发公告)
POST对既有群聊进行人员变动、群名称更迭或批量下发群公告。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
robot_id | String | 是 | 机器人编号 |
groupName | String | 是 | 当前需要操作的目标群聊名称 |
newGroupName | String | 可选 | 需要修改的新群名称 |
selectList | Array<String> | 可选 | 需要新邀请拉入群的好友列表 |
removeList | Array<String> | 可选 | 需要踢出群聊的成员名单 |
groupAnnouncement | String | 可选 | 发布全新群公告内容 |
curl -X POST "https://nekotool.scxho.cn/worktool-api/wework/updateGroup" \
-H "Content-Type: application/json" \
-d '{
"robot_id": "rebot1",
"groupName": "VIP客户群",
"selectList": ["新签约客户-赵总"],
"groupAnnouncement": "欢迎新客户加入,群内请文明交流!"
}'
4. 自动通过所有好友申请
POST通知 Android 客户端自动进入企微“新的联系人”页面,全量批量通过等待审核的好友申请。
curl -X POST "https://nekotool.scxho.cn/worktool-api/wework/passFriendRequests" \
-H "Content-Type: application/json" \
-d '{ "robot_id": "rebot1" }'
5. 官方万能原始指令通道 (sendRawMessage)
POST
与 WorkTool 官方底层完全一致的协议通道。通过传入 type 枚举,可以直接派发任意高级指令,
包括发送文件、图文外链、微盘、扫码加人、修改群成员备注等。
核心 Type 常量与支持对照
| Type 值 | 指令含义 | 关键参数 |
|---|---|---|
203 | 发送文本消息 | titleList, receivedContent, atList |
204 | 引用回复指定消息 | receivedName, originalContent, receivedContent |
205 | 转发指定聊天内容 | titleList, nameList, receivedContent |
206 | 创建新群聊 | groupName, selectList |
207 | 群管理(拉/踢/改名/公告) | groupName, selectList, removeList, newGroupName |
212 | 通过所有好友申请 | - |
213 | 手机号主动加好友 | friend (手机号), extraText (打招呼语) |
218 | 发送本地/网络文件 | titleList, fileUrl 或 fileBase64 |
219 | 解散群聊 | groupName |
220 | 群聊内批量添加成员为好友 | groupName, friend (群成员昵称) |
224 | 发送图文卡片链接 | titleList, receivedContent(标题), originalContent(描述), fileUrl(跳转链接) |
225 | 修改群成员备注与企业信息 | groupName, friend, markName, markCorp |
226 | 撤回刚发出的消息 | titleList, originalContent |
501 | 读取指定群聊详细属性与成员 | selectList (群名称列表) |
502 | 读取指定联系人详情 | selectList (联系人昵称列表) |
505 | 获取企微最近会话列表 | - |
发送文件指令调用示例 (Type: 218)
{
"robot_id": "rebot1",
"list": [
{
"type": 218,
"titleList": ["技术研发群"],
"fileUrl": "https://nekotool.scxho.cn/NekoTool-latest.apk",
"extraText": "这是最新客户端安装包"
}
]
}
发送图文卡片分享链接 (Type: 224)
{
"robot_id": "rebot1",
"list": [
{
"type": 224,
"titleList": ["VIP客户群"],
"receivedContent": "NekoTool 企微自动化控制台上线",
"originalContent": "点击立即体验零侵入轻量级长连接企业微信机器人",
"fileUrl": "https://nekotool.scxho.cn/dashboard"
}
]
}
6. 实时入站消息 Webhook 回调推送
PUSH在控制台「机器人信息」配置了您的业务接收端地址后,机器人手机在企业微信中每读取到一条聊天消息, 都会即时通过 HTTP POST 向您的服务器推送标准 JSON 数据包。
{
"robotId": "rebot1",
"event": {
"socketType": 2,
"messageId": "1942501372444566650",
"list": [
{
"type": 101,
"titleList": ["VIP客户交流群"],
"receivedName": "张三",
"receivedContent": "@rebot1 请问你们系统支持定时群发吗?",
"isAt": true,
"roomType": 1,
"textType": 1
}
]
},
"timestamp": 1793172000000
}
✅ 自动回复联动:您的服务器收到该 Webhook 后,可将消息交给您的业务后台、大模型或知识库,生成回答后再调用上面的 /sendMessage 即可完成 100% 自主闭环!