通讯录与身份映射

跨 IM 平台的成员身份关联——让 OpenVort 认识"同一个人"。

问题:同一个人,多个身份

一个团队成员通常同时使用企微、钉钉、飞书。在每个平台上,这个人有不同的用户 ID。如果不做关联,OpenVort 会把同一个人当作三个不同的人。

张小明
  ├── 企微: userid_zhangxm
  ├── 钉钉: dingxm_12345
  └── 飞书: ou_abcdef

通讯录的身份映射功能就是解决这个问题——让 OpenVort 知道这三个 ID 都是张小明

同步通讯录

连接 IM 通道后,第一步是同步通讯录。

通过对话同步

用户: 帮我同步一下企微的通讯录

AI: 正在从企微拉取成员列表...
  同步完成:
  - 新增 25 位成员
  - 更新 3 位成员信息
  - 发现 5 条跨平台匹配建议(需要你确认)

通过 CLI 同步

openvort contacts sync

同步做了什么

  1. 调用 IM 平台 API 拉取成员列表
  2. 与 OpenVort 数据库中的成员比对
  3. 新成员自动创建,已有成员更新信息
  4. 根据姓名、手机号等信息自动生成跨平台匹配建议

匹配建议

同步后,系统会自动识别可能是同一个人的跨平台身份。匹配依据:

匹配条件可信度
手机号完全相同
姓名完全相同
姓名 + 部门相同

处理匹配建议

匹配建议需要人工确认,防止误关联:

用户: 看看有哪些匹配建议

AI: 共 5 条待确认的匹配建议:
  1. 企微「张小明」<-> 钉钉「zhangxm」(姓名匹配)
  2. 企微「李小红」<-> 飞书「lixh」(手机号匹配)
  3. 企微「王强」<-> 钉钉「wangq」(姓名匹配)
  ...
  要接受全部建议还是逐一确认?

用户: 全部接受

AI: 已接受 5 条匹配,身份关联完成。

CLI 管理匹配

openvort contacts match       # 查看待确认的匹配建议
openvort contacts accept      # 接受匹配
openvort contacts reject      # 拒绝匹配

手动绑定

对于系统未自动识别的身份,可以手动绑定:

用户: 帮我把飞书的 ou_xyz 绑定到王小刚

AI: 已将飞书用户 ou_xyz 绑定到成员「王小刚」。

映射后的效果

身份映射完成后:

  • 消息路由 — 用户从任何 IM 平台发消息,OpenVort 都知道是同一个人
  • 任务分配 — AI 在 VortFlow 中分配任务时能找到正确的成员
  • 工作汇报 — 跨平台汇总同一个人的活动记录
  • 通知投递 — 根据用户偏好,选择合适的 IM 通道发送通知

最佳实践

  1. 先连通道、再同步 — 先配好 IM 通道,再执行通讯录同步
  2. 手机号优先 — 确保 IM 平台上的成员信息包含手机号,提高自动匹配准确率
  3. 先接受高可信度匹配 — 手机号匹配的直接接受,姓名匹配的逐一确认
  4. 定期同步 — 新成员入职后再次同步,保持通讯录最新