wecomcli-contact

通讯录成员查询技能,获取当前用户可见范围内的通讯录成员,支持按姓名/别名本地筛选匹配。返回 userid、姓名和别名。⚠️ 仅返回当前用户有权限查看的成员,非全量成员。

1,387 stars

Best use case

wecomcli-contact is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

通讯录成员查询技能,获取当前用户可见范围内的通讯录成员,支持按姓名/别名本地筛选匹配。返回 userid、姓名和别名。⚠️ 仅返回当前用户有权限查看的成员,非全量成员。

Teams using wecomcli-contact should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/wecomcli-contact/SKILL.md --create-dirs "https://raw.githubusercontent.com/WecomTeam/wecom-cli/main/skills/wecomcli-contact/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/wecomcli-contact/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How wecomcli-contact Compares

Feature / Agentwecomcli-contactStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

通讯录成员查询技能,获取当前用户可见范围内的通讯录成员,支持按姓名/别名本地筛选匹配。返回 userid、姓名和别名。⚠️ 仅返回当前用户有权限查看的成员,非全量成员。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 通讯录成员查询技能

> `wecom-cli` 是企业微信提供的命令行程序,所有操作通过执行 `wecom-cli` 命令完成。

获取当前用户可见范围内的通讯录成员,并在本地按姓名/别名进行筛选匹配。

## 操作

### 1. 获取全量通讯录成员

获取当前用户可见范围内的所有企业成员信息:

**调用示例:**

```bash
wecom-cli contact get_userlist '{}'
```

**返回格式:**

```json
{
    "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` 包含关键词,返回所有匹配结果
- **无结果**:告知用户未找到对应人员

**搜索示例:**

用户问:"帮我找一下张三是谁?"

1. 调用 `get_userlist` 获取全量成员
2. 在 `userlist` 中筛选 `name` 或 `alias` 包含"张三"的成员
3. 返回匹配结果

---

## 注意事项

- `get_userlist` 返回的是当前用户**可见范围内**的成员,需经过可见性规则过滤,不一定是全公司所有人员;返回字段仅包含 `userid`、`name`(姓名)和 `alias`(别名)
- ⚠️ **超过 10 人时接口将报错**:若 `userlist` 返回成员数量超过 10 人,视为异常,应立即停止处理并向用户说明:

  > 当前通讯录可见成员数量超过了本技能支持的上限(10 人)。
  > 本技能仅适用于可见范围较小的场景,无法在大范围通讯录中使用。
  > 建议缩小可见范围后重试,或通过其他方式查询目标人员。

- `userid` 是用户的唯一标识,在需要传递用户 ID 给其他接口时使用此字段
- `alias` 字段可能为空字符串,搜索时需做空值判断
- 若搜索结果有多个同名人员,需将所有候选人展示给用户选择,不得自行决定
- 若 `errcode` 不为 `0`,说明接口调用失败,需告知用户错误信息(`errmsg`)

---

## 典型工作流

### 工作流 1:查询人员信息

用户问:"帮我查一下 Sam 是谁?"

1. 
```bash
wecom-cli contact get_userlist '{}'
```
 获取全量成员列表

2. 在结果中筛选 `alias` 为 `Sam` 或 `name` 包含 `Sam` 的成员
3. 若找到唯一匹配,直接展示结果:

```
📇 找到成员:
- 姓名:张三
- 别名:Sam
- 用户ID:zhangsan
```

4. 若找到多个匹配,展示候选列表请用户确认:

```
🔍 找到多个匹配成员,请确认您要查询的是哪位:

1. 张三(别名:Sam,ID:zhangsan)
2. 张三丰(别名:Sam2,ID:zhangsan2)

请问您要查询的是哪一位?
```

---

### 工作流 2:为其他功能提供 userid 转换

用户问:"帮我发消息给张三"

1. 
```bash
wecom-cli contact get_userlist '{}'
```
 获取全量成员

2. 筛选 `name` 为"张三"的成员,确认 `userid`
3. 将 `userid` 传递给消息发送接口

---

### 工作流 3:批量查询多个人员

用户问:"帮我查一下张三和李四分别是谁?"

1. 
```bash
wecom-cli contact get_userlist '{}'
```
 获取全量成员列表

2. 分别筛选"张三"和"李四"的匹配结果
3. 汇总后一并展示

> 注意:只需调用一次 `get_userlist`,在本地对结果进行多次筛选,避免重复调用接口。

---

## 快速参考

### 接口说明

| 接口 | 用途 | 输入 | 返回 |
|------|------|------|------|
| `get_userlist` | 获取可见范围内全量通讯录成员 | 无 | 用户列表(userid、name、alias) |

### 本地筛选策略

| 场景 | 策略 |
|------|------|
| 精确匹配(name 或 alias 完全一致) | 直接使用,无需用户确认 |
| 模糊匹配(name 或 alias 包含关键词),唯一结果 | 直接使用,向用户展示结果 |
| 模糊匹配,多个结果 | 展示候选列表,请用户选择 |
| 无匹配结果 | 告知用户未找到对应人员 |

Related Skills

wecomcli-todo

1387
from WecomTeam/wecom-cli

企业微信待办事项管理技能,支持查询待办列表、获取待办详情、创建待办、更新待办、删除待办及变更用户处理进度状态。在用户说"看看我的待办列表"、"我有哪些待办"、"帮我创建一个待办"、"把这个任务分派给张三"、"标记待办完成"、"删掉那个待办"、"帮我建个提醒"、"更新一下待办内容"、"把提醒时间改到下周"、"接受这个待办"、"拒绝这个待办"、"这个待办的详情"、"待办分派给谁了"等需要对待办进行读写操作的场景时使用。

