Claude Code Plugins

Community-maintained marketplace

Feedback

lark-contact

@larksuite/cli
9.5k
26

飞书 / Lark 通讯录,用于按姓名 / 邮箱把员工解析成 open_id,以及按 open_id 反查员工的姓名 / 部门 / 邮箱 / 联系方式。当用户说出某人姓名而下一步需要发消息 / 加群 / 排日程时,先用本 skill 把姓名换成 ID;当输出里出现 open_id 需要展示成姓名给用户看,或用户直接询问某人的部门 / 邮箱 / 联系方式时,用本 skill 查。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。

Install Skill

Shared

Installs to .agents/skills, used by Codex, Amp, Warp, Cursor, OpenCode, and more.

CodexAmp
Warp
CursorOpenCode
Cline
Gemini CLI
GitHub Copilot
Personal

Available across projects.

$npx skills-installer add @larksuite/cli/lark-contact --client shared
Project

Writes to .agents/skills.

$npx skills-installer add @larksuite/cli/lark-contact -p --client shared
Note: Review the skill instructions before using it.

SKILL.md

name lark-contact
version 1.0.0
description 飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。
metadata [object Object]

选哪个命令

user 身份和 bot 身份是两条完全独立的路径。先确定当前身份,再按下表选命令:

想做什么 user 身份 bot 身份
按姓名 / 邮箱搜员工拿 open_id `+search-user` 不支持
按关键词搜索当前用户可见的机器人 / 智能体 `+search-bot` 不支持
已知 open_id 取他人资料 +search-user --user-ids <id> `+get-user --user-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 范围