让 AI 智能体遵守规则。
面向 AI 智能体的策略执行层;在不消耗模型上下文的情况下带来更好的性能与安全性。
Cupcake 拦截智能体事件,并依据使用 Open Policy Agent (OPA) Rego 编写的用户自定义规则对事件进行评估。智能体操作可以被阻止、修改和自动纠正,同时为智能体提供有用的反馈。其他优势还包括针对你无需依赖智能体执行的任务(如在文件编辑后进行 lint 检查)提供反应式自动化。
2025-12-10:正式开源发布。路线图将在 2026 年第一季度制定。
2025-04-04:我们为 Claude Code Hooks 提交了功能请求。运行时对齐需要集成到智能体框架中,因此我们不再采用基于文件系统和操作系统层面的智能体行为监控方式(早期 cupcake PoC)。
Cupcake 为多种 AI 编程智能体提供轻量级原生集成:
每个框架使用原生事件格式。与 terraform 类似,策略按框架分开存放(policies/claude/、policies/cursor/、policies/factory/、policies/opencode/),以确保清晰明了并充分利用各框架特有的能力。如果某个特定框架不受支持,那是因为它没有运行时集成的途径。
Cupcake 可以通过原生绑定嵌入到 JavaScript 智能体应用中。这使你可以与基于 Web 的智能体框架(如 LangChain、Google ADK、NVIDIA NIM、Vercel AI SDK 等)集成。
| 语言 | 绑定 |
|---|---|
./cupcake-ts |
Cupcake 充当你的编程智能体与其运行时环境之间的执行层,通过钩子直接作用于智能体的操作路径。
Agent → (提议的操作) → Cupcake → (策略决定) → Agent 运行时
git push、fs_write)。Cupcake 支持两种评估模型:
根据评估结果,Cupcake 会向智能体运行时返回五种决策之一,并附带一条人类可读的消息:
现代智能体功能强大,但在遵循操作和安全规则方面不一致,尤其是在上下文不断增长的情况下。Cupcake 将你已经维护的规则(如 CLAUDE.md、AGENT.md、.cursor/rules)转化为可执行的护栏,并在操作执行之前运行。
rm -rf /)。mcp__memory__*、mcp__github__*)。NeMo 和 Invariant 的一流集成,用于内容与安全检查。如果你使用 nix,可以通过提供的 flake 安装并运行 Cupcake:
# Install directly from GitHub
nix profile install github:eqtylab/cupcake#cupcake-cli
# Or run without installing
nix run github:eqtylab/cupcake#cupcake-cli -- --help
将以下内容添加到你的 flake.nix:
inputs.cupcake.url = "github:eqtylab/cupcake";
然后将以下包添加到你的 environment.systemPackages 或 home.packages:
inputs.cupcake.packages.${system}.cupcake-cli
开发时,你也可以使用提供的 dev shell,其中包含 Rust 工具链、just 和其他依赖:
# Enter the development shell
nix develop
Cupcake 会消耗提示/上下文 Token 吗? 不会。策略在模型之外运行,并返回结构化决策。
Cupcake 是否绑定特定模型? 不会。Cupcake 通过框架特定的集成支持多种 AI 编程智能体。
评估速度有多快? 在典型配置下,缓存策略的评估耗时低于毫秒级。
欢迎贡献!请参阅 CONTRIBUTING.md 了解指南。
Cupcake 由 EQTYLab 开发,并由 Trail of Bits 提供智能体安全研究支持。
在 X 上关注 获取定期更新。
| 框架 | 状态 | 集成指南 |
|---|
| Claude Code | ✅ 完全支持 | 设置指南 |
| Cursor | ✅ 完全支持 | 设置指南 |
| Factory AI | ✅ 完全支持 | 设置指南 |
| OpenCode | ✅ 完全支持 | 设置指南 |
| AMP | 即将推出 | 等待发布 |
| Gemini CLI | 即将推出 | 等待发布 |