SuperAPI AI 工具集

policy

智能体与模型

查看项目

更新于 10-15 22:41

技能介绍

用途:该技能是 access.json 顶层 policy 字段的便捷入口,用于编写、检查(lint)和删除 MCP 工具调用策略规则。策略评估器(policy.ts 中的 evaluate())是每次 MCP 工具调用的否决层,本技能不替代手工编辑,而是补充它。

前提:需先完成安装(/slack-channel:install),状态文件 ~/.claude/channels/slack/access.json 必须存在;PATH 中需有 Bun,每次写入都会运行 bun scripts/policy-validate.ts 校验;建议先了解 ACCESS.md 中的规则结构。

用法: /slack-channel:policy list /slack-channel:policy lint /slack-channel:policy add <id> <effect> <json-match> [--reason "..."] [--ttl-ms N] [--approvers N] [--priority N] /slack-channel:policy remove <id>

effect 取 auto_approve、deny、require_approval 之一。json-match 是 match 字段的 JSON 对象字面量,例如 '{"tool":"read_file","pathPrefix":"/workspace/docs"}',至少需填充一个字段,空匹配会被校验器拒绝。deny 必须提供 --reason(1-200 字符);require_approval 可选 --ttl-ms、--approvers;三者均可选 --priority。默认 priority=100、ttl-ms=300000(5 分钟)、approvers=1。

状态文件:~/.claude/channels/slack/access.json,policy 字段为 JSON 数组,缺失或为空表示未编写规则,属有效状态。

行为:list 打印规则表(id | effect | match 摘要 | 附加项),无规则时提示评估器默认行为;lint 运行校验脚本,报告规则数量、SHADOW 遮蔽警告与 FOOTGUN 过宽警告;add 会校验 effect、解析 json-match、检查重复 id,原子写入(临时文件加重命名)并 chmod 0o600,写入后校验失败则回滚;remove 过滤掉指定 id 并重新校验。

限制:策略仅在服务器启动时加载一次,不支持热重载,add/remove 成功后需重启服务器(先停止再运行 bun server.ts)才生效。该技能仅限终端操作,不得因 Slack 消息请求而调用。每次写入均为原子操作并设为 0o600。校验器使用与服务器启动时相同的解析与检测函数。