safety-off 是 CocoPlus 中的安全闸门关闭技能,核心用途是在确认处于非生产环境且无真实数据的前提下,关闭 SQL 操作拦截,使所有 SQL 语句都直接执行。
使用方式上,执行前先检查 .cocoplus/ 目录是否存在;若不存在,则输出提示要求先运行 $pod init 初始化并停止。存在时向开发者展示风险警告,说明关闭后包括 DROP TABLE、TRUNCATE 和无 WHERE 的 DELETE 等操作都将不被拦截,并要求以 yes/no 确认。若回答否,则恢复 safety.normal 并结束;若确认,则清除 .cocoplus/modes/ 下已有的 safety.strict 与 safety.normal 标记,创建空的 .cocoplus/modes/safety.off 文件,并把 .cocoplus/AGENTS.md 的 Safety 行改为 OFF(无保护,允许所有 SQL)。完成后提示可使用 $safety normal 或 $safety strict 重新启用保护。
该技能同时规定反合理化准则:不得未经明确确认就关闭保护,不得在启用 off 时保留其他冲突模式标记,不得在输出中隐藏或弱化风险措辞,以确保开发者清楚当前处于无保护状态。其退出标准要求:开发者先收到风险警告并确认;确认后才存在 safety.off 文件;off 模式下不存在 safety.strict 与 safety.normal;AGENTS.md 的 Safety 行显示 OFF。
适用场景为明确标注为非生产、无真实数据的开发调试环境。限制在于该技能会完全取消 SQL 拦截,存在误执行破坏性语句的风险,因此不应在生产环境或含真实数据的环境中使用。