工具
OpenClaw 的代理工具接口(浏览器、画布、节点、消息、定时任务)替代旧的 `openclaw-*` 技能
OpenClaw 为浏览器、画布、节点和定时任务公开了一流的代理工具。
这些替代了旧的 ''openclaw-*'' 技能:工具是类型化的,无需 shell,
代理应该直接依赖它们。
禁用工具
您可以通过 ''openclaw.json'' 中的 ''openclaw.json'' / ''openclaw.json'' 全局允许/拒绝工具
(拒绝优先)。这可以防止不允许的工具被发送给模型提供商。
{
tools: { deny: ["browser"] },
}注意:
- 匹配不区分大小写。
- 支持通配符 ''*''(''"*"'' 表示所有工具)。
- 如果 ''tools.allow'' 仅引用未知或未加载的插件工具名称,OpenClaw 会记录警告并忽略允许列表,以便核心工具保持可用。
工具配置文件(基础允许列表)
''tools.profile'' 在 ''tools.allow''/''tools.deny'' 之前设置''基础工具允许列表''。
每个代理覆盖:''agents.list[].tools.profile''。
配置文件:
- ''minimal'':仅 ''session_status''
- ''coding'':''group:fs''、''group:runtime''、''group:sessions''、''group:memory''、''image''
- ''messaging'':''group:messaging''、''sessions_list''、''sessions_history''、''sessions_send''、''session_status''
- ''full'':无限制(与未设置相同)
Example (messaging-only by default, allow Slack + Discord tools too):
{
tools: {
profile: "messaging",
allow: ["slack", "discord"],
},
}Example (coding profile, but deny exec/process everywhere):
{
tools: {
profile: "coding",
deny: ["group:runtime"],
},
}Example (global coding profile, messaging-only support agent):
{
tools: { profile: "coding" },
agents: {
list: [
{
id: "support",
tools: { profile: "messaging", allow: ["slack"] },
},
],
},
}提供商特定的工具策略
使用 ''tools.byProvider'' 为特定提供商
(或单个 ''provider/model'')''进一步限制''工具,而无需更改全局默认值。
每个代理覆盖:''agents.list[].tools.byProvider''。
这在基础工具配置文件之后、允许/拒绝列表之前应用,
因此只能缩小工具集。
Example (keep global coding profile, but minimal tools for Google Antigravity):
{
tools: {
profile: "coding",
byProvider: {
"google-antigravity": { profile: "minimal" },
},
},
}Example (provider/model-specific allowlist for a flaky endpoint):
{
tools: {
allow: ["group:fs", "group:runtime", "sessions_list"],
byProvider: {
"openai/gpt-5.2": { allow: ["group:fs", "sessions_list"] },
},
},
}Example (agent-specific override for a single provider):
{
agents: {
list: [
{
id: "support",
tools: {
byProvider: {
"google-antigravity": { allow: ["message", "sessions_list"] },
},
},
},
],
},
}工具组(简写)
工具策略(全局、代理、沙箱)支持 ''group:*'' 条目,可扩展为多个工具。
在 ''tools.allow'' / ''tools.deny'' 中使用这些。
可用组:
- ''group:runtime'':''exec''、''bash''、''process''
- ''group:fs'':''read''、''write''、''edit''、''apply_patch''
- ''group:sessions'':''sessions_list''、''sessions_history''、''sessions_send''、''sessions_spawn''、''session_status''
- ''group:memory'':''memory_search''、''memory_get''
- ''group:web'':''web_search''、''web_fetch''
- ''group:ui'':''browser''、''canvas''
- ''group:automation'':''cron''、''gateway''
- ''group:messaging'':''message''
- ''group:nodes'':''nodes''
- ''group:openclaw'':所有内置 OpenClaw 工具(不包括提供商插件)
Example (allow only file tools + browser):
{
tools: {
allow: ["group:fs", "browser"],
},
}插件 + 工具
插件可以在核心集之外注册额外的工具(和 CLI 命令)。
请参阅 ''插件'' 了解安装和配置,以及 ''技能'' 了解
工具使用指南如何注入到提示中。一些插件提供自己的技能
以及工具(例如,语音通话插件)。
可选插件工具:
- ''Lobster'':具有可恢复审批的类型化工作流运行时(需要在网关主机上安装 Lobster CLI)。
- ''LLM Task'':用于结构化工作流输出的仅 JSON LLM 步骤(可选模式验证)。
工具清单
#
`apply_patch`
跨一个或多个文件应用结构化补丁。用于多块编辑。
实验性:通过 ''tools.exec.applyPatch.enabled'' 启用(仅限 OpenAI 模型)。
#
`exec`
在工作区中运行 shell 命令。
核心参数:
- ''command''(必需)
- ''yieldMs''(超时后自动后台运行,默认 10000)
- ''background''(立即后台运行)
- ''timeout''(秒;如果超过则终止进程,默认 1800)
- ''elevated''(布尔值;如果启用了提升模式则在主机上运行;仅在代理被沙箱化时改变行为)
- ''host''(''sandbox | gateway | node'')
- ''security''(''deny | allowlist | full'')
- ''ask''(''off | on-miss | always'')
- ''node''(用于 ''host=node'' 的节点 id/名称)
- 需要真正的 TTY?设置 ''pty: true''。
注意:
- 后台运行时返回 ''status: "running"'' 和 ''sessionId''。
- 使用 ''process'' 来轮询/记录/写入/终止/清除后台会话。
- 如果 ''process'' 被禁止,''exec'' 同步运行并忽略 ''yieldMs''/''background''。
`process`
管理后台 exec 会话。
核心操作:
- ''list''、''poll''、''log''、''write''、''kill''、''clear''、''remove''
注意:
- ''poll'' 在完成时返回新输出和退出状态。
- ''log'' 支持基于行的 ''offset''/''limit''(省略 ''offset'' 以获取最后 N 行)。