wecomcli-schedule

1387
from WecomTeam/wecom-cli

企业微信日程管理技能。适用于用户对企业微信日程的各类管理需求。当用户需要:(1) 查询指定时间范围内的日程列表或获取日程详细信息(标题、时间、地点、参与者等),(2) 创建新日程并设置提醒、参与人等,(3) 修改已有日程的标题、时间、地点等信息或取消日程,(4) 添加或移除日程参与人,(5) 查询多个成员的闲忙状态并分析共同空闲时段以安排会议时使用此技能。

wecomcli-msg

1387
from WecomTeam/wecom-cli

企业微信消息技能。提供会话列表查询、消息记录拉取(支持文本/图片/文件/语音/视频)、多媒体文件获取和文本消息发送能力。当用户需要"查看消息"、"看聊天记录"、"发消息给某人"、"最近有什么消息"、"给群里发消息"、"看看发了什么图片/文件"时触发。

wecomcli-meeting

1387
from WecomTeam/wecom-cli

企业微信会议技能,支持创建预约会议、查询会议列表、获取会议详情、取消会议、更新会议成员。当用户需要"创建会议"、"预约会议"、"约会议"、"安排会议"、"查看会议"、"查询会议列表"、"会议详情"、"什么时候开会"、"有哪些会议"、"查找会议"、"取消会议"、"删除会议"、"修改会议成员"、"添加会议参与人"、"移除会议成员"时触发。

wecomcli-doc

1387
from WecomTeam/wecom-cli

企业微信文档与智能表格管理技能。提供文档的创建、读取、编辑能力,以及智能表格的结构管理(子表、字段)和数据管理(记录增删改查)。适用场景:(1) 以 Markdown 格式获取文档完整内容 (2) 新建文档或智能表格 (3) 用 Markdown 格式覆写文档内容 (4) 管理智能表格子表和字段/列 (5) 查询、添加、更新、删除智能表格记录。支持通过 docid 或文档 URL 定位文档。

wecomcli-manage-smartsheet-schema

1354
from WecomTeam/wecom-cli

企业微信智能表格结构管理技能。提供子表(Sheet)和字段(Field/列)的增删改查能力。适用场景:(1) 查询智能表格的子表列表 (2) 添加、更新、删除子表 (3) 查询子表的字段/列信息 (4) 添加、更新、删除字段/列。当用户需要管理智能表格的表结构、列定义、子表配置时触发此 Skill。支持通过 docid 或文档 URL 定位文档。

wecomcli-manage-smartsheet-data

1354
from WecomTeam/wecom-cli

企业微信智能表格数据(记录)管理技能。提供智能表格记录的增删改查能力。适用场景:(1) 查询子表全部记录 (2) 添加一行或多行记录 (3) 更新已有记录 (4) 删除记录。当用户需要读取表格数据、写入新数据、修改或删除表格行时触发此 Skill。支持通过 docid 或文档 URL 定位文档。

wecomcli-manage-schedule

1354
from WecomTeam/wecom-cli

企业微信日程管理技能。适用于用户对企业微信日程的各类管理需求。当用户需要:(1) 查询指定时间范围内的日程列表或获取日程详细信息(标题、时间、地点、参与者等),(2) 创建新日程并设置提醒、参与人等,(3) 修改已有日程的标题、时间、地点等信息或取消日程,(4) 添加或移除日程参与人,(5) 查询多个成员的闲忙状态并分析共同空闲时段以安排会议时使用此技能。

wecomcli-manage-doc

1354
from WecomTeam/wecom-cli

企业微信文档管理技能。提供文档的创建、读取和编辑能力,支持通过 docid 或文档 URL 操作企业微信文档(doc_type=3)和智能表格(doc_type=10)。适用场景:(1) 以 Markdown 格式导出获取文档完整内容(异步轮询) (2) 新建文档或智能表格 (3) 用 Markdown 格式覆写文档内容。当用户需要查看文档内容、创建新文档、编辑文档正文时触发此 Skill。

wecomcli-lookup-contact

1354
from WecomTeam/wecom-cli

通讯录成员查询技能,获取当前用户可见范围内的通讯录成员,支持按姓名/别名本地筛选匹配。返回 userid、姓名和别名。⚠️ 仅返回当前用户有权限查看的成员,非全量成员。

wecomcli-get-todo-list

1354
from WecomTeam/wecom-cli

企业微信待办列表查询技能,支持按创建时间和提醒时间过滤,支持分页。在用户说"看看我的待办列表"、"我有哪些待办"、"这周的待办有哪些"、"最近有什么待办"、"查一下我的待办"、"列出所有待办"等需要浏览待办概览的场景时使用。注意:此技能仅返回待办概要信息(不含内容和分派人),如需完整详情请配合 wecomcli-get-todo-detail 使用。

wecomcli-get-todo-detail

1354
from WecomTeam/wecom-cli

企业微信待办详情批量查询技能,根据待办 ID 列表获取完整信息(包含待办内容和分派人)。在用户说"看看这个待办的详情"、"待办内容是什么"、"这个待办分派给谁了"、"告诉我待办的具体信息"等需要查看待办完整内容的场景时使用。通常配合 wecomcli-get-todo-list 使用——先获取待办 ID 列表,再用本技能获取详情。