跳转到主要内容

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) - 每页数量,默认 10
  • start_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) [需查询] - 目标群 ID
  • user_list (array) [需查询] - 被邀请人的用户 ID 列表

room remove - 移除群成员

text
用户:把李四从销售组踢出去

Agent:我先确认一下李四的信息。
→ Agent 调用 db contact search 查询李四
→ Agent 查找销售组的 room_id
→ Agent 调用 room remove

Agent:已将李四从销售组移除。
  • room_id (string) [需查询] - 目标群 ID
  • user_list (array) [需查询] - 被移除人的用户 ID 列表

权限要求

移除成员需要群主或管理员权限。被移除的成员如需再次加入,须重新邀请。

room modify_name - 修改群名称

text
用户:把项目讨论群改名叫“Q2项目组”

Agent:好的,我来修改群名。
→ Agent 查找项目讨论群的 room_id
→ Agent 调用 room modify_name,传入新群名“Q2项目组”

Agent:群名已修改为“Q2项目组”。
  • room_id (string) [需查询] - 目标群 ID
  • room_name (string) [用户提供] - 新的群名称

room modify_notice - 修改群公告

text
用户:把Q2项目群的公告改成“每周三下午2点开例会”

Agent:好的,我来更新群公告。
→ Agent 查找Q2项目群的 room_id
→ Agent 调用 room modify_notice,传入新公告内容

Agent:群公告已更新为“每周三下午2点开例会”。
  • room_id (string) [需查询] - 目标群 ID
  • notice (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) [需查询] - 目标群 ID
  • version (number) [来自上次同步返回值] - 版本号,首次传 0,后续传上次返回的版本号

参数来源速查

参数来源标记获取方式
room_id[需查询]通过 room listdb room list 查找群名称对应的 ID
room_list[需查询]room list 返回值中提取群 ID 列表
user_list[需查询]通过 db contact searchroom batch_members 获取用户 ID
room_name[用户提供]用户直接指定新群名
notice[用户提供]用户直接指定公告内容
version[来自上次同步返回值]上次 room sync_info 返回的版本号

典型工作流

工作流 1:创建群聊并邀请成员

用户说“建一个项目讨论群,拉张三、李四、王五进来,群名叫Q2项目组”。Agent 需要分三步完成:

  1. 查询成员 ID:依次通过 db contact search 查询张三、李四、王五的 user_id
  2. 创建群聊:调用 room create_inner,将三人的 user_id 作为初始成员传入,获取新群的 room_id
  3. 设置群名:调用 room modify_name,将群名改为用户指定的“Q2项目组”

工作流 2:查询群组信息

用户说“看看我的群有哪些,看下项目群的详情”。Agent 分步操作:

  1. 获取群列表:调用 room list 获取所有群聊
  2. 查看详情:根据用户选择的群,调用 room batch_detail 获取详细信息
  3. 查看成员:调用 room batch_members 获取群成员列表

工作流 3:成员管理

用户说“把赵六拉到项目群,把李四踢出去”。Agent 操作:

  1. 查询人员 ID:通过 db contact search 分别查询赵六和李四
  2. 邀请进群:调用 room invite 将赵六加入
  3. 移除成员:调用 room remove 将李四移出(需群主/管理员权限)

工作流 4:解散或退出群聊

用户说“把测试群解散”或“我要退出某个群”。Agent 操作:

  1. 确认群信息:查找目标群的 room_id
  2. 解散群(群主操作):调用 room dismiss,但必须先向用户二次确认,因为此操作不可逆
  3. 退出群(普通成员):调用 room quit 退出群聊

AI Agent 注意事项

  • 涉及 room_id 的操作,若用户只提供了群名,先调用 room listdb room list 查找对应的群 ID
  • 涉及 user_list 的操作,需通过 db contact search 获取用户 ID,不能直接用人名
  • modify_namemodify_notice 的内容由用户提供,Agent 不应自行编造
  • dismiss 不可逆,执行前务必向用户二次确认
  • sync_info 的 version 参数必须使用上次同步返回的值,不可随意传 0
  • 批量操作时控制每次数量(建议 20-50),避免请求超时