Перейти к основному содержимому

Навыки

Конфигурация навыков

Вся конфигурация, связанная с навыками, находится в разделе 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.: переопределения для конкретного навыка.

Поля для каждого навыка:

  • 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..env/apiKey применяются только для запусков на хосте.

НавыкиClawHub