介绍
写这个项目纯粹是抛砖引玉,先把mvp写出来,把我质朴的思路拿出来晒一晒,主要是这方面没人做啊。
除了审查功能,也支持一些ccswitch不支持的,比如模型映射、热切换等,以后会更更多一点,用量啥的。
原理
简单来说就是把流扔给另外一个快速的、可信的大模型审查一遍,比如本地模型或 deepseek-flash 。
两个审查模式:
- 被动审查:只接受然后审查,不主动拦截但会有事后的警告
- 主动拦截(beta):不支持流,扣下来检测没问题再送回去,不太建议用因为会比较影响日常使用,我说实话走个被动发现有问题就别用这个中转了呗
上下文审查模式也是两个:

使用
启动
把项目扔到本地直接 node start 或者运行 bash 命令
访问 http://127.0.0.1:8787/admin

配置模型
这个不用我教了吧,看着配就行,注意了现在比较轻量所以没法自由转 openai 和 a\格式,得自己填好

然后配置一下路由:

记得配置审查模型

正常使用
操作:
- baseurl 直接填
http://127.0.0.1:8787/ - apikey 随便填,因为根本没这功能
- 获取模型列表
- 开始使用

就这样就行
审查结果
直接翻就行,结果大致是这样:

攻击模拟
攻击模拟是虚拟模型:客户端调用 attack-sim 或 attack-sim/...,网关用选定上游模型生成模拟响应,再走常规链路,最后生成报告。
选模式试试就好了。
注意攻击模拟的上游模型格式要和你要测试的客户端的格式匹配,比如claude code就用a\格式的。
开发
改就行,我把所有技术设计文档都扔项目上了,期待能有更好的方案。