Agent Skills
› larksuite/cli
› lark-contact
lark-contact
GitHub用于飞书通讯录管理,支持按姓名/邮箱解析用户open_id、反查用户详情及状态,以及搜索可见的机器人或智能体。
Trigger Scenarios
需要获取用户或机器人的 open_id
查询同事的详细资料或个人签名
Install
npx skills add larksuite/cli --skill lark-contact -g -y
SKILL.md
Frontmatter
{
"name": "lark-contact",
"version": "1.0.0",
"metadata": {
"cliHelp": "lark-cli contact --help",
"requires": {
"bins": [
"lark-cli"
]
}
},
"description": "飞书 \/ Lark 通讯录:按姓名 \/ 邮箱解析成 open_id,或按 open_id 反查姓名 \/ 部门 \/ 邮箱 \/ 联系方式 \/ 个人状态 \/ 签名,以及按关键词搜索当前用户可见的机器人 \/ 智能体(agent)。当用户提到一个名字要下一步发消息 \/ 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。"
}
选哪个命令
user 身份和 bot 身份是两条完全独立的路径。先确定当前身份,再按下表选命令:
| 想做什么 | user 身份 | bot 身份 |
|---|---|---|
| 按姓名 / 邮箱搜员工拿 open_id | +search-user |
不支持 |
| 按关键词搜索当前用户可见的机器人 / 智能体 | +search-bot |
不支持 |
| 已知 open_id 取他人资料 | +search-user --user-ids <id> |
+get-user --user-id <id> |
| 查看自己 | +get-user 或 +search-user --user-ids me |
不支持 |
| 查同事的个人状态 / 签名 | user_profiles batch_query |
不支持 |
已知 open_id 只是想发消息 / 排日程,不必经过 contact —— 直接 lark-im / lark-calendar。
名字没说清是人还是机器人 / 智能体
用户给的名字常常不表明类型。例如「和 reviewDuck 约个会」里的 reviewDuck 可能是同事昵称,也可能是机器人。
- 名字含 bot / agent / AI / 助手 / 机器人 / 智能体 / assistant 等明显特征时,反过来先搜机器人更快
- 不确定的话两边都搜一下
典型场景
找张三给他发消息:先搜,确认 open_id,再发:
lark-cli contact +search-user --query "张三" --has-chatted --as user
lark-cli im +messages-send --user-id ou_xxx --text "Hi!"
批量查同事的个人状态 / 个性签名(先用 schema 看参数)。
lark-cli schema contact.user_profiles.batch_query
lark-cli contact user_profiles batch_query \
--params '{"user_id_type":"open_id"}' \
--data '{"user_ids":["ou_xxx","ou_yyy"],"query_option":{"include_personal_status":true,"include_description":true}}' \
--as user
搜索命中多条且后续操作有副作用(发消息、邀请会议等),把候选列给用户挑;不要擅自选第一条。
搜索机器人 / 智能体
+search-bot 使用 user 身份按关键词搜索当前用户可见的机器人,返回 ou_ 开头的机器人 open_id。参数细节等见 lark-contact-search-bot.md。
lark-cli contact +search-bot --query '会议助手' --as user
lark-cli contact +search-bot --queries '会议助手,日报助手,审批助手' --as user
注意事项
- 41050 / Permission denied 受当前身份的可见范围限制(三条命令都可能遇到)。细节见
lark-shared。 - 跨租户用户(
is_cross_tenant=true)多数业务字段为空字符串,这是飞书可见性规则,下游做空值兜底。 - ID 类型:
+get-user可通过--user-id-type使用open_id、union_id或user_id;+search-user使用用户 open_id;+search-bot不支持按 ID 查询,它按关键词搜索并返回机器人 open_id。
不在本 skill 范围
- 发消息 / 查聊天记录 →
lark-im - 排日程 / 邀请会议 →
lark-calendar - 部门树 / 按部门列员工 / 组织架构 →
lark-openapi-explorer查找原生接口
Version History
-
755daa4
Current 2026-08-20 01:54
新增 bot 身份下按关键词搜索机器人/智能体的功能;修复 bot 匹配片段携带标签或空条目的问题。
- a7865cd 2026-07-25 08:02


