wecomcli-lookup-contact
查询企业微信通讯录成员,获取全量成员信息,支持按姓名或别名筛选匹配,可在本地缓存加速查询
npx skills add wecomteam/wecom-cli --skill wecomcli-lookup-contactBefore / After 效果对比
1 组手动在企业微信通讯录中翻找成员,记住或复制成员ID以便后续使用,查找一个成员需要2分钟
通过命令行获取全量通讯录并本地缓存,支持模糊搜索和自动匹配,查找成员仅需5秒
description SKILL.md
wecomcli-lookup-contact
通讯录成员查询技能
wecom-cli 是企业微信提供的命令行程序,所有操作通过执行 wecom-cli 命令完成。
获取当前用户可见范围内的通讯录成员,并在本地按姓名/别名进行筛选匹配。
操作
1. 获取全量通讯录成员
获取当前用户可见范围内的所有企业成员信息:
调用示例:
wecom-cli contact get_userlist '{}'
返回格式:
{
"errcode": 0,
"errmsg": "ok",
"userlist": [
{
"userid": "zhangsan",
"name": "张三",
"alias": "Sam"
},
{
"userid": "lisi",
"name": "李四",
"alias": ""
}
]
}
返回字段说明:
字段 类型 说明
errcode
integer
返回码,0 表示成功
errmsg
string
错误信息
userlist
array
用户列表
userlist[].userid
string
用户唯一 ID
userlist[].name
string
用户姓名
userlist[].alias
string
用户别名,可能为空
2. 按姓名/别名搜索人员
get_userlist 返回全量成员后,在本地对结果进行筛选匹配:
-
精确匹配:
name或alias与关键词完全一致,直接使用 -
模糊匹配:
name或alias包含关键词,返回所有匹配结果 -
无结果:告知用户未找到对应人员
搜索示例:
用户问:"帮我找一下张三是谁?"
-
调用
get_userlist获取全量成员 -
在
userlist中筛选name或alias包含"张三"的成员 -
返回匹配结果
注意事项
get_userlist 返回的是当前用户可见范围内的成员,需经过可见性规则过滤,不一定是全公司所有人员;返回字段仅包含 userid、name(姓名)和 alias(别名)
⚠️ 超过 10 人时接口将报错:若 userlist 返回成员数量超过 10 人,视为异常,应立即停止处理并向用户说明:
当前通讯录可见成员数量超过了本技能支持的上限(10 人)。 本技能仅适用于可见范围较小的场景,无法在大范围通讯录中使用。 建议缩小可见范围后重试,或通过其他方式查询目标人员。
userid 是用户的唯一标识,在需要传递用户 ID 给其他接口时使用此字段
alias 字段可能为空字符串,搜索时需做空值判断
若搜索结果有多个同名人员,需将所有候选人展示给用户选择,不得自行决定
若 errcode 不为 0,说明接口调用失败,需告知用户错误信息(errmsg)
典型工作流
工作流 1:查询人员信息
用户问:"帮我查一下 Sam 是谁?"
wecom-cli contact get_userlist '{}'
获取全量成员列表
-
在结果中筛选
alias为Sam或name包含Sam的成员 -
若找到唯一匹配,直接展示结果:
📇 找到成员:
- 姓名:张三
- 别名:Sam
- 用户ID:zhangsan
- 若找到多个匹配,展示候选列表请用户确认:
🔍 找到多个匹配成员,请确认您要查询的是哪位:
1. 张三(别名:Sam,ID:zhangsan)
2. 张三丰(别名:Sam2,ID:zhangsan2)
请问您要查询的是哪一位?
工作流 2:为其他功能提供 userid 转换
用户问:"帮我发消息给张三"
wecom-cli contact get_userlist '{}'
获取全量成员
-
筛选
name为"张三"的成员,确认userid -
将
userid传递给消息发送接口
工作流 3:批量查询多个人员
用户问:"帮我查一下张三和李四分别是谁?"
wecom-cli contact get_userlist '{}'
获取全量成员列表
-
分别筛选"张三"和"李四"的匹配结果
-
汇总后一并展示
注意:只需调用一次 get_userlist,在本地对结果进行多次筛选,避免重复调用接口。
快速参考
接口说明
接口 用途 输入 返回
get_userlist
获取可见范围内全量通讯录成员
无
用户列表(userid、name、alias)
本地筛选策略
场景 策略
精确匹配(name 或 alias 完全一致) 直接使用,无需用户确认
模糊匹配(name 或 alias 包含关键词),唯一结果 直接使用,向用户展示结果
模糊匹配,多个结果 展示候选列表,请用户选择
无匹配结果 告知用户未找到对应人员
Weekly Installs1.1KRepositorywecomteam/wecom-cliGitHub Stars887First Seen1 day agoSecurity AuditsGen Agent Trust HubPassSocketWarnSnykPassInstalled ongemini-cli1.1Kcursor1.1Kcodex1.1Kantigravity1.1Kopencode1.1Kgithub-copilot1.1K
forum用户评价 (0)
发表评价
暂无评价,来写第一条吧
统计数据
用户评分
为此 Skill 评分