mistlib
开发中
不依赖Unity、可用于Web和原生应用的P2P通信库
详情
让虚拟空间中的参与者与附近节点共享信息的P2P通信库。它取代了只能在Unity中使用的MistNet,既可以在Web应用中使用,也可以作为DLL使用。
我与AI编程工具协作,推进Rust核心、原生库和WebAssembly版的实现与测试。
根据位置和AOI(周围的关注区域)选择附近及各方向的连接对象。没有直连的节点之间通过参与者组成的网络转发消息。
用Rust编写,通过WebRTC DataChannel通信。原生库、浏览器WebAssembly版和npm包@tik-choco/mistlib均以MPL-2.0许可发布。
使用Nostr中继和STUN,必要时使用TURN。每个节点的默认连接预算是30,这不代表总参与人数上限,也不保证性能。
MistNet(旧版)
mistlib的前身。用于在Unity虚拟空间中处理通信和对象同步(位置、动画、变量、RPC)的WebRTC库,采用MIT许可。ICCE-Taiwan 2024的论文讨论的就是MistNet。
mistlib-examples
Python、Web、Unity客户端和使用示例,采用Apache-2.0许可。需要另行取得引擎,README中有Web/WASM以及Python或Unity/native的配置说明。
mistlib-unity
用于在Unity中使用mistlib的实验性绑定。支持的环境和限制请参阅README。绑定等采用Apache-2.0,原生引擎采用MPL-2.0。
mistlib-consensus
用于P2P网状网络的复制状态机,可信节点之间用Raft,包含不可信节点时用HotStuff。用Rust编写,核心支持原生平台和wasm32,采用MPL-2.0许可,目前是实验性实现,尚未经过安全审计。
mistai
用于共享HTTP模型连接和P2P AI房间的TypeScript库,聊天、TTS、STT和OpenAI兼容HTTP隧道共用一个注入的传输层。Preact设置界面可以选用,采用MPL-2.0许可。





