用途:审查权限提示频率、优化 allow-list、重置审计日志。触发词包括 "audit permissions"、"permission report" 等。
主要能力:分析权限审计日志并推荐 allow-list 变更,封装了 ai-env 中的 TypeScript 分析器。
参数路由:无参数或空参数时运行报告(默认);参数含 "reset" 或 "clear" 时归档日志并重新开始。
报告模式(默认):
- 生成报告:node --import tsx /Users/patrickcamacho/projects/camacho/ai-env/src/tools/permission-analyzer.ts,向用户展示完整 markdown 输出。
- 推荐允许规则:若该部分有条目,读取 ~/.claude/settings.json,提取 permissions.allow(默认 []),计算尚未存在的模式(区分大小写的精确匹配),仅展示 permissions.allow 的前后差异,询问是否应用这些安全规则(纯文本 y/n),批准后合并、去重、按字母排序,以 2 空格缩进写回。绝不改动 permissions.allow 之外的键,绝不改动 permissions.deny。
- 安全警告:若存在,展示每个模式及其标志和示例命令,询问是否添加。
- 被抑制的推荐:仅列出以供了解,不提供添加(含危险级别标志)。
重置模式:运行 /Users/patrickcamacho/projects/camacho/ai-env/.claude/hooks/audit-permissions-reset.sh,下次工具调用时自动开始新日志。
前提条件:ai-env 仓库需存在于指定路径(其他项目会报文件未找到错误);需在 ai-env 中完成 pnpm install;需在 ~/.claude/settings.json 的 PreToolUse 中配置 permission-audit-log.sh 审计钩子。
故障排查:"No audit data found" 表示钩子未安装或尚无未允许的提示记录;分析器崩溃时在 ai-env 仓库运行 pnpm install;推荐过时可用 /audit-permissions reset 后重新积累数据再运行;settings.json 解析错误可用 jq . ~/.claude/settings.json 验证。