Skills
Configuration des Skills
La plupart de la configuration du chargeur/de l’installation des Skills se trouve sous skills dans
~/.openclaw/openclaw.json. La visibilité des Skills propres à un agent se trouve sous
agents.defaults.skills et agents.list[].skills.
{
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: {
"image-lab": {
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 },
},
},
}
Pour la génération/modification d’images intégrée, préférez agents.defaults.imageGenerationModel
avec l’outil principal image_generate. skills.entries.* sert uniquement aux workflows de Skills personnalisés ou
tiers.
Si vous sélectionnez un fournisseur/modèle d’image spécifique, configurez également la clé
d’authentification/API de ce fournisseur. Exemples typiques : GEMINI_API_KEY ou GOOGLE_API_KEY pour
google/*, OPENAI_API_KEY pour openai/*, et FAL_KEY pour fal/*.
Exemples :
- Configuration native de type Nano Banana Pro :
agents.defaults.imageGenerationModel.primary: "google/gemini-3-pro-image-preview" - Configuration native fal :
agents.defaults.imageGenerationModel.primary: "fal/fal-ai/flux/dev"
Listes d’autorisation des Skills par agent
Utilisez la configuration d’agent lorsque vous voulez les mêmes racines de Skills machine/espace de travail, mais un ensemble de Skills visible différent par agent.
{
agents: {
defaults: {
skills: ["github", "weather"],
},
list: [
{ id: "writer" }, // inherits defaults -> github, weather
{ id: "docs", skills: ["docs-search"] }, // replaces defaults
{ id: "locked-down", skills: [] }, // no skills
],
},
}
Règles :
agents.defaults.skills: liste d’autorisation de référence partagée pour les agents qui omettentagents.list[].skills.- Omettez
agents.defaults.skillspour laisser les Skills non restreints par défaut. agents.list[].skills: ensemble final explicite de Skills pour cet agent ; il ne fusionne pas avec les valeurs par défaut.agents.list[].skills: []: n’exposer aucun Skill pour cet agent.
Champs
- Les racines de Skills intégrées incluent toujours
~/.openclaw/skills,~/.agents/skills,<workspace>/.agents/skillset<workspace>/skills. allowBundled: liste d’autorisation optionnelle pour les Skills fournis uniquement. Lorsqu’elle est définie, seuls les Skills fournis dans la liste sont éligibles (les Skills gérés, d’agent et d’espace de travail ne sont pas affectés).load.extraDirs: répertoires de Skills supplémentaires à analyser (priorité la plus basse).load.watch: surveiller les dossiers de Skills et actualiser l’instantané des Skills (par défaut : true).load.watchDebounceMs: temporisation anti-rebond pour les événements du surveillant de Skills en millisecondes (par défaut : 250).install.preferBrew: préférer les programmes d’installation brew lorsqu’ils sont disponibles (par défaut : true).install.nodeManager: préférence d’installateur node (npm|pnpm|yarn|bun, par défaut : npm). Cela n’affecte que les installations de Skills ; le runtime Gateway doit toujours être Node (Bun n’est pas recommandé pour WhatsApp/Telegram).openclaw setup --node-managerest plus limité et accepte actuellementnpm,pnpmoubun. Définissez manuellementskills.install.nodeManager: "yarn"si vous voulez des installations de Skills basées sur Yarn.
entries.<skillKey>: remplacements par Skill.agents.defaults.skills: liste d’autorisation de Skills par défaut optionnelle héritée par les agents qui omettentagents.list[].skills.agents.list[].skills: liste d’autorisation finale optionnelle de Skills par agent ; les listes explicites remplacent les valeurs par défaut héritées au lieu de fusionner avec elles.
Champs par Skill :
enabled: définissezfalsepour désactiver un Skill même s’il est fourni/installé.env: variables d’environnement injectées pour l’exécution de l’agent (uniquement si elles ne sont pas déjà définies).apiKey: commodité optionnelle pour les Skills qui déclarent une variable d’environnement principale. Prend en charge une chaîne en texte clair ou un objet SecretRef ({ source, provider, id }).
Notes
- Les clés sous
entriescorrespondent par défaut au nom du Skill. Si un Skill définitmetadata.openclaw.skillKey, utilisez plutôt cette clé. - L’ordre de priorité de chargement est
<workspace>/skills→<workspace>/.agents/skills→~/.agents/skills→~/.openclaw/skills→ Skills fournis →skills.load.extraDirs. - Les modifications apportées aux Skills sont prises en compte au prochain tour de l’agent lorsque le surveillant est activé.
Skills en bac à sable et variables d’environnement
Lorsqu’une session est en bac à sable, les processus de Skills s’exécutent dans le backend de bac à sable configuré. Le bac à sable n’hérite pas du process.env de l’hôte.
Utilisez l’un des éléments suivants :
agents.defaults.sandbox.docker.envpour le backend Docker (ouagents.list[].sandbox.docker.envpar agent).- Intégrez l’environnement dans votre image de bac à sable personnalisée ou dans votre environnement de bac à sable distant.