kavilo
登录

自托管

同一个代理,跑在你的网络里

托管服务从你写的一段描述里回答。有些问题没法这样回答,因为答案在实时系统里——上周有多少订单延迟发货、这个客户的账户是不是逾期了。弥合这个差距有两条路,它们在信任谱上处于不同的位置。

Enterprise 套餐,托管。 代理调用你运行的 MCP 服务器。你公开任何有意义的工具——查询端点、库存检查、CRM 查找——代理在提问时从我们的云调用它们。你的源数据留在你的网络里;只有每个工具调用的响应越过边界。当你愿意让那些数据离开、又不想运营任何 kavilo 基础设施时,这是正确的选择。

自托管。 对完全不能把数据发到任何地方的人,同一个代理跑在你的网络内,紧挨着数据,为你的内网服务。它比你想象的少:数据库桥接就托管在进程内,没有第二个服务要部署,也没有端口要开。

什么也没有暴露

你的内部站点和代理都在你的网络里,所以没有隧道、没有公开主机名、没有入站防火墙规则。这是“无入站”不再是缓解措施的部署——外部没有任何东西在监听。

天生只读

桥接只接受一条只读的 SELECT,包括 WITH … SELECT,缺失行限制时补一个行限制。这是在查询路径里强制执行的,而不是礼貌地请求模型配合——而且它后面还应该放一个不能写入的数据库角色,因为授权是一种控制,检查是第二道防线。

什么会离开,直说

  • 用远程模型提供方——我们的、OpenAI、Anthropic 或任何其他配置了提供方——该提供方会看到对话、你的 schema、代理写的查询,以及这些查询返回的行。
  • 用本地推理,在你的硬件上,什么也不离开。不是 schema,也不是行。

这是真正不同的姿态。如果你的要求是没有一行数据能越过边界,就用本地推理——同一套配置,只改一个提供方设置。别让任何人告诉你托管选项是等价的,我们也不例外。

二进制里有什么

没有我们的店面。你运行的构建里没有支付处理、没有注册流程、没有编译进去的价格表——那些只存在于运行本网站的构建里。这是一条有意的界线:你网络里的代理运行时不该包含 Stripe 客户端,“它为什么会有”是对任何供应商都合理的提问。

它在什么位置

部署代理运行于离开你的网络
托管组件(仅 Context)我们的云Context、访客消息和回复
托管组件,Enterprise(MCP 上下文)我们的云Context、对话、MCP 请求和响应
自托管,远程模型你的网络对话、schema、查询和返回的行
自托管,本地推理你的网络

两种自托管方式用的是同一个 kavilo 部署。从远程模型切到本地推理是提供方配置变更,不是数据迁移。

开始之前

这不是自助服务——得先聊聊你的数据和你的网络。和我们谈谈