SuperAPI AI 工具集

wecomcli-contact

办公与效率

查看项目

更新于 10-16 10:04

技能介绍

用途

wecomcli-contact 用于在企业微信通讯录中搜索人员。它借助插件提供的 wecom-cli 工具,按姓名、拼音、英文名或别名查找联系人,并查询匹配人员的 userid、部门和职务信息。适合用于查找联系人、区分同名人员、获取用户 userid,以及列出全部同名人员等场景。

主要能力

  • 按关键词批量模糊搜索人员,一次最多 10 个关键词,多个关键词之间是 OR 关系。
  • 关键词可匹配的字段包括:姓名(用户名)、姓名拼音、英文名、别名,而不仅限于中文名和别名。
  • 返回命中的 users 数组,字段包括:
    • userid:用户唯一标识
    • name:中文姓名
    • alias:英文名 / 别名(可能为空)
    • email:邮箱(可能为空)
    • position:管理职务(如“负责人”),不是“职位”(可能为空)
    • matched_keywords:本条 user 命中的请求关键词
    • departments:所在部门路径列表(从大到小),主部门靠前
  • 返回 hint 字段:结果限制提示(可能为空),当某个关键词的命中结果因限制未完整返回时给出说明。
  • 返回 users_count:users 数组元素数量。

使用方式

wecom-cli 是插件提供的 tool,不是终端命令。所有操作都通过调用该 tool 完成,参数应使用 args 传入,禁止通过 exec / shell / 终端等命令行方式使用。

前置条件:首次调用 wecom-cli 前,必须按 wecomcli-preflight 技能执行前置条件检查,确保工具已加入白名单。

调用格式:

wecom-cli contact users search --json '<JSON 参数>'

参数:

  • keywords(string[],必填,无默认值):搜索关键词列表,可按姓名(用户名)/ 拼音 / 英文名 / 别名匹配,最多 10 个;多个关键词之间是 OR 关系。
  • search_mode(string,选填,默认不传该参数):搜索模式。仅当需要拿到完整人员名单时,才显式传 "list"。
    • 默认(不传 search_mode):返回最相关的候选结果,用于常规按名 / 拼音等查单个人的场景,绝大多数场景走此分支。
    • 传 search_mode = "list":返回全量命中列表。仅当用户明确要“完整名单”时才传,典型话术如“一共有几个张三 / 所有叫李四的人 / 列出全部同名 / 全部同名人员”等清点、穷举意图;此时不受“前 5 位”展示上限约束。

使用规则

  • 歧义展示上限:同一关键词下候选超过 5 位时,只展示前 5 位(附姓名 / 英文名 / 职务等区分信息),告知用户“若目标不在其中可要求『查看更多』”,仅在用户明确要求时再展开下一批。
  • 展示顺序:必须严格按照接口返回 users 数组的原始顺序展示,不得自行随机排序、重排或打乱次序。
  • 结果限制提示:当返回中 hint 字段非空时,必须在回复中告知用户“当前返回内容有限,仅返回了部分结果”,并可结合 hint 内容说明受限原因。
  • 缺少参数:必填参数缺失(未提供搜索关键词)且上下文无法推断时,用简洁自然语言向用户追问缺失信息,不得猜测默认值。

适用场景

  • 按姓名、拼音、英文名或别名查找企业微信联系人。
  • 出现多个同名人员时,借助英文名、职务、部门等信息加以区分。
  • 获取某个人员的 userid,供后续操作使用。
  • 用户明确要求清点或穷举全部同名人员时,列出完整名单。

限制

  • wecom-cli 必须通过 tool 调用,不能以终端命令方式执行。
  • 首次调用需先完成 wecomcli-preflight 前置条件检查,确保工具已加入白名单。
  • 一次最多 10 个关键词。
  • 默认模式下同一关键词候选超过 5 位时仅展示前 5 位;完整名单需显式使用 search_mode = "list"。
  • 当 hint 字段非空时,返回结果并不完整。
  • 关于该技能的价格、收费、具体平台支持范围等信息,资料暂未提供。