Навыки
Конфигурация навыков
Вся конфигурация, связанная с навыками, находится в разделе skills файла ~/.openclaw/openclaw.json.
{
skills: {
allowBundled: ["gemini", "peekaboo"],
load: {
extraDirs: ["~/Projects/agent-scripts/skills", "~/Projects/oss/some-skill-pack/skills"],
watch: true,
watchDebounceMs: 250,
},
install: {
preferBrew: true,
nodeManager: "npm", // npm | pnpm | yarn | bun (Gateway runtime still Node; bun not recommended)
},
entries: {
"nano-banana-pro": {
enabled: true,
apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, // or plaintext string
env: {
GEMINI_API_KEY: "GEMINI_KEY_HERE",
},
},
peekaboo: { enabled: true },
sag: { enabled: false },
},
},
}
Поля
allowBundled: опциональный разрешённый список только для встроенных навыков. Если задан, только встроенные навыки из списка доступны (на управляемые/рабочие навыки не влияет).load.extraDirs: дополнительные директории навыков для сканирования (самый низкий приоритет).load.watch: отслеживать папки навыков и обновлять их снимок (по умолчанию: true).load.watchDebounceMs: время задержки для событий отслеживания навыков в миллисекундах (по умолчанию: 250).install.preferBrew: предпочитать установщики brew, когда они доступны (по умолчанию: true).install.nodeManager: предпочтительный менеджер установки Node (npm|pnpm|yarn|bun, по умолчанию: npm). Это влияет только на установку навыков; среда выполнения Gateway должна оставаться Node (Bun не рекомендуется для WhatsApp/Telegram).entries.<skillKey>: переопределения для конкретного навыка.
Поля для каждого навыка:
enabled: установитеfalse, чтобы отключить навык, даже если он встроен/установлен.env: переменные окружения, внедряемые для запуска агента (только если они ещё не заданы).apiKey: опциональное удобство для навыков, которые объявляют основную переменную окружения. Поддерживает обычную строку или объект SecretRef ({ source, provider, id }).
Примечания
- Ключи в
entriesпо умолчанию соответствуют имени навыка. Если навык определяетmetadata.openclaw.skillKey, используйте этот ключ. - Изменения в навыках подхватываются при следующем ходе агента, если включено отслеживание.
Изолированные навыки + переменные окружения
Когда сессия изолирована, процессы навыков выполняются внутри Docker. Изоляция не наследует process.env хоста. Используйте один из вариантов:
agents.defaults.sandbox.docker.env(илиagents.list[].sandbox.docker.envдля конкретного агента)- внедрите переменные окружения в ваш пользовательский образ изоляции
Глобальные env и skills.entries.<skill>.env/apiKey применяются только для запусков на хосте.