~/.openclaw/openclaw.json 中的 skills 下。按 agent 的可见性位于 agents.defaults.skills 和 agents.list[].skills 下。
对于内置图像生成,请使用
agents.defaults.imageGenerationModel
加上核心 image_generate 工具,而不是 skills.entries。Skill
条目仅用于自定义或第三方 skill 工作流。加载(skills.load)
额外要扫描的 skill 目录,优先级最低(在捆绑和插件 skill 之后)。路径支持
~ 展开。受信任的真实目标目录,符号链接的 skill 文件夹即使位于配置根目录之外,也可以解析到这些目录中。可用于有意的兄弟仓库布局,例如
<workspace>/skills/manager -> ~/Projects/manager/skills。请保持此列表范围很小——不要指向像 ~ 或 ~/Projects 这样宽泛的根目录。监视 skill 文件夹,并在
SKILL.md 文件变更时刷新 skills 快照。覆盖分组 skill 根目录下的嵌套文件。skill 监视器事件的防抖窗口,单位为毫秒。
安装(skills.install)
在
brew 可用时优先使用 Homebrew 安装器。skill 安装时偏好的 Node 包管理器。此项只影响 skill 安装——Gateway 运行时仍应使用 Node(不建议在 WhatsApp/Telegram 中使用 Bun)。使用
openclaw setup --node-manager 可设置 npm、pnpm 或 bun;为基于 Yarn 的 skill 安装请手动设置 "yarn"。允许受信任的
operator.admin Gateway 客户端安装通过 skills.upload.* 暂存的私有 zip 压缩包。正常的 ClawHub 安装不需要此设置。操作员安装策略(security.installPolicy)
当操作员需要一个受信任的本地命令来根据主机特定策略批准或阻止 skill 和插件安装时,请使用 security.installPolicy。该策略会在 OpenClaw 暂存源材料之后、安装或更新继续之前运行。它适用于 ClawHub skills、上传的 skills、Git/本地 skills、skill 依赖安装器,以及插件安装/更新源。
启用操作员拥有的安装策略。启用但没有有效
exec 命令时,安装将失败并关闭。可选的目标过滤器。省略时,策略会应用于每个受支持的目标,因此新的安装不会意外地失败并开放。
受信任策略可执行文件的绝对路径。OpenClaw 会在无 shell 的情况下运行它,并在使用前验证该路径。
在
command 之后传递的静态参数。单次策略决策的最大墙钟运行时间。
策略在没有 stdout 或 stderr 输出时,触发失败并关闭之前的最大时间。
策略进程可接受的 stdout 和 stderr 合计最大字节数。
提供给策略进程的字面环境变量。
从 OpenClaw 进程复制到策略进程的环境变量名。只会传递命名变量。
可选的目录白名单,策略可执行文件可以位于其中。
绕过命令路径所有权和权限检查。仅在该路径由其他机制保护时使用。
允许配置的命令路径是符号链接。解析后的目标仍必须满足其他路径检查。解释器脚本参数必须是直接的普通文件,不能是符号链接。
protocolVersion: 1、openclawVersion、targetType、targetName、sourcePath、sourcePathKind、可选的结构化 source、结构化 origin 和 request。它必须在 stdout 上写入一个 JSON 对象:{ "protocolVersion": 1, "decision": "allow" } 或 { "protocolVersion": 1, "decision": "block", "reason": "..." }。非零退出、超时、JSON 格式错误、缺失字段或不支持的协议版本都会失败并关闭。
OpenClaw 在正常 Gateway 启动期间不会执行安装策略。当策略已启用但不可用时,安装和更新会失败并关闭。openclaw doctor 执行静态验证,而 openclaw doctor --deep 会针对已配置的命令执行一个合成安装探针。
批量更新会按目标分别应用策略:被阻止的 skill 或插件更新只会让该目标失败,不会禁用策略,也不会跳过批次中的后续目标。
输入示例:
捆绑 skill 白名单
仅适用于 bundled skills 的可选白名单。设置后,只有列表中的 bundled skills 才有资格。托管的、按 agent 的和 workspace skills 不受影响。
按 skill 的条目(skills.entries)
entries 下的键默认与 skill 的 name 匹配。如果某个 skill 定义了 metadata.openclaw.skillKey,则改用该键。带连字符的名称需要加引号(JSON5 允许带引号的键)。
false 会禁用该 skill,即使它是 bundled 或已安装。coding-agent bundled skill 默认不启用——将其设为 true,并确保已安装并完成认证的 claude、codex、opencode 或其他受支持的 CLI 之一可用。适用于声明了
metadata.openclaw.primaryEnv 的 skill 的便捷字段。支持明文字符串或 SecretRef:{ source: "env", provider: "default", id: "VAR_NAME" }。为 agent 运行注入的环境变量。仅在该变量尚未在进程中设置时才会注入。
自定义按 skill 配置字段的可选对象。
Agent 允许列表(agents)
当你希望使用相同的机器/工作区技能根目录,但为每个 agent 提供不同的可见技能集时,请使用 agent 配置。
被 agent 继承的共享基线允许列表;适用于省略
agents.list[].skills 的 agent。
若完全省略,则默认不限制技能。该 agent 的显式最终技能集。显式列表会替换继承的默认值,而不是合并。
设为
[] 可让该 agent 不暴露任何技能。工作室(skills.workshop)
当为
true 时,agent 在成功轮次后可根据持久化对话信号创建待处理提案。
用户提示触发的技能创建始终会通过 Skill Workshop,不受此设置影响。pending 需要操作员批准后,agent 才能发起 apply、reject 或 quarantine。
auto 则允许这些操作无需批准。每个工作区保留的待处理和已隔离提案上限。
提案正文大小的最大字节数。由于提案描述会出现在发现和列表输出中,
因此其硬上限为 160 字节。
符号链接的技能根目录
默认情况下,workspace、project-agent、extra-dir 和 bundled 的技能根目录都属于 内容边界。位于<workspace>/skills 下、但解析后指向根目录之外的符号链接技能文件夹,
会被跳过并记录日志。
若要允许有意使用符号链接布局,请声明受信任目标:
<workspace>/skills/manager -> ~/Projects/manager/skills
在 realpath 解析后会被接受。extraDirs 会直接扫描同级仓库;
allowSymlinkTargets 则为现有布局保留符号链接路径。
受管理的 ~/.openclaw/skills 和个人 ~/.agents/skills 目录
已经允许技能目录符号链接(但每个技能的 SKILL.md 仍受内容边界限制)。
沙箱化技能与环境变量
将密钥传入 Docker 沙箱:拥有 Docker 守护进程访问权限的用户可以通过 Docker 元数据检查
sandbox.docker.env 的值。
如果无法接受这种暴露方式,请使用挂载的密钥文件、自定义镜像或其他传递路径。加载顺序提醒
相关内容
Skills reference
技能是什么、加载顺序、门控以及
SKILL.md 格式。Creating skills
编写自定义工作区技能。
Skill Workshop
agent 草拟技能的提案队列。
Slash commands
原生斜杠命令目录和聊天指令。