openclaw ai通过内置shell通道、插件机制、ai模型生成及开发者模式支持多语言脚本执行:原生支持bash/powershell;插件扩展python/node.js/浏览器js;ai自动生成并安全执行平台适配脚本;开发者模式可选启用ruby/perl/php等受限语言。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在 OpenClaw AI 中执行自动化任务或扩展其功能,则需了解其支持的脚本语言及运行环境。OpenClaw 本身不直接解释执行任意脚本,而是通过内置执行器调用系统级命令与外部解释器,从而实现对多种编程语言脚本的安全、可控执行。以下是支持情况的具体说明:
一、原生支持的脚本执行环境
OpenClaw CLI 内置 shell 执行通道,可直接运行符合 POSIX 标准的 shell 脚本(如 Bash、Zsh)及 Windows PowerShell 脚本,无需额外配置。该能力基于 Node.js 子进程模块封装,所有执行均在沙箱化上下文中完成,自动捕获 stdout/stderr 并结构化返回。
1、在 Linux/macOS 系统中,OpenClaw 自动识别并调用默认 shell(通常为 /bin/bash),支持 .sh 文件直接传入 openclaw exec 命令。
2、在 Windows 系统中,若已启用 PowerShell 脚本策略(Set-ExecutionPolicy RemoteSigned -Scope CurrentUser),OpenClaw 可执行 .ps1 文件;否则将回退至 cmd.exe 兼容模式。
3、所有 shell 脚本执行前会自动注入环境变量 OPENCLAW_SESSION_ID 和 OPENCLAW_WORKDIR,便于脚本感知当前会话上下文与工作路径。
二、通过插件机制支持的编程语言
OpenClaw 提供统一的“Script Runner”插件接口,允许用户注册任意外部解释器。官方维护的插件库已集成以下语言的执行支持,安装后即可使用 openclaw script run 命令调用:
1、Python 脚本:需系统已安装 Python 3.9+,插件自动检测 python 或 python3 命令路径,支持 .py 文件及 inline 代码块。
2、Node.js 脚本:依赖 Node.js 22+ 运行时,支持 .js、.mjs 文件,自动加载 OpenClaw 提供的 @openclaw/sdk 包,可调用文件 I/O、HTTP、CLI 工具等核心能力。
3、JavaScript(浏览器环境):通过内置 Puppeteer 通道,在隔离 Chromium 实例中执行 JS 片段,适用于网页自动化场景,不访问本地文件系统,仅限 DOM 操作与网络请求。
OpenClaw 跨平台配置备份与网关监控。自动备份 openclaw.json,每分钟检测 gateway 状态,宕机时自动恢复。支持 Linux/macOS/Windows。触发:配置备份、gateway 监控、自动恢复、看门狗、watchdog。
三、模型驱动的动态脚本生成与执行
OpenClaw 的 AI Agent 在接收到自然语言指令(如“把当前目录下所有 .log 文件按日期归档到 backup/ 子目录”)后,会调用推理模型生成对应脚本,并在预设安全策略下自动执行。该流程默认启用,且生成脚本类型由系统平台自动判定:
1、Linux/macOS 用户将获得 Bash 脚本输出,包含 set -e 防错机制与临时目录清理逻辑。
2、Windows 用户将获得 PowerShell 脚本,使用 Get-ChildItem 与 Compress-Archive 等原生命令,禁止使用 Invoke-Expression 或 & 动态调用未经签名的脚本。
3、所有模型生成脚本在执行前强制经过静态语法检查与危险命令拦截(如 rm -rf /、format C:、Stop-Computer),拦截规则由 ~/.openclaw/policy.yaml 控制。
四、受限但可启用的高级执行模式
为满足专业开发需求,OpenClaw 支持启用“开发者执行模式”,该模式需手动在配置中开启,启用后允许更灵活的脚本交互,但仍受严格限制:
1、启用方式:编辑 ~/.openclaw/config.json,将 "unsafe_script_execution" 字段设为 true,并重启 openclaw gateway。
2、在此模式下,支持 Ruby、Perl、PHP 解释器调用(需系统已安装对应二进制),但每次执行均要求用户提供 SHA256 校验值或签名证书。
3、Rust、Go、C/C++ 等编译型语言不被直接支持;如需运行,必须预先编译为可执行文件,并确保其位于 $PATH 或绝对路径下,且文件权限为 0755。









