Apache Casbin Gateway
2. Agent客户端

2.3 监控、会话与活动记录

三份不同的记录,来自三个不同的源头:

页面来源需要
会话Agent本来就会写在磁盘上的会话记录什么都不需要
活动记录Gateway装进Agent里的监控钩子该Agent开启监控
外发监测,在Agent自己的页面上Agent自己的进程建立的网络连接Windows

它们都不等于LLM记录——那一页是Gateway自己转发出去的东西。

会话

这些Agent的每一次会话,读自它们自己的会话记录:整段对话,一条一条,带每一轮用掉的token。

页面会统计一共有多少次会话、今天跑了多少、其中多少来自会话记录而不是监控,并且可以筛到某一个Agent或某一个来源。

因为会话记录不管Gateway在不在路径上都会写,所以这一页覆盖那些完全没走Gateway的会话——包括用自己订阅的Agent。

监控

监控按Agent开启,在它的卡片上或它自己的页面上。Gateway会在那个Agent自己的配置里装一个钩子,此后记录它做了什么:提示词、工具调用,以及它弹给你的权限询问。

这是只读审计。Agent做任何事都不会等Gateway,开了监控也不会改变任何回答。

不是每个Agent都支持——README那张表的监控列是当前清单。

关掉监控会把钩子从该Agent的配置里去掉。casbin-gateway uninstall会对所有Agent一次性做同样的事(5.5)。

活动记录

活动记录是被监控的Agent此刻正在做什么:每一次工具调用、调用的对象、耗时多久。

Agent正在跑的时候就该开着这一页——一次长时间的自动执行,在这里读起来是一份"它到底动了什么"的清单,而不是终端里刷屏的输出。

外发监测

代理只能看到Agent发给模型的请求。Agent完全可以把数据发到别处:直接传到云存储的整个代码仓库,不会经过任何代理。每个Agent自己页面上的外发监测,就是用来看这些的。

Gateway从启动那一刻起,就监测每个Agent自己的进程建立的网络连接,不需要先开启监控。监测连接目前只支持Windows。在其他系统上,这一节只会在出现整个工作区被打包上传时显示,那部分是从磁盘上读出来的。

记录什么

满足下面任一条件的上传,会被记为可疑外发:

发现条件
对象存储任何一次连到对象存储上传地址的连接:阿里云OSS、Amazon S3、腾讯云COS、火山引擎TOS、华为云OBS、Google Cloud Storage、Azure Blob、Cloudflare R2等。客户端往这些地方传,通常是在用厂商签好的凭据上传文件
大量上传一分钟内向同一个目的地发送5MB以上,且目的地不是模型API——Agent本来就该把上下文发给模型API

一次发现要等它的目的地安静一分钟后才写入,所以一次上传无论用了多少个连接,都只记一行。每条发现也会出现在活动记录里,这个Agent在Agent客户端页的卡片上,名字旁边会多一个红点。

连过哪些地址

连接过的地址展开后,是Gateway开始监测以来这个Agent的进程连过的每一个地方:主机名、类型、连接次数,以及发送和接收的字节数。

类型是什么
模型API模型厂商的API
对象存储对象存储的上传地址
遥测错误上报和统计分析服务
本机进程这台机器上的另一个进程,通常是代理,它会把数据接下来去了哪里藏起来——页面会写出是哪个进程
其他其他所有地址

主机名读自系统的DNS缓存,所以一个存储桶显示的是Agent请求的那个名字,而不是它背后CDN节点的地址。

统计流量需要管理员权限

Windows只对以管理员身份运行的进程按连接统计字节数。没有管理员权限时,这一节会显示未统计流量:目的地和对象存储连接照常监测,但大小显示为-,也就识别不出大量上传。

整个工作区被打包上传

有些Agent会在上传前把整个工作区打包。ZCode 3.12.x及更早的版本,会在每次提问前把工作目录连同.git一起打包,传到阿里云OSS。打包留在磁盘上的痕迹比上传本身存在得更久,所以即使上传发生时Gateway没在运行,Gateway也能读回来,并显示是哪个工作区、多大、其中多少文件来自.git,以及失败过几次。

这个包里有完整的提交历史。历史中出现过的密钥都要轮换,已经删掉的也一样。

钩子同时也是一个执行点

不把模型流量走Gateway的Agent,工具开关仍然对它生效:Gateway装的那个钩子会在工具真正执行前先问Gateway一次,开关不允许的调用会被拒掉。

模型和供应商这两类规则不一样:它们只能约束走代理的请求。权限页会说明某个Agent属于哪种情况(4.1)。

下一节:2.4 技能、MCP与提示词。

在GitHub上编辑
Apache Incubator

Apache Casbin (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

Copyright © 2026 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.

Apache, Apache Casbin, the names of Apache projects, and the feather logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and/or other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.

本页内容