lark-contact 是面向飞书通讯录场景的技能(contact v1),主要解决组织架构、人员信息与员工搜索类需求。
用途
该技能用于:查看个人信息、查找同事的 open_id 或联系方式、按姓名搜索员工、查询部门结构。
主要能力
- 获取当前用户或指定用户的详细信息。
- 通过关键词搜索员工,支持按姓名、邮箱、手机号。
- 查询组织架构与部门结构。
使用方式
开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理相关信息。
推荐优先使用 Shortcuts(对常用操作的高级封装,命令形式为 lark-cli contact +<verb> [flags]):
- +search-user:搜索用户(结果按相关度排序)。
- +get-user:获取用户信息(省略 user_id 表示查询本人;提供 user_id 表示查询指定用户)。
已知限制
外部租户用户无法通过 API 搜索。+search-user、+get-user 以及 GET /contact/v3/users 只返回同一租户内的用户。
其他组织的飞书账号(外部 Lark 账号)不会出现在搜索结果中,其 open_id / user_id 也无法通过通讯录 API 获取——即使使用租户访问令牌(机器人身份)也不行。
可选的变通方案:
- 将外部用户加入 Wiki/文档:通过管理后台邀请其为访客,然后使用邀请后返回的 open_id。
- 与外部用户共享文档:使用 open_sharing: anyone_readable(基于链接,无需飞书账号)。
- 获取外部用户的 open_id:请用户在飞书个人资料设置中自行查看 open_id。
管理后台邀请后,可直接使用 openid:
lark-cli wiki members create \
--params '{"space_id":"<space_id>"}' \
--data '{"member_id":"ou_XXXXXX","member_type":"openid","member_role":"member"}'
参考:docs/known-issues/lark-external-user-api-gap.md