会话内审批规则生效
- 日期:2026-08-04
- 提交:
feat(permission): 实现 session 内权限规则并打通四种审批语义 - 版本:
0.12.1-alpha.2
此前,审批面板中的"会话内允许/拒绝同类请求"选项更多只是提示性质,同类请求并不会真正被自动放行或拒绝。本次更新让会话内权限规则真正生效:当你选择"会话内允许"或"会话内拒绝"时,Hunea 会记下对应规则,后续同类请求将自动放行或拒绝,不再重复弹出审批。
主要变化
-
四种审批语义完整落地
审批面板的四个选项现在对应不同的行为:Yes(仅同意本次)— 只放行当前请求,不写规则Yes, allow similar requests during this session(会话内允许同类)— 写入 allow 规则,后续同类请求自动放行No(仅拒绝本次)— 只拒绝当前请求,不写规则No, reject similar requests during this session(会话内拒绝同类)— 写入 deny 规则,后续同类请求自动拒绝
-
规则按安全范围精确匹配
不同工具会派生不同的匹配范围,避免误伤:- 文件类(
write/edit):按目标文件路径匹配(相对工作区的路径,或绝对路径的父目录) bash:要求命令与工作目录完全匹配- 其他工具:按结构化参数完全匹配 无法安全证明匹配范围时不会写入规则(fail-closed)。
- 文件类(
-
deny-first 求值
允许多条规则并存;当一次请求同时命中 allow 与 deny 规则时,deny 永远优先。 -
规则生命周期
规则是会话内的临时规则:clear/new会保留规则,切换会话(resume成功)后清除,避免误带。 -
文件审批面板选项统一
文件类审批的四个动态选项统一了 marker 与键盘导航,操作更一致。
相关说明
- 四种审批选项的完整说明见工具与审批。
- 动手前建议查看文件 diff 预览;对删除文件、
git push --force、修改权限等破坏性操作,建议保持逐次确认而非会话内放行。