Skip to content
文档首页

工具审批与权限策略 ​

Mogick 在工具执行前综合会话权限策略、工具风险、工作区范围、显式规则和删除类硬门禁,决定自动放行、请求确认或拒绝。四级策略的完整字段与规则见工具权限配置。

选择权限策略 ​

bash
mogick --tool-call-permissions auto
mogick run --tool-call-permissions workspace "Run the test suite and fix failures."

TUI 中使用 /permissions 或 Ctrl+P 切换。常见选择:

策略适合场景
read代码阅读和审查,不允许普通写操作
workspace自动处理工作区内的非删除文件修改
auto日常交互,由风险和工具声明决定是否确认
yolo仅限已隔离、可丢弃的环境

显式 deny 在所有策略下仍然生效。非 yolo 下,文件删除、包含删除的补丁以及匹配删除命令的 Shell 调用始终请求确认。

审批卡片 ​

工具调用审批

操作生效范围
仅此次允许只放行当前调用
本次会话允许当前会话内复用,结束后清除
始终允许持久保存,可在权限面板撤销
拒绝只拒绝当前请求,不创建授权

审批时重点核对操作意图、工具名、文件路径、命令参数和外部系统目标。对不理解的命令先拒绝并要求 Agent 解释。

执行顺序与并发 ​

同一步中互不影响的只读工具可以并发执行,并发上限由 session.safe_partition_max_concurrency 控制。工作区写入、Shell 和其他可能产生副作用的调用按受控顺序执行,避免多个修改相互覆盖。

MCP 还可以分别限制每个本地和远程服务器的并发量:

  • session.mcp_local_max_concurrency:默认 3。
  • session.mcp_remote_max_concurrency:默认 20。

这些限制控制调度,不会绕过审批规则。

Plan 模式 ​

Plan 模式有独立的只读边界,不能通过切换为更宽松的 Agent 权限策略来突破。计划由 plan.write 保存后,TUI 或 ACP 宿主展示确认;确认执行后才进入 Agent 模式。

MCP 工具 ​

MCP 服务端的只读提示会参与风险判断,但第三方声明不是绝对安全保证。渐进式模式下的 mcp.call 可以包装任意服务器工具,因此仍按实际目标执行审批。

如果 MCP 工具的审批行为与预期不一致,先查看工具声明和当前策略,再参考 MCP 问题排查。

非交互运行 ​

mogick run 无法弹出 TUI 审批。需要确认的调用会被拒绝,因此脚本应显式选择权限策略并检查退出码。不要为了让流水线通过而直接使用 yolo;优先在隔离环境中使用 workspace 并缩小任务范围。

子代理 ​

子代理的有效权限不会宽于父会话策略。子代理还受自己的步骤数和工具调用预算限制,详情见子代理。

相关文档 ​