on_request 可查看 headers、path、body、消息和 agent 身份,并在上游收到前 allow / modify / block。
安全防护不只在入口,而在每次内容过境时。
FlowLens 位于 agent 与外部模型之间,只观察经过模型代理的请求与响应。它能在请求转发前、模型响应交给 Agent 前同步干预,并在响应完成后异步审计。
on_tool_use 在完整 tool name + input 生成后、模型响应交给 mens 前同步审查;它不观察真实 executor。
on_response 审查上游原始响应,capture 合并安全事件并按 body_mode 落盘;它们不再改变已返回内容。
模型请求与响应,六个控制与观测阶段
点击控制点查看它能看见的内容与可采取的动作;切换场景可观察一次风险内容沿链路如何被处理。
FORWARDmodified body
Gemini compatible
后续本地行为不可见
RETURNreviewed response
模型响应里的 tool_calls / tool_use 走 ⑤ on_tool_use;放行后同一份响应交给 mens。真实 dispatch、UI、journal 与工具结果落盘不经过 FlowLens。
请求入口审查
在任何内容发往模型上游之前执行。插件按 YAML 顺序串行运行,block 立即短路,modify 结果交给下一个插件。
能够看到
能够保护
阶段、内容与动作对照
“审查”不等于“一定拦截”。每个插件只按自己的规则返回 allow、modify、block 或事件;未命中则继续。
| 阶段 | 同步性 | 可见内容 | 典型防护 | 可执行动作 | 当前 all 配置 |
|---|---|---|---|---|---|
请求入口on_request |
同步 · 转发前 | method、path、headers、原始 body、解析后的 messages、model、agent 身份 | QPS 限流、prompt injection、用户/系统/tool result 中的敏感数据、策略熔断 | allowmodifyblock | rate_limiter injection_guard mask policy breaker 未启用 |
响应内容create_transform |
同步 · 返回途中 | 模型 text、reasoning、tool arguments;存在可逆映射时处理已知 token | 已知可逆 token 还原、跨协议响应转换;当前不扫描模型新生成的敏感值 | passtransform | mask token restore scan_response: false |
LLM 工具调用on_tool_use |
同步 · 响应交给 mens 前 | 标准化后的 tool id、name、完整 input JSON、agent / session 元数据 | 工具白黑名单、危险参数、角色策略、危险 bash 改写、违规熔断计数 | allowmodify inputblock call | teacher policy |
响应完成on_response + capture |
异步 · 事后 | on_response 看转发请求、上游原始响应、provider、状态码、session_id;capture 另持有此前累计事件 |
hook 可追加事后事件;随后 capture 合并全部事件,供告警、训练负例、统计与 dashboard 使用 | auditevent | capture + logger capture 使用 transform 前内容;messages / none 只控制 raw body,解析后的正文、reasoning、tool calls 仍可能留存;当前无“完全不记录敏感响应”模式 |
FlowLens 看得到什么,也要看清看不到什么
不直接观察本地副作用
模型生成的 tool intent 通过审查后,shell 展开、文件写入和本地网络行为发生在 mens 进程侧。只有下一轮把工具结果发给模型时,内容才再次经过请求入口。
经过审查不等于命中规则
default: allow 下,未被 allow/deny 或 pattern 捕获的工具调用会放行。审查入口存在,规则覆盖仍决定实际效果。
插件异常默认 fail-open
插件异常、tool review RPC 超时、截断流会放行;OpenAI 流式 n>1 也跳过工具审查。因此 FlowLens 不替代 mens 权限、沙箱或出网控制。
完整心智模型:请求内容在发往模型前审;模型返回的 tool intent 在交给 agent 前审;响应内容在回给 agent 前变换;完成后,按配置保留的解析字段与安全事件进入审计。真实工具执行、UI、journal 与未发送给模型的结果不在 FlowLens 可见范围。