OpenHands是AI智能体框架,通过CodeActAgent范式、sandbox_plugins插件及白名单Action机制实现工具调用与任务自动化,不依赖独立规则配置文件。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw不是OpenHands的子项目或官方组件,当前所有权威技术文档、GitHub仓库、官方博客及社区讨论中均未出现名为“OpenClaw”的AI智能体框架。你可能混淆了名称——实际想配置的是OpenHands的工具调用规则。
确认框架名称与安装状态
打开终端,执行以下命令验证是否已正确安装OpenHands:
pip list | grep openhands 或 docker images | grep openhands
若无输出,说明本地未部署OpenHands。此时任何关于“OpenClaw工具规则”的设置都无从谈起——【必须先完成OpenHands的正确安装与初始化】。
在OpenHands中配置工具调用规则
工具调用规则由Agent行为逻辑与Runtime插件共同决定,不通过独立配置文件声明,而是通过代码级注册和运行时约束实现。
第一步:检查当前Agent是否启用CodeAct范式
启动时传入的agent_cls参数必须为CodeActAgent(而非MonologueAgent或PlannerAgent),只有CodeActAgent才支持主动调用run、write、read等工具动作。
第二步:确认sandbox_plugins已加载关键插件
进入openhands/agent/agents/codeact_agent.py,定位sandbox_plugins类属性。默认包含AgentSkillsRequirement()和JupyterRequirement()——前者提供execute_python_code工具,后者启用Jupyter内核交互能力。缺少任一插件,对应工具将不可用。
第三步:限制工具调用范围(可选)
若需禁用某类操作,例如禁止执行shell命令,在启动时覆盖runtime配置:
添加环境变量SANDBOX_DISABLE_COMMANDS="true",或在config.toml中设置[runtime] disable_commands = true。该设置会直接屏蔽run动作,LLM生成该action后会被Runtime拦截并返回InvalidActionError观察。
通过Action定义显式控制工具行为
OpenHands不依赖外部规则引擎,所有工具调用均由LLM生成的Action结构体驱动。每个Action必须严格匹配预定义schema:
{"action": "run", "args": {"command": "ls -l"}, "message": "列出当前目录内容"}
Runtime收到Action后,仅当action字段值存在于白名单(如["run", "write", "read", "browse"])且args结构校验通过时,才会分发执行。任意字段缺失、类型错误或值越界(如command含rm -rf /),均触发拒绝策略并返回Observation错误反馈。
这一步无需额外配置——白名单与校验逻辑硬编码在openhands/runtime/action_executor.py中,修改前需确保理解其安全边界。


















