用途:在 AI 编码会话中防止破坏性操作。该技能的钩子是技能范围的,只在调用 /safe-mode 后生效;hooks.json 中的全局 permission-request.js 负责常开的危险命令告警,safe-mode 在此之上增加主动阻断与目录限制。
主要能力:
-
Cautious 模式(/safe-mode cautious):在执行前拦截 Bash 命令,对危险模式给出警告但不阻断,由用户决定。标记的模式包括递归或强制 rm、DROP TABLE/DROP DATABASE、TRUNCATE、git push --force/-f、git reset --hard、git clean -f、git checkout . / git restore .、chmod 777、curl 或 wget 管道到 shell、磁盘级操作(> /dev/sda、dd if=)、fork 炸弹、sudo rm。命中时钩子返回 permissionDecision: "ask",Claude Code 弹出注明模式的提示,即使在 auto 模式下也会出现。
-
Lockdown 模式(/safe-mode lockdown <path>):把 Edit 和 Write 限制在单个目录树内,路径可为绝对路径或相对仓库根目录。每次编辑/写入都会解析 file_path 并跟随符号链接,检查目标是否位于允许路径内,路径外操作会被阻断并说明原因。范围以项目根为键,直到 /safe-mode clear 才解除,且只在调用了 /safe-mode 的会话中强制执行。适用于单模块重构、特定目录修 bug、限制 AI 影响范围、只改审查中的文件。
-
Clear(/safe-mode clear):清除当前会话的全部限制。
使用方式:调用技能会注册一个针对 Bash|Edit|Write 的 PreToolUse 钩子,运行 scripts/safe-mode-guard.js。用以下命令从项目根设置模式:
node "${CLAUDE_PLUGIN_ROOT}/scripts/safe-mode-guard.js" set cautious node "${CLAUDE_PLUGIN_ROOT}/scripts/safe-mode-guard.js" set lockdown src/api/ node "${CLAUDE_PLUGIN_ROOT}/scripts/safe-mode-guard.js" set clear
状态保存在 $TMPDIR/pro-workflow/safe-mode-<hash>.json,按项目根哈希区分。文件会跨会话保留,完成后应 clear。cautious 与 lockdown 可同时启用。
限制与注意:不要用 safe-mode 替代 git 分支;需要编辑受限路径外的文件时应更新路径或清除限制;若总是忽略警告,应关闭 cautious,以免产生虚假安全感。资料未提供其他平台、收费或使用步骤信息。