在此页面上
AI 助手无需查看整个个人档案即可发挥作用。处理存储库的编码助手可能需要相关问题、上次决策和一些文档参考。会议助手可能需要不同的记录。将相同的完整集合发送给两者既不必要也不是可靠的权限模型。
Zortex 将三项职责分开:保留底层记录、为请求组装有用的片段,以及决定哪个外部应用程序可以接收它。不同的 AI 工具可以通过接口与该系统对话,而不是每个都维护一个不兼容的用户历史私有副本。
这 网关、策略和上下文代码 定义了这些集成共享的检索和权限路径。
一个网关,两种传输
实现的网关暴露了模型上下文协议(MCP)接口。它的 MCP会话处理程序 提供了一个通用工具和请求路径;客户端可以通过进程流连接。一个单独的 可流式 HTTP 传输 发送消息到 相同 会话逻辑。
HTTP 传输在设计上是本地的。它拒绝可路由的绑定地址,并且通常在环回上侦听。它也不将 MCP 初始化消息中自报告的名称视为调用者身份的证明。相反,启动器绑定应用程序身份并为本地 HTTP 会话颁发持有者凭据。
这避免了一个常见的错误:将传输变成意外的权限绕过。如果两个传输到达不同的业务逻辑,结果格式或授权的微小差异往往会演变成不同的规则。在这里,策略决策旨在发生在共享网关边界。
该实现及其测试涵盖了MCP协议的一个定义子集。提供协议表面与支持每个协议功能或每个主机的扩展不同。
上下文请求不是数据库导出
AI tool
|
v
stdio MCP / loopback HTTP MCP
|
v
Gateway: identify requesting app
|
v
Policy engine: active grant + scope
|
v
Scoped recall --> context assembly
| |
| v
+--------------> cited context slice
|
v
AI tool response
Out of scope / revoked --> typed refusal
一个网关在将上下文切片提供给AI之前应用源范围。
传入请求描述了一个任务。检索系统可以通过文本、语义、图或时间导向的访问路径找到候选源记录。但请求本身并不授权读取所有可能的匹配项。
这 范围适配器 将保管库召回操作与请求应用程序的授权路径、事件类型以及(如适用)实体边界进行封装。它在上下文引擎组合候选之前应用该围栏。未经授权的材料不应被召回到候选池中,然后仅仅从最终答案中隐藏。
这比提示“请忽略私人信息”更有用。系统可以独立于外部模型遵循指令的意愿拒绝超出范围的读取。
由此产生的 ContextSlice 是对检索问题的任务大小的答案,而不是浏览原始保险库的永久授权。
授权是状态,而非非正式偏好
这 策略引擎测试 演示授予生命周期。提议的授予未激活:在待处理期间发出的请求将被拒绝。用户授权将其移至活动状态。超出允许范围的读取将被拒绝。撤销使后续裁决拒绝请求。
在这些测试中有一个重要的限定:除非缩小范围,否则实现的默认允许内容形式是原始的。我们不应将每个连接都描述为仅限摘要,或暗示系统会自动最小化每个允许的响应。应用程序的实际授权和允许形式很重要。
该架构对应用程序写入有额外的控制。该 外部应用程序路径 要求应用程序注册并获得适当的范围,并用连接器属性的来源标记写入。应用程序不能仅仅通过在其请求中放置该字符串来选择特权用户或系统来源。
即使一个界面同时支持读写权限,它们也是独立的安全性问题。一个有用的上下文功能不应悄悄地暗示修改原始记录的授权。
在服务结果中保留出处
我们的上下文工作超越了选择几个方便的句子。我们需要能够将助手看到的内容连接到其来源和版本。
这 组件上下文网关 与类型化组件来源一起工作,并为所服务的上下文切片和任何加载的组件材料发出记录。它不会通过解析用户提示来发明组件身份。当所需的记录失败时,其记录的边界可以拒绝组件特定部分。
当工具根据后来更改的上下文给出答案时,这种区别很有帮助。一个通用的“AI 有你的文件”日志远不如记录在哪个应用程序授权下提供了哪些引用和版本有用。
一旦允许的结果交付给外部AI,该提供商将根据其自身条款处理。Zortex管理选择和移交,而不是目的地的保留策略。
我们如何验证界面
网关的 MCP协议测试 使用进程内 JSON-RPC 客户端执行初始化、工具列表和类型化拒绝。这是内部线路合同的有意义的证据。
存储库还包括一个 真实客户端评估 旨在检查 Claude Code 工具的转录和网关统计数据。它是环境门控的:如果没有所需的机器生成证据,它将被跳过。仅仅在树中存在该测试并不能证明外部客户端已为最新候选版本运行。
同样,配置 AI 主机与验证已安装主机中有用的授权读取不同。这些是不同的检查。
可移植性保留访问权限
可移植性并不意味着将完整的私人记录导出到每个 AI。它意味着所有者可以保留一个规范的上下文系统,并根据特定任务的需要,授予助手有限的访问权限。
该架构为我们提供了一个具体的方向:不同的接口可以重用相同的上下文组装和策略决策;每个外部应用程序都保持独立可识别、可授权和可撤销。相同的范围和授权规则可以在 stdio 和本地 HTTP 传输中执行。每个主机被授权的路径和内容形式决定了它可以接收什么。
视觉来源: 代码生成的封面研究.
