SuperAPI AI 工具集

add-guard-protection

智能体与模型

查看项目

更新于 10-15 19:57

技能介绍

用途:Arcjet Guard 面向没有 HTTP 请求的代码路径提供防护,例如 AI 智能体工具调用、MCP 工具处理器、后台任务处理器、队列 worker 等。若代码路径本身有 HTTP 请求(API 路由、表单处理、webhook、AI 对话/补全端点),应改用 /arcjet:add-request-protection。

主要能力:限流、提示注入检测、敏感信息拦截与自定义规则。常见组合:AI 智能体工具调用用 tokenBucket + detectPromptInjection;MCP 工具处理器用 slidingWindow 或 tokenBucket + detectPromptInjection;后台 AI 任务用 tokenBucket + localDetectSensitiveInfo;含用户输入的队列 worker 三者组合;扫描工具返回内容用 detectPromptInjection。

使用方式:先安装并登录 Arcjet CLI,可用 npx @arcjet/cli --help、npm install -g @arcjet/cli 或 brew install arcjet,然后 arcjet auth login,通过 arcjet sites create 与 arcjet sites get-key 获取密钥并写入环境变量 ARCJET_KEY。按语言安装依赖:JavaScript/TypeScript 用 npm install @arcjet/guard(需 >= 1.4.0),Python 用 pip install arcjet(需 >= 0.7.0)。客户端在模块作用域创建一次并复用,变量名 arcjet;规则也在模块作用域配置为可复用工厂,调用时传入每次输入,限流规则需指定 key 与描述性 bucket。在每个操作处内联调用 guard(),传入 label、rules 及可选 metadata,并始终检查 decision.conclusion:DENY 则阻断,ALLOW 则继续。

限制:Guard 目前仅支持 JavaScript/TypeScript 与 Python,其他语言不可用,不应自行仿造或臆造包。不要用共享 helper 包装 guard,不要每次调用创建客户端或在函数内配置规则,不要漏掉限流规则的 key 与 bucket,也不要在无请求场景使用 HTTP SDK。arcjet guards watch/list/details 子命令尚未发布。CLI 支持 --output、--fields、--no-color、--timeout 等全局参数,退出码 0 成功、1 一般错误、2 认证错误、3 输入校验错误、4 需要确认。