跳到主要内容
本页内容

模型网关

安全网关在编程 Agent 的模型请求发出前进行本机检查。对明确接入网关的请求,所选策略识别到的敏感内容可以被拦截或脱敏,保护结果可在 设置 → 网关 → 隐私保护统计 中查看。保护范围以经过网关的请求和所选策略为准。

网关可对支持的命中内容做可逆令牌化,并尝试还原响应中的已知令牌;当前托管配置使用占位凭据,历史配置与接管快照需单独检查。它只处理编程 Agent 的模型流量,Kaya 对话使用独立路径。

它解决什么问题#

  • 按档位处理命中的内容:请求出本机前,按当前档位把命中内容替换为形状保持的可逆令牌,响应返回 Agent 前按可用映射还原。默认 strict 只自动处理具名 secret;需要自动处理普通邮箱、手机号等 PII 时,须显式选择 balanced 或 aggressive。

  • 真实 key 不落 Agent 配置:配置里只有本机回环地址、per-agent 占位 token、模型别名和友好名称;真实 API Key / OAuth token 只在系统钥匙串与网关内存中。

脱敏是重要防线,但不是绝对保证。模型如果改写或拼错令牌,对应内容就无法保证自动还原。

三步开启#

  • 在 ⚙ 设置 → 模型 配好供应商与模型。

  • 在 ⚙ 设置 → 网关 打开「启用网关」。状态显示「运行中 · 端口」即就绪;网关只监听 127.0.0.1,不对外暴露。

  • 打开 ⚙ 设置 → 编程 Agent → 某个 Agent 详情页,在「模型网关」卡里打开「经网关接入」并选择默认模型。

新绑定默认经网关接入;网关尚未启用时会明确提示将在启用后生效。

全量目录与协议选路#

  • Agent 的模型选择器可以看到模型库中与其协议兼容的全部模型,也可以开启「只显示绑定模型」。

  • Claude Code 使用 Anthropic;Kimi Code / OpenCode 使用 OpenAI Chat;Codex 使用 OpenAI Responses。

  • 只有 Chat 端点的供应商可为 Codex 提供 Responses→Chat 适配切片。

  • “OpenAI ChatGPT 订阅(Codex)”专用授权可供 Claude Code、Kimi Code、OpenCode、Codex 经网关使用 Responses 适配;不用于 Kaya 聊天。凭据只用于目录声明的目标,真实登录与刷新仍待真机验收。

  • 请求模型名必须是可解析的 kaya/<别名>。裸上游模型名、畸形名或跨族别名会返回 HTTP 400,不会偷偷转发。

  • /health / /healthz 由本机直接响应,方便探活。

接管与恢复#

Kaya 只接管 Agent 的模型面,不碰权限、hooks、MCP、插件或配置优化管理的键。

  • 接管前逐键快照到 ~/.kaya/agent-config-snapshots/(0o600)。

  • 接管后新增的用户条目保留;撤除时只补缺失,当前同名条目优先。

  • 无法安全快照时不删除、不覆写无法恢复的用户值。

  • 配置被外部修改时显示漂移提示,不会静默覆盖;点「重新接入」才按期望形态重写。

  • Codex 默认使用独立 profile;只有显式开启「全局接管」才影响裸跑 Codex 与 ChatGPT 桌面版会话,开启前有二次确认。

  • 老版本接管且没有快照的配置无法完整自动还原,需要手动恢复旧值。

网关脱敏#

档位行为
strict(默认)只自动拦截具名 secret,普通 PII 不自动改写
balanced具名 secret 与 PII 令牌化,高熵兜底只告警
aggressive高熵字符串也令牌化,误伤与还原失败风险更高

网关档位独立于聊天。聊天用户输入恒为 aggressive,工具输出默认 aggressive,可在通用设置调整。代码、工具参数和工具结果中的 PII / 高熵内容按字段规则处理,可能只观察而不改写;不要把“启用网关”当作所有敏感内容都会被替换的保证。

**媒体与文本边界:**通过校验的 PNG / JPEG / GIF / WebP / PDF 等媒体按媒体原样转发,不经过文本规则的脱敏;不支持的媒体、声明冲突或校验失败会拒绝转发。启用网关不代表图片或文件中的全部敏感信息都已经被改写。

还可以配置:

  • 用户令牌表:把真名、内部代号等固定替换为自定义令牌,响应再还原。

  • 拒绝未知路径:默认透传未识别路径并记告警;开启后直接拒绝,可能影响 Agent 的辅助请求。

  • Claude 不由 Kaya 托管:不为 Claude Code 写托管配置,其流量也就不经网关和脱敏。

隐私保护统计#

设置 → 网关 → 隐私保护统计 可以查看令牌化、告警与还原明细:

默认展示全部规则记录:未替换的风险记录排在最前,再按规则置信度排序,已替换记录最后。未替换不直接代表已经泄露,应结合当前档位和请求结果判断。响应还原次数只统计实际记录到的还原,不把推测的还原计入数字。

  • 按类别、动作、Agent、模型路由、规则类型和时间窗筛选,按原文或令牌搜索。

  • 同内容命中聚合出现次数、首次与最近出现时间。

  • 明细含命中原文与替换令牌,只存本机 ~/.kaya/gateway/privacy-events.jsonl(0o600),默认遮罩,点击才展开。

  • 可经二次确认清空当前视图或全部记录。按筛选清空只删除命中明细;全量清空还会连带删除独立的请求事件。

这些明细不自动进入 LLM 上下文或诊断导出。它们与零内容的 gateway-scrub 审计事件、保存脱敏后正文的聊天审计日志是三套不同记录。

请求指标与最近事件#

另可查看请求数、改写请求数、上游 4xx、精确恢复与媒体处理。逐条请求审计默认折叠,只用于排查;请求事件只保存结构化计数、状态和诊断标识,不含正文、令牌或完整字段路径。它与包含命中原文的隐私明细是不同记录。

上游异常与用量#

  • 流式响应连续 120 秒无数据会中止,并按 Agent 协议发送终结错误,不伪造完成。

  • 非流式与等响应头各有 300 秒上限,超时返回结构化 504。

  • 超时与断流只把路由标识和秒数写入 App 诊断日志,不记请求内容。

  • 聊天与网关共用 Token 记账;详见 Token 用量。

下一步#