按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。
企业微信联系人搜索
执行任何wecom-cli命令前,必须先读取并完成wecomcli-shared技能的公共前置检查。
使用 wecom-cli 按关键词搜索企业微信通讯录中的人员。
接口
按关键词批量模糊搜索人员,一次最多 10 个关键词,返回命中 users 数组(姓名 / 英文名 / 职务 / 部门)。关键词可匹配的字段包括:姓名(用户名)、姓名拼音、英文名、别名,而不仅限于中文名和别名。
命令
wecom-cli contact users search --json '<JSON 参数>'参数
| 字段 | 类型 | 必填 | 默认值 | 语义 |
|---|---|---|---|---|
keywords | string[] | 是 | — | 搜索关键词列表,可按姓名(用户名)/ 拼音 / 英文名 / 别名匹配,最多 10 个;多个关键词之间是 OR 关系 |
search_mode | string | 否 | — | 搜索模式,默认不传该参数;仅当需要拿到完整人员名单时,才显式传 "list" |
- 默认(不传
search_mode):返回最相关的候选结果,用于常规按名 / 拼音等查单个人的场景,绝大多数场景走此分支。 - 传
search_mode = "list":返回全量命中列表。仅当用户明确要"完整名单"时才传,典型话术如"一共有几个张三 / 所有叫李四的人 / 列出全部同名 / 全部同名人员"等清点、穷举意图;此时不受"前 5 位"展示上限约束。
返回
| 字段 | 类型 | 说明 | |---|---|--| | users | array | 命中的用户列表 | | users[].userid | string | 用户唯一标识 | | users[].name | string | 中文姓名 | | users[].alias | string | 英文名 / 别名(可能为空) | | users[].email | string | 邮箱(可能为空) | | users[].position | string | 管理职务(如"负责人"),不是"职位"(可能为空) | | users[].matched_keywords | string[] | 本条 user 命中的请求关键词| | users[].departments | string[] | 所在部门路径列表(从大到小),主部门靠前 | | hint | string | 结果限制提示(可能为空):当某个关键词的命中结果因限制未完整返回时,接口会在此字段给出说明 | | users_count | integer | users 数组元素数量 |
使用规则
- 歧义展示上限:同一关键词下候选超过 5 位时,只展示前 5 位(附姓名 / 英文名 / 职务等区分信息),告知用户"若目标不在其中可要求『查看更多』",仅在用户明确要求时再展开下一批;
- 展示顺序:必须严格按照接口返回
users数组的原始顺序展示,不得自行随机排序、重排或打乱次序。 - 结果限制提示:当返回中 hint 字段非空时,必须在回复中告知用户"当前返回内容有限,仅返回了部分结果",并可结合 hint 内容说明受限原因。
缺少参数
必填参数缺失(未提供搜索关键词)且上下文无法推断时,用简洁自然语言向用户追问缺失信息,不得猜测默认值。

