Skip to content

Realm 与 Runtime 是同侪

Realm 与 Runtime 是 Nimi 工作的两半。它们被有意造成同侪关系:哪一半都不依赖另一半的存在。SDK 是把它们桥起来的唯一面。

为什么是两半,而不是一整块

主流 AI 产品把「云」和「本地 AI 引擎」融成一体:云是真相源,瘦客户端跟它说话。Nimi 有意拆开。

  • Realm 是云一侧的真相。它持有世界真相、世界状态、世界历史、身份、社交图、规范化经济、资产注册表、聊天线程、云侧审计账本。Realm 是「在任何世界、任何设备上,是同一个朋友、同一个钱包、同一个 Agent」之所以成立的根据。
  • Runtime 是个人 PC 上的 AI 引擎。它持有 AI 推理(文本、图像、视频、音频、embedding、STT、TTS)、GPU 仲裁、本地模型生命周期、工作流、Agent 执行(Chat Track 与 Life Track)、本地 memory、知识 bank、App 间消息、委派能力网关、本地审计账本。

两半各自有自己的状态机、契约、存储、审计。关键在于:哪一半都不假设另一半正在运行。

「同侪」在实际中意味着什么

属性含义
没有依赖边Runtime 启动不需要 Realm;Realm 启动不需要 Runtime。
失败模式独立Realm 离线不阻断本地 AI;Runtime 离线不阻断从 Realm 读世界真相。
归属独立Runtime 不能改 Realm 真相;Realm 不能在你的硬件上跑 AI。
经由 SDK 桥接App 通过同一个 @nimiplatform/sdk 接到两边;SDK 是缝,不是 Realm 与 Runtime 之间的暗道。

有一条特别说明的桥不属于同侪边:Runtime ↔ Cognition。Runtime 在已定义的桥契约下,可以消费 Cognition 独立持有的 memory 与知识面。这是消费,不是吸并 —— Cognition 的权威仍归它自己。

场景:Realm 离线时 Runtime 仍在工作

你在笔记本上跑着 Nimi,网络掉了。

  • Runtime 守护进程仍在。本地模型仍能调用,本地 stable-diffusion 仍能生图,本地 Agent 仍能对话,工作流仍能运行。
  • Realm 读取失败。跨世界身份、规范化社交图、经济结算在恢复连接之前不可达。
  • 本地审计继续记录。Realm 恢复后,Runtime 可以把本地审计向上汇总;它不会回写或重写本地的审计真相。
  • 同时读 Runtime 与 Realm 的 App 优雅退化 —— 它们显示「Realm 离线」,不假装云仍然在线。

这就是同侪设计买来的东西:云不可达,并不让你失去 AI 能力。

场景:Runtime 不在时 Realm 正常工作

你在手机或一台不跑本地 AI 引擎的低功耗设备上读 Nimi 世界。

  • Realm 读取正常。你能浏览世界、看消息、看社交图、看资产。
  • 本地 AI 推理不可用 —— 这台设备没有本地 Runtime 守护进程。
  • 需要生成的 App,要么把请求路由到你主机器上的 Runtime(联邦,未来方向),要么呈现「无可用 runtime」路径。它们不会偷偷转走到一个用户没同意的托管路由上。

没有 Runtime 的设备仍是 Nimi 设备 —— 它是真相一侧的瘦客户端。

SDK 为什么把两半都桥上

SDK 让「两个同侪」从 App 开发者视角看起来是一个平台。createPlatformClient() 一次性把 Realm 读取与 Runtime 调用呈现在同一个强类型面上。App 不必知道 Realm 是 REST + WebSocket、Runtime 是 gRPC;也不必知道当前是哪一种传输画像(node-grpctauri-ipclocal-broker)。

SDK 不会做的事:它不发明任何破坏同侪边界的捷径。没有哪一个 SDK 调用会经由 Runtime 路径去改 Realm 真相,也没有哪一个 SDK 调用会经由 Realm 路径去读 Runtime 本地状态。权威级的边界,在开发者面上同样保留。

来源依据

Nimi AI open world platform documentation.