平台架构
Nimi 切成多个权威面,让任何一层都不会悄悄重写另一层的真相。这一节给的是跨层地图;规范本身保留契约的精度。
这一页是架构的导读,不是架构本身。规则级权威归在 .nimi/spec/platform/kernel/ 下。
高层形状
在高层视角下,Nimi 把职责分给以下几方:
- 平台(Platform) 定义世界模型、六项基础协议,以及谁有权重新定义什么的权威规则。
- Runtime 持有 AI 执行、工作流、流式、模型与 provider 治理、本地能力路由、委派、审计,以及 Runtime 持有的 Agent 参与。
- SDK 给 App 一个官方接入面,让 App 不必导入私有内部实现。
- Realm 持有语义真相、世界状态、世界历史、聊天,以及相关的领域契约。
- 桌面端(Desktop) 承载原生第一方能力,包括 Mod 面与外壳级工作流。
- 网页端(Web) 在浏览器里呈现选定面的受限版本。
- Avatar 把具身 Agent 的呈现作为独立领域来持有。
- Cognition 独立持有 memory、知识、prompt 服务、引用、completion,以及 Runtime 桥语义。
这种切分让集成方式保持灵活,又不会让每个包都变成自己的真相源。
跨层通信
平台规范冻结了一组小而稳的跨层关系。下图每一道箭头都对应一份准入的契约面:
mods <-> desktop : 进程内 hook 运行环境
desktop -> nimi-sdk : 统一开发者接入面
desktop -> nimi-runtime : 走 gRPC 接入 Runtime
nimi-apps -> nimi-realm : REST + WS 接入 Realm
nimi-runtime <-> nimi-cognition : Runtime 桥 / 消费重叠
(权威源仍归 Cognition)由这张图能引出两件事:
- Mod 不绕开桌面端的 Hook 运行环境。Mod 直接调
nimi-runtime就跳过了桌面端的能力边界。 - Cognition 经由 Runtime 桥可达,但 Runtime 不吞并 Cognition 的权威。桥是消费,不是归属。
场景:App 发起一次生成请求
某个 App 需要请 Runtime 在某个世界的上下文里生成一段流式多模态响应。架构告诉它:
- App 通过
sdk/runtime发请求。它不导入 Runtime 私有模块;SDK 是边界。 - Runtime 持有工作流与流式生命周期。它知道请求何时
ACCEPTED、流何时开始、终态帧何时给出、工作流何时COMPLETED。 - 如果 App 同时需要读世界真相(比如想知道有哪些参与者),它走
sdk/realm或sdk/world,那是 Realm 契约的呈现面。它不导入 Realm 内部。 - 如果工作流需要 memory,Runtime 在桥契约下接入 Cognition。App 看不到 Cognition 的内部。
- 如果响应里包含多模态制品,制品走 Runtime 的 artifact 契约,而不是临时拼出来的 URL。
每一步都受准入契约约束。架构存在的意义,恰恰是不让这几步被悄悄地走捷径。
公共与非公共权威
公共仓库公开的是平台、Runtime、SDK、桌面端、网页端、Avatar、Cognition、Nimi Coding 这些面。私有的 Realm 后端权威、Dashboard 权威、创作者侧权威,归在它们各自的归属位置,不会被默默吸入这一份公共文档。
这一区分对读者重要。一页讲 Realm 语义,讲的是公共读取路径,不是后端或创作者控制面的全部契约。
SDK 为什么重要
App 不能直接跨进 Runtime 或 Realm 的私有内部。SDK 是公开的集成面。它让 App 在不导入私有实现边界的前提下,组合 Runtime 支撑的生成、Realm 真相读取、scope 流程、Mod 面。
App 越过这道边界会出两件事。第一,它绑死在会改变的内部上。第二,它会形成自己对 Runtime 或 Realm 行为的本地预期,这种预期会与契约偏移,悄悄地长成本地的真相。