Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Compétences

Créez des instructions SKILL.md réutilisables que les agents peuvent invoquer manuellement, automatiquement ou à chaque tour.

Les Skills sont des ensembles d'instructions réutilisables pour les Agents LibreChat. Un skill est centré sur un fichier SKILL.md : le frontmatter décrit quand le skill doit être utilisé, et le corps en markdown fournit à l'agent la procédure, les règles, les exemples ou les références à suivre.

Les Skills sont utiles pour les tâches répétitives telles que :

  • Application des directives de marque ou de rédaction
  • Suivi des listes de contrôle d'examen interne
  • Exécution d'un flux de travail de recherche standard
  • Préparation d'un flux de travail d'outil spécialisé
  • Empaqueter des scripts, références et ressources réutilisables avec un fichier d'instructions

Activer les Skills

La fonctionnalité d'agent skills est activée par défaut. Les administrateurs peuvent la supprimer de la liste des fonctionnalités de l'endpoint agents pour masquer les Skills aux utilisateurs.

endpoints:
  agents:
    capabilities:
      - 'deferred_tools'
      - 'execute_code'
      - 'file_search'
      - 'web_search'
      - 'artifacts'
      - 'subagents'
      - 'actions'
      - 'context'
      - 'skills'
      - 'tools'
      - 'chain'
      - 'ocr'

Les autorisations de rôle contrôlent également qui peut utiliser, créer, partager et partager publiquement des skills.

Compétences de déploiement

Les administrateurs peuvent déployer des Skills en lecture seule depuis le système de fichiers avec DEPLOYMENT_SKILLS_DIR.

DEPLOYMENT_SKILLS_DIR=./skill

Le répertoire par défaut est ./skill à la racine du projet. LibreChat charge les Skills de déploiement au démarrage et les expose aux utilisateurs ayant la fonctionnalité Skills activée.

Compétences de déploiement :

  • Sont en lecture seule dans l'interface utilisateur
  • Utilisez deployment comme source
  • Ont la priorité sur les Skills persistés portant le même nom
  • Nécessite un redémarrage de LibreChat après l'ajout, la suppression ou la modification de fichiers

Synchronisation des compétences GitHub

Les administrateurs peuvent répliquer des Skills à partir de dépôts GitHub avec skillSync.github dans librechat.yaml.

skillSync:
  github:
    enabled: true
    intervalMinutes: 60
    runOnStartup: true
    sources:
      - id: librechat-skills
        owner: your-org
        repo: your-skills-repo
        ref: main
        paths:
          - skills
        skillDiscoveryDepth: 2
        token: '${GITHUB_SKILLS_TOKEN}'

Synchronisation des compétences GitHub :

  • Analyse les chemins de dépôt configurés à la recherche de SKILL.md
  • Importe les fichiers groupés à côté de chaque compétence
  • Stocke les Skills en miroir avec source: "github"
  • Met à jour les Skills en miroir lorsque le dépôt amont change
  • Supprime les Skills en miroir qui n'existent plus dans la source configurée
  • Prend en charge les exécutions planifiées, au démarrage et déclenchées manuellement par l'administrateur

Utilisez un jeton d'accès personnel GitHub à grain fin avec des autorisations de lecture seule pour Contents et Metadata pour le dépôt sélectionné. Voir Skill Sync Object Structure pour tous les champs, les options d'identification, le scoping de tenant et les endpoints de synchronisation d'administration.

Créer une compétence

Ouvrez Skills depuis le panneau latéral. Vous pouvez écrire une skill directement dans LibreChat ou télécharger un fichier .md, .zip ou .skill qui contient SKILL.md.

SKILL.md minimal :

---
name: brand-guidelines
description: Use when writing public-facing content that must follow the company voice and terminology.
---
 
# Brand Guidelines
 
Write in a concise, practical tone.
Prefer active voice.
Use product terminology consistently.

Frontmatter

KeyTypeDescriptionExample
nameStringIdentifiant stable en kebab-case. Il doit commencer par une lettre minuscule ou un chiffre et peut contenir des lettres minuscules, des chiffres et des traits d'union.name: brand-guidelines
descriptionStringLe texte déclencheur le plus important. Décrivez quand le modèle doit utiliser la compétence.description: Use when writing public-facing launch copy.
always-applyBooleanAmorce automatiquement la compétence à chaque tour où elle est active.always-apply: true
user-invocableBooleanDéfinir sur false pour masquer la compétence de l'invocation manuelle via `$`. Par défaut : true.user-invocable: false
disable-model-invocationBooleanDéfinissez sur true pour exclure la compétence du catalogue de compétences invoquées par le modèle. L'invocation manuelle reste autorisée sauf si `user-invocable` est défini sur false.disable-model-invocation: true
allowed-toolsArray/List of StringsRéunit temporairement ces outils dans l'ensemble d'outils effectifs de l'agent lorsque la compétence est appliquée manuellement ou systématiquement.allowed-tools: ["execute_code"]

Modes d'invocation

Les Skills peuvent atteindre un agent de trois manières :

  • Manuel : l'utilisateur tape $ dans le chat et sélectionne une compétence dans la fenêtre contextuelle.
  • Model-invoked : le modèle choisit une compétence dans le catalogue de compétences injecté et appelle l'outil de compétence.
  • Toujours appliquer : la compétence est amorcée à chaque tour lorsqu'elle est active.

L'invocation manuelle est une intention explicite de l'utilisateur. Elle peut utiliser des compétences qui sont masquées de l'invocation par le modèle avec disable-model-invocation: true, tant que user-invocable n'est pas défini sur false.

Portée de l'agent

Les Agents doivent avoir les Skills activés avant de pouvoir utiliser le catalogue.

  • Si skills_enabled est défini sur false ou n'est pas défini sur un agent persisté, les skills sont inactifs pour cet agent.
  • Si skills_enabled est défini sur true et qu'aucune liste d'autorisation de compétences (skill allowlist) n'est définie, l'agent peut utiliser le catalogue actif complet visible par l'utilisateur.
  • Si skills_enabled est défini sur true et que skills contient des identifiants de compétences spécifiques, l'agent est restreint à cette liste.

Cela permet aux administrateurs d'exposer la fonctionnalité Skills globalement tout en gardant l'ensemble des compétences utilisables de chaque agent ciblé.

Compétences actives et partagées

Les utilisateurs peuvent activer ou désactiver les compétences. Les compétences possédées sont actives par défaut. Les compétences partagées utilisent la configuration par défaut définie par l'administrateur jusqu'à ce que l'utilisateur les remplace.

Les compétences inactives sont exclues de :

  • Le popover $
  • Le catalogue de compétences invoquées par le modèle
  • Amorçage toujours appliqué

Fichiers groupés

Les bundles de compétences téléchargés peuvent inclure des fichiers aux côtés de SKILL.md, tels que :

  • references/...
  • scripts/...
  • assets/...

Le backend stocke ces fichiers avec la skill. L'agent peut résoudre les fichiers de skill lorsque la skill est active et dans le périmètre.

Conseil de rédaction

Gardez la description spécifique. C'est le signal le plus fort pour les compétences invoquées par le modèle. Une description courte ou vague entraînera un sous-déclenchement.

Que pensez-vous de ce guide ?