Skip to main content
策略包是以 GitHub Release 形式发布的一组策略。只需一条命令即可完成安装:在运行任何内容之前,系统会验证发布版本的校验和,并记录其摘要,以确保该包在安装后无法在您的机器上被悄然替换。 您可以在策略中心浏览所有策略包及其中的每条策略。策略包分为两类:
  • Failproof AI 策略包 — 针对预定义用例的现成策略包:接入即可使用。代码智能体策略包现已上线,更多用例的策略包即将推出。
  • 社区策略包 — 开发者为自己的用例编写并公开发布、供他人使用的策略。

Failproof AI 策略包

代码智能体策略包

该包包含 38 条策略,其中清单标记为可无人值守启用的 10 条会自动开启;其余策略供您按需选择。以下列出了一些最常用的策略,以及仅执行 policies add 时是否会开启它们: 按名称开启任意未启用的策略 — failproofai policies add block-rm-rf — 或使用 --all 获取整个策略包。查看按类别分组的所有策略:

社区策略包

开发者会针对自己遇到的用例发布策略包,策略中心会统一列出。社区策略包由作者自行发布,未经 Failproof AI 审核,因此请在安装前了解其内容:
该命令会按类别列出策略包中的每条策略,并标注哪些是作者默认开启的。它仅读取清单——入口构件不会被下载或导入,因此查看陌生人的策略包不会执行陌生人的代码。清单仍会与发布版本自带的 SHA256SUMS 进行核验,确保您所看到的内容与实际安装内容一致。 然后执行安装:
以下写法均有效——粘贴您手头的任意一种即可: 不指定标签时,将安装最新发布版本并锁定该版本,同时告知您所选的标签。记录的内容始终精确对应某一个发布版本,因此重新安装时不会发生版本漂移。

仅使用策略包的部分内容

默认情况下,您获取的是策略包自身的默认配置——即作者标记为可无人值守启用的策略——而非包中的全部内容。
--category 与 --policy 以并集方式组合使用(--only 是 --policy 的同义词)。当策略包已安装时,这些标志会在现有选择的基础上追加;在无终端的情况下不带任何标志地重新添加(例如用于升级),会保持您当前的选择不变。在终端中不带标志执行 add 时,会打开选择器,预先勾选作者的默认项,您的勾选结果将替换当前选择。

管理已启用的策略

开启或关闭某条策略包策略对整台机器生效:该开关与已安装的策略包一同记录,而非存储在项目配置中,无论 --scope 如何设置。 不含斜杠的名称表示策略;含有斜杠的表示策略包来源。裸名称会解析为声明该策略的已安装策略包。当两个已安装的策略包声明了相同名称时,请明确指定目标包:
作用域、参数以及这些命令所写入的文件,详见本地配置。

完整性校验的能力边界

SHA256SUMS 与构件一同包含在同一个发布版本中,因此它不是签名,无法证明发布者身份。它所能证明的是:这些字节与该发布版本所发布的内容一致——由于摘要在添加策略包时记录,并在每次导入前重新校验,策略包在安装后无法在您的机器上被悄然替换。如果某个仓库重新打标签或替换了构件,该包将停止加载,而不是静默地执行其他内容。 安装时,策略包还会被导入一次并与自身清单进行核对。若构件无法解析,或注册内容与声明不符,则会在激活任何内容之前被拒绝——而不是安装成功后在您下次调用工具时才报错。

策略包无法加载时的行为

如果本机被要求执行的策略包无法运行,该包所覆盖事件会被拒绝,而非静默放行——以 pack/failproofai-pack-unavailable 的形式,其优先级高于已加载的策略,因此拒绝行为归因于缺失的策略包,而非碰巧触发的某个守卫。唯一例外是 UserPromptSubmit,该事件会改为发出指令而非拒绝——因为拒绝此事件会将您锁定在修复所需的智能体之外。详见失败行为。

离线使用与镜像

如需以这种方式分享您自己的策略,请参阅发布策略包。