ZGI 的私有化部署能力可以把 Agent Runtime 及主要运行组件放进企业自己的基础设施,便于团队控制应用、数据和执行环境。模型、工具与通知服务仍可能连接外部网络,因此验收时要追踪一次真实任务经过的每条连接,不能只看服务器装在什么位置。
ZGI 的自托管运行环境包含控制台、API、Runner、Sandbox、PostgreSQL 和 Redis,模型路由、知识、数据库、Skills 和 Workflow 可以在同一工作区组织。部署位置解决了运行环境归属,具体数据是否出网仍取决于模型、工具与网络策略怎样配置。
先画数据路线,再谈内网边界
一条常见任务会经过用户输入、知识检索、模型推理、工具执行和结果保存。文件可以留在内网,检索出的片段却可能随提示词发往外部模型;数据库部署在本地,工具调用仍可能访问公网接口。只检查存储位置,很容易漏掉运行过程中的数据副本。
可以拿一条包含测试资料的任务做抓包或网关日志核对。记录每次请求的目标域名、发送字段、返回内容和落盘位置,再由业务负责人确认哪些字段允许离开内网。测试资料要覆盖附件、表格、长文本和工具参数,因为不同节点携带的数据并不相同。
| 检查位置 | 可能出网的内容 | 验收动作 |
|---|---|---|
| 模型调用 | 问题、上下文、检索片段 | 切换内外部模型并核对请求字段 |
| 工具接口 | 账号标识、业务参数、文件 | 按域名和接口建立放行清单 |
| 依赖获取 | 包名、版本、镜像请求 | 使用内部镜像或固定安装窗口 |
| 通知与日志 | 任务状态、错误内容、摘要 | 检查脱敏规则与接收端范围 |
模型和工具要分别检查
模型路由决定提示词发往哪里。使用企业内模型时,要确认推理服务、向量模型和重排模型是否都在批准的网络区域;使用外部模型时,应提前规定允许发送的数据级别。只给提示词写一句“不要泄露敏感信息”,无法代替网关过滤、字段裁剪和访问控制。
工具链路更容易被忽略。一个用于查询天气、发送消息或生成文件的 Skill,可能继续访问第三方 API、对象存储或软件源。部署团队需要逐个检查工具的网络目的地,并测试未列入白名单的地址能否被阻断。Runner 与 Sandbox 承接执行任务时,也要核对网络、目录、超时和产物回传边界。
运行记录也在数据范围内
日志常会保存问题摘要、工具参数、错误栈和节点输出。它们方便排错,也可能形成新的敏感数据副本。日志字段、查看权限、保留时间和导出位置需要一起确定,外部监控平台只能接收经过批准的内容。
在 ZGI 中验收时,可以选一条会检索资料、调用模型并执行工具的完整 Workflow。先在阻断公网的环境运行,再按清单逐项放行;每放开一个目标,都写明用途、数据类型和责任人。任务最终跑通后,还要撤销一个普通账号的权限,确认它无法读取未授权知识、调用高风险工具或查看他人的运行记录。
判断私有化部署是否符合边界要求,最直观的证据来自网络日志和失败样本:该留在内网的数据没有出现在外部请求中,未批准的连接会被阻断,批准连接携带的字段也与清单一致。
GitHub:github.com/zgiai/zgi
Gitee:gitee.com/zgiai/zgi