文档

安全与审批

安全与审批

Memo 使用审批系统来降低工具可能修改文件或执行命令时的风险。

默认审批策略#

当前默认行为等同于 auto 模式:

  • 读取风险工具:自动批准
  • 写入风险工具:需要审批
  • 执行风险工具:需要审批

特殊情况:

  • 子代理工具族(spawn_agentsend_inputresume_agentwaitclose_agent)自动批准。

TUI 中的审批选项#

当需要审批时,你可以选择:

  • Allow once(允许一次)
  • Allow for this session(允许本次会话)
  • Deny(拒绝)
  • 当审批请求出现时,Memo 会响终端铃并尝试桌面通知。

审批目标意味着什么#

Memo 审批匹配基于:

  • 工具名称

参数更改不会创建新的审批目标。 Memo 仍会记录请求指纹用于追踪和钩子。

审批生命周期#

  • Allow once:对同一工具有效,直到当前轮次结束。
  • Allow for this session:对当前会话中的同一工具有效。
  • Deny:保持同一工具被拒绝状态,直到你再次批准它。

危险模式#

memo --dangerous
# 或
memo -d

在危险模式下,审批检查被绕过。

仅在以下情况下使用:

  • 你信任工作区和提示范围
  • 你可以安全地审查更改
  • 你了解潜在的命令/文件风险

纯文本模式和审批#

纯文本模式无法显示交互式审批 UI。

结果:

  • 默认情况下,需要审批的工具被拒绝
  • 如果你故意需要执行/写入,请使用 TUI 模式或 --dangerous

推荐的安全实践#

  • 在高影响运行前保持干净的 git 状态。
  • 在应用更改前让 Memo 规划更改。
  • 在提示中限制允许的文件和目录。
  • 在修改命令前优先使用只读验证命令。
  • 在敏感或生产关键仓库中避免使用 --dangerous