OpenClawSkills
GitHub
工具与技能 • 5 分钟阅读

工具

OpenClaw 的代理工具接口(浏览器、画布、节点、消息、定时任务)替代旧的 `openclaw-*` 技能

OpenClaw 为浏览器、画布、节点和定时任务公开了一流的代理工具。

这些替代了旧的 ''openclaw-*'' 技能:工具是类型化的,无需 shell,

代理应该直接依赖它们。

Tutorial.step

禁用工具

您可以通过 ''openclaw.json'' 中的 ''openclaw.json'' / ''openclaw.json'' 全局允许/拒绝工具

(拒绝优先)。这可以防止不允许的工具被发送给模型提供商。

Json5
{
  tools: { deny: ["browser"] },
}

注意:

- 匹配不区分大小写。

- 支持通配符 ''*''(''"*"'' 表示所有工具)。

- 如果 ''tools.allow'' 仅引用未知或未加载的插件工具名称,OpenClaw 会记录警告并忽略允许列表,以便核心工具保持可用。

Tutorial.step

工具配置文件(基础允许列表)

''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):

Json5
{
  tools: {
    profile: "messaging",
    allow: ["slack", "discord"],
  },
}

Example (coding profile, but deny exec/process everywhere):

Json5
{
  tools: {
    profile: "coding",
    deny: ["group:runtime"],
  },
}

Example (global coding profile, messaging-only support agent):

Json5
{
  tools: { profile: "coding" },
  agents: {
    list: [
      {
        id: "support",
        tools: { profile: "messaging", allow: ["slack"] },
      },
    ],
  },
}
Tutorial.step

提供商特定的工具策略

使用 ''tools.byProvider'' 为特定提供商

(或单个 ''provider/model'')''进一步限制''工具,而无需更改全局默认值。

每个代理覆盖:''agents.list[].tools.byProvider''。

这在基础工具配置文件之后、允许/拒绝列表之前应用,

因此只能缩小工具集。

Example (keep global coding profile, but minimal tools for Google Antigravity):

Json5
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}

Example (provider/model-specific allowlist for a flaky endpoint):

Json5
{
  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):

Json5
{
  agents: {
    list: [
      {
        id: "support",
        tools: {
          byProvider: {
            "google-antigravity": { allow: ["message", "sessions_list"] },
          },
        },
      },
    ],
  },
}
Tutorial.step

工具组(简写)

工具策略(全局、代理、沙箱)支持 ''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):

Json5
{
  tools: {
    allow: ["group:fs", "browser"],
  },
}
Tutorial.step

插件 + 工具

插件可以在核心集之外注册额外的工具(和 CLI 命令)。

请参阅 ''插件'' 了解安装和配置,以及 ''技能'' 了解

工具使用指南如何注入到提示中。一些插件提供自己的技能

以及工具(例如,语音通话插件)。

可选插件工具:

- ''Lobster'':具有可恢复审批的类型化工作流运行时(需要在网关主机上安装 Lobster CLI)。

- ''LLM Task'':用于结构化工作流输出的仅 JSON LLM 步骤(可选模式验证)。

Tutorial.step

工具清单

#

Tutorial.step

`apply_patch`

跨一个或多个文件应用结构化补丁。用于多块编辑。

实验性:通过 ''tools.exec.applyPatch.enabled'' 启用(仅限 OpenAI 模型)。

#

Tutorial.step

`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''。

Tutorial.step

`process`

管理后台 exec 会话。

核心操作:

- ''list''、''poll''、''log''、''write''、''kill''、''clear''、''remove''

注意:

- ''poll'' 在完成时返回新输出和退出状态。

- ''log'' 支持基于行的 ''offset''/''limit''(省略 ''offset'' 以获取最后 N 行)。