Skip to content

联系人与社交

桌面端的联系人与社交面让用户管理好友、收发好友请求、搜索用户、屏蔽或解除屏蔽。社交状态规范化在 Realm,桌面端做读取与呈现。

这个面承担什么

功能行为
好友列表平台规范态,由 Realm 提供
好友请求发起、接收、接受、拒绝
用户搜索按 handle / 显示名查找
屏蔽 / 解除屏蔽按用户粒度,经由 Realm 准入
联系人页侧边栏带可折叠搜索;失焦或按 Esc 自动收起

联系人页不是真相来源。Realm 的社交契约 R-SOC-* 才是。桌面端只读取并呈现。

好友关系是规范化的平台真相

Nimi 的好友关系是平台规范化的真相:一旦准入,它不属于某个世界、某次会话、某个应用。Alice 与 Bob 在任何同时到访的世界中可见,在他们都使用的任何 Nimi 应用中可见。

维度取值
存储Realm R-SOC-*
形态有序对唯一性图
跨世界可见是;同一份好友关系在每个世界
跨应用可见是;同一份好友关系在每个 Nimi 应用
修改经由准入的 Realm 契约

在世界 A 加为好友,在世界 B 与任意 Nimi 应用里这段关系直接可见,不需要再次确认。

场景:发送好友请求

你搜索一位用户并发出好友请求。

  1. 搜索。联系人搜索框接受 handle。
  2. Realm 查询。桌面端走已准入的用户搜索面查 Realm,结果按强类型返回。
  3. 发送请求。选中一位用户后,桌面端向 Realm 提交一份强类型好友请求。
  4. Realm 准入。请求被记录,对方看到。
  5. 对方接受。Realm 把好友关系标记为 active(在 R-SOC-* 下登记有序对)。
  6. 处处可见。从这一刻起,好友关系是平台规范态,对方在任何世界都可见。

这段关系不是桌面端的本地缓存,需要同步。它就是 Realm 的规范态,桌面端只是呈现。

场景:屏蔽某位用户

你不想再与某位用户交互,决定屏蔽。

  1. 屏蔽。在联系人页向 Realm 提交屏蔽请求。
  2. Realm 准入。屏蔽被记录,社交图更新。
  3. 跨世界生效。屏蔽在每个世界都生效。聊天前置条件依赖社交状态,会拒绝继续直接对话。
  4. 审计血缘。屏蔽事件被记录。

在任何场景下被屏蔽的用户,在所有场景下都被屏蔽。社交图只有一份,不会按应用分裂。

侧边栏行为

联系人侧边栏的搜索输入框可折叠,失焦或按 Esc 会自动收起。是个细节,但能让这块面用起来更顺手。

来源依据

Nimi AI open world platform documentation.