本文摘要
OpenKuai 网络模型——三个平面(桥接、tailnet、互联网)、一个为每个服务给出一个名字的注册表,以及作为一切服务的客户端、只对外提供一个服务端的智能体。

三个平面,仅此三个

自托管环境会一次一个例外地长成一团乱麻。OpenKuai 用三个网络平面——且仅这三个守住界线:

  • 桥接——容器到容器,承载 100% 的本地流量。每个服务都监听;每个消费者都调用。
  • tailnet——仅主机到主机,TLS,设备身份。绝不涉及普通容器。
  • 互联网——仅出站,位于主机的允许列表之后。唯一的入站是运营方。

注册表是调用方唯一需要知道的东西

每个服务一个名字:db、llm、rag、kb、agent-<name>。一个名字、一个端口、每个服务一套认证。新增一个服务就是某一个文件里的一行——绝不是新的监听器,绝不是通往既有服务的第二条路径。

智能体:一切的客户端,一件事的服务端

智能体层通过注册名经桥接与内部服务通话,经主机的出站允许列表抵达 LLM 供应商,并为每个智能体对外提供恰好一个经过认证的端点用于对等消息传递。授权凭凭证,绝不凭来源地址。

由此排除的东西:主机端口转发、通往任何服务的第二条路径、逐容器的 VPN 守护进程,以及位于需要它们的那一层之外的数据库凭证。这些拒绝就是设计——默认拒绝是某个人终将放宽的规则。