Apache Casbin Gateway
1. 开始使用

1.1 产品介绍

Casbin Gateway是一个跑在本机上的网关,面向这台机器上装的AI编码Agent。它把这些Agent找出来,列清它们各自带了什么,在它们和模型供应商之间放一个统一的入口,并记录它们做了什么、花了多少。

它跑在你要管的那台机器上。数据不外发:数据库就是可执行文件旁边的一个文件,界面默认只绑定127.0.0.1。

它解决什么

你想对应的页面
知道本机装了哪些Agent、各自登录的是哪个账号、花了多少Agent客户端、用量
安装、升级、回滚Agent本身版本管理
换一次API Key,而不是改八个配置文件供应商、路由
让Codex跑在DeepSeek上,让Claude Code跑在Qwen上路由
弄清中转商到底有没有给你它卖的那个模型真伪检测
单独收掉某个Agent的终端权限,或某一个MCP服务器权限
看到Agent发出去的完整请求,包括提示词和工具定义LLM记录
让API Key不落到Agent的配置文件里路由、连接

整体结构

      本机上的Agent                Casbin Gateway              模型供应商
+------------------------+     +----------------------+     +------------------+
| Claude Code            |     | 权限(Casbin)        |     | OpenAI           |
| Codex CLI              |---->| 协议转换              |---->| Anthropic        |
| Gemini CLI、Cursor ... |     | 记录与用量            |     | DeepSeek、Kimi   |
+------------------------+     | 供应商密钥            |     +------------------+
            ^                  +----------------------+
            |  读它们的配置、会话记录、技能和MCP服务器
            +----------------- 同一台机器 -----------------

两半互相独立,任何一半单独用都成立:

  • **代理这一半。**Agent指向Gateway之后,它的请求会被鉴权、按权限校验、按供应商说的那套API做转换、转发出去,然后落记录。供应商的Key在Gateway手里,Agent自始至终拿不到。
  • **读取这一半。**Agent是通过读这台机器的用户目录、安装路径和会话记录发现的。这一半从第一次启动就能用,不需要配供应商,也不需要把任何流量接过来——这也是用量能算上那些根本没走Gateway的请求的原因。

因为读取这一半靠的是本机的文件,所以Gateway必须跑在你要管的那台机器上。在容器里它只能看到容器自己的文件系统,什么也找不到,见5.4 Docker与Podman。

每个Agent支持到什么程度

目前认得三十来个Agent,对每个的支持深度不一样。README里的表格是当前的清单,逐列说明:

  • 监控——只读的审计记录:提示词、工具调用、权限询问。Agent做任何事都不会等Gateway,开了监控也不会改变任何回答。
  • 供应商——Gateway会按该Agent客户端自己的格式,把它的配置文件改写成指向绑定的供应商。不支持这一列的Agent,仍然可以用界面给出的环境变量接进来。
  • MCP·技能·提示词——在Agent之间读取、对比、复制MCP服务器、技能和指令文件。
  • 会话——直接从Agent自己的会话记录里读对话和token用量。
  • 安装——Gateway用什么方式装它、升它、卸它:npm、brew、winget、微软商店、Agent自带的更新器,或厂商自己的安装命令。

技术栈

部分技术
后端Go、Beego、XORM、Casbin
前端TypeScript、React、shadcn/ui
存储默认SQLite;XORM支持的数据库都行
许可证Apache-2.0

下一节:1.2 安装。

在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.

本页内容