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

Вся конфигурация, связанная с навыками, находится под 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 все еще Node; bun не рекомендуется)
    },
    entries: {
      "nano-banana-pro": {
        enabled: true,
        apiKey: "GEMINI_KEY_HERE",
        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: опциональное удобство для навыков, которые объявляют основную переменную env.

Примечания

  • Ключи под entries отображаются на имя навыка по умолчанию. Если навык определяет metadata.openclaw.skillKey, используйте этот ключ вместо этого.
  • Изменения в навыках подхватываются на следующем ходу агента, когда наблюдатель включен.

Изолированные навыки + переменные env

Когда сеанс изолирован, процессы навыков выполняются внутри Docker. Изолированная среда не наследует process.env хоста.

Используйте один из:

  • agents.defaults.sandbox.docker.env (или для каждого агента agents.list[].sandbox.docker.env)
  • запеките env в ваш пользовательский образ изолированной среды

Глобальный env и skills.entries.<skill>.env/apiKey применяются только к запускам хоста.