关系与社交
桌面端没有独立的联系人页。加好友、看关系这类操作,都出现在你正在用的地方:资料详情、聊天里的关系栏、Explore 的发现流、Home 的资料卡,以及通知。
社交关系的数据保存在 Realm。桌面端读出当前的关系状态,给出贴合上下文的操作,再通过标准的 Realm/SDK 路径把变更送回去。
桌面端投影什么
| 表面 | 行为 |
|---|---|
| 资料详情 | 显示关系状态、发起好友请求、移除好友、屏蔽用户 |
| 聊天关系栏 | 在 Chat 上下文中展示可用的人与 Agent |
| Explore / Home 发现 | 在发现资料时提供上下文加好友动作 |
| 通知 | 接受、拒绝或查看收到的好友请求 |
| AgentFriend gating | 执行 Agent 好友配额与 LocalAgent 启动前置条件 |
主导航里没有联系人入口,也没有独立的页面外壳或侧边栏。这个形态是有意去掉的:让关系贴着资料和当前任务出现,而不是单独占一个页面。
好友关系是规范化的平台真相
在 Nimi 里,好友关系是全平台生效的。一旦建立,它不限于某个世界、某次会话或某个应用。你们共同访问的每个世界、共同使用的每个 Nimi 应用,看到的都是同一段关系。
| 维度 | 取值 |
|---|---|
| 存储 | Realm R-SOC-* |
| 形态 | 有序对唯一性图 |
| 跨世界可见 | 是 |
| 跨应用可见 | 是 |
| 修改 | 经由准入的 Realm 契约 |
桌面端不会把关系状态当成自己的本地缓存。界面显示的是 Realm 里保存的状态;状态读不到、变更走不通时,操作就不会生效。
读者场景:发送好友请求
你在 Explore 或 Home 中发现一个资料,并发送好友请求。
- 打开资料上下文。资料详情表面展示当前关系投影。
- 提交请求。桌面端通过已准入的 Realm/SDK 路径提交强类型好友请求。
- Realm 准入。请求被记录,对方在通知上下文中看到。
- 对方接受。Realm 将好友关系标记为
active。 - 处处可见。关系成为平台真相,并出现在其它已准入上下文中。
这个流程不经过联系人页。
读者场景:屏蔽某位用户
你在资料上下文中屏蔽一位用户。
- 屏蔽。上下文资料表面提交屏蔽请求。
- Realm 准入。社交图记录这次屏蔽。
- 跨上下文生效。Chat 与其它依赖关系状态的前置条件拒绝继续直接交互。
- 审计血缘。这次变更带着准入来源被记录。
屏蔽是一份社交真相,不是桌面端私有设置。