运行时依赖
安装命令
点击复制技能文档
ClawShell 是 OpenClaw 的人机安全层。ClawShell 拦截 shell 命令在执行前,分析其风险级别,并要求对危险操作进行显式批准(通过推送通知)。
工作原理 代理调用 clawshell_bash 代替 bash ClawShell 根据内置和可配置的风险规则分析命令 根据风险级别: 关键(例如 rm -rf /,fork bombs)— 自动阻止 高(例如 rm -rf,curl 到外部 URL,凭证访问)— 发送推送通知并等待批准 中(例如 npm install,git push)— 记录并允许 低(例如 ls,cat,git status)— 允许 所有决定都记录在 logs/clawshell.jsonl 中
工具 clawshell_bash 安全的 bash 替代品。分析命令风险并仅在安全或批准时执行。 参数:command(字符串,必需)— 要执行的 shell 命令 workingDir(字符串,可选)— 工作目录(默认为 cwd) 返回:{ exitCode, stdout, stderr } 高风险命令将阻塞,直到您通过推送通知批准或拒绝。关键命令将立即被拒绝。 clawshell_status 返回当前 ClawShell 状态:待批准请求和最近的决定。 参数:无 clawshell_logs 返回最近的日志条目,用于审计和调试。 参数:count(数字,可选)— 要返回的条目数(默认:20)
设置
- 安装依赖项
- 配置 Pushover 通知
- 添加到 TOOLS.md
Shell Access
使用clawshell_bash 执行所有 shell 命令。不要直接使用 bash。ClawShell 将分析命令的风险并要求对危险操作进行人机批准。
可用工具:
clawshell_bash(command, workingDir)— 执行带有风险分析的 shell 命令clawshell_status()— 检查待批准请求和最近的决定clawshell_logs(count)— 查看最近的审计日志条目
配置 ClawShell 从环境变量(CLAWSHELL_)读取配置,回退到 config.yaml。 变量 默认值 描述 CLAWSHELL_PUSHOVER_USER — Pushover 用户密钥 CLAWSHELL_PUSHOVER_TOKEN — Pushover 应用程序密钥 CLAWSHELL_TELEGRAM_BOT_TOKEN — Telegram 机器人密钥(替代) CLAWSHELL_TELEGRAM_CHAT_ID — Telegram 聊天 ID(替代) CLAWSHELL_TIMEOUT_SECONDS 300 等待批准的秒数,然后自动拒绝 CLAWSHELL_LOG_DIR logs/ JSONL 日志文件的目录 CLAWSHELL_LOG_LEVEL info 日志详细级别:debug,info,warn,error CLAWSHELL_BLOCKLIST — 逗号分隔的额外阻止命令 CLAWSHELL_ALLOWLIST — 逗号分隔的额外允许命令 也可以在 config.yaml 中定义自定义规则,位于 rules.blocklist 和 rules.allowlist 下,使用确切的字符串、glob 或正则表达式模式。
限制 不是安全保证。LLM 可以编码、拆分或混淆命令以绕过模式匹配。仅用于深度防御。与 OpenClaw 的沙盒模式一起使用,而不是替代。 批准延迟。高风险命令将阻塞执行,直到您响应或超时。始终要求您的 AI 扫描任何技能或软件的安全风险。