新功能
--allow-workflow CLI 选项 — 安装时可选择合并 permissions.allow 工作流规则,让 npm test、npm run lint、shellcheck 等常规命令免确认
- pre-tool-use.sh 可配置化 — 拦截规则从
blocked-commands.json 读取,支持动态配置;jq 不可用时自动回退到硬编码规则
- 新建
blocked-commands.json — 拦截规则配置文件,安装时自动部署
改进
mergeSettings 新增 allowWorkflow 参数,permissions.allow 合并策略与 hooks/env 一致(仅添加不覆盖)
ManifestCollector 新增 recordPermissionAllow() 方法,清单可追溯
- 清单
permissionsAllow 字段恢复为正式字段
UninstallResult 添加 permissionsAllowRemoved 计数
- 卸载时可精确移除安装时添加的
permissions.allow 规则
修复
- permissions 合并使用局部
permsChanged 变量,避免冗余写入
- pre-tool-use.sh
jq 解析失败时正确回退到硬编码规则
- 拦截消息中文化
- 恢复 settings.json 中被误删的旧 permissions 规则
用法
# 标准安装(不写入 permissions.allow)
bash bin/install.sh
# 启用工作流免确认
bash bin/install.sh --allow-workflow