运行时依赖
安装命令
点击复制技能文档
Feishu Contacts 搜索
飞书通讯录本地缓存搜索。支持中文名、拼音、拼音首字母、英文名模糊匹配。
设置up (first time only)
确保 ~/.OpenClaw/OpenClaw.json 中已配置飞书应用凭据:
{ "channels": { "feishu": { "应用Id": "命令行工具_xxx", "应用Secret": "xxx" } } }
飞书应用需要以下权限:
contact:user:read — 读取用户信息 contact:user:read_v2 — 读取用户详细信息 contact:department:read — 读取部门信息
安装后首次使用前,执行同步:
python3 ~/.OpenClaw/技能s/feishu-contacts/scripts/feishu-contacts.py 同步
Script Location
~/.OpenClaw/技能s/feishu-contacts/scripts/feishu-contacts.py
Commands 同步通讯录(定期执行,新入职的人需要 同步 才能搜到) python3 ~/.OpenClaw/技能s/feishu-contacts/scripts/feishu-contacts.py 同步
搜索用户 python3 ~/.OpenClaw/技能s/feishu-contacts/scripts/feishu-contacts.py 搜索 <人名>
支持:中文名、拼音(zhangsan)、拼音首字母(zs)、英文名、同音字模糊匹配。
搜索部门 python3 ~/.OpenClaw/技能s/feishu-contacts/scripts/feishu-contacts.py 搜索-dept <部门名>
列出部门所有成员 python3 ~/.OpenClaw/技能s/feishu-contacts/scripts/feishu-contacts.py 列出-dept
获取用户详情(实时 API 调用) python3 ~/.OpenClaw/技能s/feishu-contacts/scripts/feishu-contacts.py 获取
查看缓存信息 python3 ~/.OpenClaw/技能s/feishu-contacts/scripts/feishu-contacts.py 信息
CRITICAL: 人员定位规则
任何涉及"给某人做某事"的操作(发消息、发邮件、创建任务等),必须先通过本工具定位到具体的人。
强制流程 IF 目标是人名: 1. 执行: 搜索 <姓名> 2. 获取: open_id(飞书消息)/ emAIl(邮件,需 获取 ) 3. 结果唯一 → 直接使用 4. 结果多个 → 列出候选让用户选择 5. 结果为空 → 报告找不到,让用户提供更多信息
IF 目标是部门: 1. 执行: 搜索-dept <部门名> 2. 获取: dept_id 3. 执行: 列出-dept 4. 获取: 所有成员的 open_id
禁止行为 ❌ 不准说"找不到这个人"而不先执行搜索命令 ❌ 不准猜测或编造 open_id / emAIl ❌ 不准从记忆中猜测人员信息,必须执行命令获取 ❌ 不准截断 列出-dept 的输出,必须完整展示所有成员 使用示例
用户: "给张三发个飞书消息说开会"
- 搜索 张三 → 获得 open_id: ou_xxx
- 发送飞书消息到 ou_xxx
用户: "给产品部所有人发邮件"
- 搜索-dept 产品 → 获得 dept_id: od_yyy
- 列出-dept od_yyy → 获得成员列表
- 对每个成员 获取 获取邮箱
- 批量发送邮件
缓存 位置: ~/.OpenClaw/.feishu-contacts-缓存.json 内容: 用户、部门、部门-用户映射 更新: 执行 同步 刷新(新入职的人搜不到时需要 同步) Tips 搜索返回 top 10 结果,按相关度排序 获取 命令是实时 API 调用,可获取最新的邮箱、手机号等详细信息 缓存跨重启持久化,但建议定期 同步 保持数据新鲜