juhecli-room 企微群组
juhecli-room - 企业微信群组全生命周期管理:创建、成员操作、信息修改、解散
使用案例
创建群,群主 Hanson,群成员 Jony 和 Tony技术部群有多少人把张三踢出技术部群解散测试群
列出所有群
查询当前加入的所有群聊
>列出所有群
$juhe-cli room list
{
"data": {
"list": [
{
"room_id": "rrrr-rrrr-rrrr",
"room_name": "项目讨论群",
"member_count": 12
},
{
"room_id": "ssss-ssss-ssss",
"room_name": "销售组",
"member_count": 8
},
{
"room_id": "tttt-tttt-tttt",
"room_name": "客户服务群",
"member_count": 25
}
]
}
}
查看群成员
获取指定群的成员列表
>看看项目讨论群的成员
// Agent 先通过 room list 找到目标群的 room_id
$juhe-cli room batch_members --room_list rrrr-rrrr-rrrr
{
"data": {
"list": [
{
"user_id": "xxxx-xxxx-xxxx",
"nickname": "张三",
"role": "owner"
},
{
"user_id": "yyyy-yyyy-yyyy",
"nickname": "李四",
"role": "member"
},
{
"user_id": "zzzz-zzzz-zzzz",
"nickname": "王五",
"role": "member"
}
]
}
}
概述
企微群组 SKILL(juhecli-room)是 AI Agent 管理企业微信群组的完整工具集。 涵盖群列表查询、群详情/成员获取、内部群/外部群创建、邀请与移除成员、 修改群名称和公告、增量同步群信息、解散与退出群聊等全部群组操作。
群组类型
内部群(create_inner):仅限企业内部成员。外部群(create_outer):可包含外部联系人,有成员上限。
触发方式
当用户用自然语言表达以下意图时,Agent 应激活此 SKILL:
- “查看群列表” / “我有哪些群” / “列出所有群”
- “创建群” / “建个内部群” / “建个外部群”
- “邀请张三进群” / “把李四拉到群里”
- “踢出李四” / “把王五移出群”
- “修改群名” / “把群名改成xxx”
- “修改群公告” / “更新群公告为xxx”
- “解散群” / “把那个群解散了”
- “退出群” / “我要退群”
- “同步群信息” / “更新群数据”
命令一览
| SKILL 名称 | 说明 |
|---|---|
juhecli-room | 企微群组管理 - 群列表/详情/成员/创建/邀请/踢人/改名/公告/解散/退出/同步 |
Agent 交互示例
room list - 查看群列表
text
用户:我有哪些群?
Agent:好的,我来帮您查看群列表。
→ Agent 调用 room list
Agent:您目前加入了以下群聊:
1. 项目讨论群(12人)
2. 销售组(8人)
3. 客户服务群(25人)
...
需要查看某个群的详细信息吗?limit(number) - 每页数量,默认 10start_index(number) - 起始偏移,默认 0
room create_inner / create_outer - 创建群聊
text
用户:建一个内部群,把张三和李四拉进来
Agent:好的,我先查询一下张三和李四的信息。
→ Agent 调用 db contact search 查询张三和李四的 user_id
→ Agent 调用 room create_inner,传入两人的 user_id
Agent:内部群已创建成功!群里有张三和李四两位成员。需要修改群名吗?user_list(array) [需查询] - 初始成员的用户 ID 列表,Agent 需先通过 db contact search 获取
外部群限制
外部群有成员数量上限(通常 200 人),创建前确认成员数量合规。
room invite - 邀请成员入群
text
用户:把王五邀请到项目讨论群里
Agent:我先查找王五的信息和项目讨论群。
→ Agent 调用 db contact search 查询王五
→ Agent 调用 room list 或 db room list 查找项目讨论群的 room_id
→ Agent 调用 room invite
Agent:已成功将王五邀请到项目讨论群。room_id(string) [需查询] - 目标群 IDuser_list(array) [需查询] - 被邀请人的用户 ID 列表
room remove - 移除群成员
text
用户:把李四从销售组踢出去
Agent:我先确认一下李四的信息。
→ Agent 调用 db contact search 查询李四
→ Agent 查找销售组的 room_id
→ Agent 调用 room remove
Agent:已将李四从销售组移除。room_id(string) [需查询] - 目标群 IDuser_list(array) [需查询] - 被移除人的用户 ID 列表
权限要求
移除成员需要群主或管理员权限。被移除的成员如需再次加入,须重新邀请。
room modify_name - 修改群名称
text
用户:把项目讨论群改名叫“Q2项目组”
Agent:好的,我来修改群名。
→ Agent 查找项目讨论群的 room_id
→ Agent 调用 room modify_name,传入新群名“Q2项目组”
Agent:群名已修改为“Q2项目组”。room_id(string) [需查询] - 目标群 IDroom_name(string) [用户提供] - 新的群名称
room modify_notice - 修改群公告
text
用户:把Q2项目群的公告改成“每周三下午2点开例会”
Agent:好的,我来更新群公告。
→ Agent 查找Q2项目群的 room_id
→ Agent 调用 room modify_notice,传入新公告内容
Agent:群公告已更新为“每周三下午2点开例会”。room_id(string) [需查询] - 目标群 IDnotice(string) [用户提供] - 新的公告内容
room dismiss - 解散群聊
text
用户:把那个测试群解散了
Agent:解散群聊后无法恢复,所有成员将被移除,聊天记录会丢失。
请确认:您真的要解散测试群吗?
用户:确认
→ Agent 调用 room dismiss
Agent:测试群已解散。解散不可逆
解散群聊后无法恢复,所有成员将被移除,聊天记录丢失。执行前务必向用户二次确认。
room batch_detail / batch_members - 查看群详情与成员
text
用户:看看项目讨论群的详情和成员
Agent:好的,我来查看。
→ Agent 调用 room batch_detail,获取群详情
→ Agent 调用 room batch_members,获取群成员列表
Agent:项目讨论群详情:
- 群主:张三
- 成员数:12人
- 成员列表:张三、李四、王五、赵六...room sync_info - 增量同步群信息
text
用户:同步一下项目群的信息
Agent:好的,我来同步群信息。
→ Agent 查找项目群的 room_id
→ Agent 使用上次同步返回的 version 值,调用 room sync_info
Agent:群信息已同步,发现 3 条变更。room_id(string) [需查询] - 目标群 IDversion(number) [来自上次同步返回值] - 版本号,首次传 0,后续传上次返回的版本号
参数来源速查
| 参数 | 来源标记 | 获取方式 |
|---|---|---|
room_id | [需查询] | 通过 room list 或 db room list 查找群名称对应的 ID |
room_list | [需查询] | 从 room list 返回值中提取群 ID 列表 |
user_list | [需查询] | 通过 db contact search 或 room batch_members 获取用户 ID |
room_name | [用户提供] | 用户直接指定新群名 |
notice | [用户提供] | 用户直接指定公告内容 |
version | [来自上次同步返回值] | 上次 room sync_info 返回的版本号 |
典型工作流
工作流 1:创建群聊并邀请成员
用户说“建一个项目讨论群,拉张三、李四、王五进来,群名叫Q2项目组”。Agent 需要分三步完成:
- 查询成员 ID:依次通过 db contact search 查询张三、李四、王五的 user_id
- 创建群聊:调用 room create_inner,将三人的 user_id 作为初始成员传入,获取新群的 room_id
- 设置群名:调用 room modify_name,将群名改为用户指定的“Q2项目组”
工作流 2:查询群组信息
用户说“看看我的群有哪些,看下项目群的详情”。Agent 分步操作:
- 获取群列表:调用 room list 获取所有群聊
- 查看详情:根据用户选择的群,调用 room batch_detail 获取详细信息
- 查看成员:调用 room batch_members 获取群成员列表
工作流 3:成员管理
用户说“把赵六拉到项目群,把李四踢出去”。Agent 操作:
- 查询人员 ID:通过 db contact search 分别查询赵六和李四
- 邀请进群:调用 room invite 将赵六加入
- 移除成员:调用 room remove 将李四移出(需群主/管理员权限)
工作流 4:解散或退出群聊
用户说“把测试群解散”或“我要退出某个群”。Agent 操作:
- 确认群信息:查找目标群的 room_id
- 解散群(群主操作):调用 room dismiss,但必须先向用户二次确认,因为此操作不可逆
- 退出群(普通成员):调用 room quit 退出群聊
AI Agent 注意事项
- 涉及
room_id的操作,若用户只提供了群名,先调用room list或db room list查找对应的群 ID - 涉及
user_list的操作,需通过db contact search获取用户 ID,不能直接用人名 modify_name和modify_notice的内容由用户提供,Agent 不应自行编造dismiss不可逆,执行前务必向用户二次确认sync_info的 version 参数必须使用上次同步返回的值,不可随意传 0- 批量操作时控制每次数量(建议 20-50),避免请求超时