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

Umiejętności

Twórz instrukcje SKILL.md wielokrotnego użytku, które agenci mogą wywoływać ręcznie, automatycznie lub w każdej turze.

Umiejętności (Skills) to pakiety instrukcji wielokrotnego użytku dla Agentów LibreChat. Umiejętność opiera się na pliku SKILL.md: frontmatter opisuje, kiedy należy użyć danej umiejętności, a treść w formacie markdown dostarcza agentowi procedurę, zasady, przykłady lub odniesienia, których ma przestrzegać.

Umiejętności (Skills) są przydatne w powtarzalnych zadaniach, takich jak:

  • Stosowanie wytycznych dotyczących marki lub pisania
  • Przestrzeganie wewnętrznych list kontrolnych przeglądu
  • Uruchamianie standardowego procesu badawczego
  • Przygotowywanie wyspecjalizowanego przepływu pracy narzędzi
  • Pakowanie skryptów wielokrotnego użytku, referencji i zasobów wraz z plikiem instrukcji

Włączanie umiejętności

Funkcja agenta skills jest domyślnie włączona. Administratorzy mogą usunąć ją z listy funkcji endpointu agents, aby ukryć Skills przed użytkownikami.

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

Uprawnienia ról kontrolują również to, kto może używać, tworzyć, udostępniać i publicznie udostępniać umiejętności (skills).

Umiejętności wdrażania

Administratorzy mogą wdrażać umiejętności (Skills) tylko do odczytu z systemu plików za pomocą DEPLOYMENT_SKILLS_DIR.

DEPLOYMENT_SKILLS_DIR=./skill

Katalog domyślnie znajduje się w ./skill w głównym folderze projektu. LibreChat ładuje wdrożone Skills podczas uruchamiania i udostępnia je użytkownikom z włączoną funkcją Skills.

Umiejętności wdrażania:

  • Są tylko do odczytu w interfejsie użytkownika
  • Użyj deployment jako ich źródła
  • Mają pierwszeństwo przed zapisanymi Skills o tej samej nazwie
  • Wymagany jest restart LibreChat po dodaniu, usunięciu lub zmianie plików

GitHub Skill Sync

Administratorzy mogą synchronizować (mirror) Skills z repozytoriów GitHub za pomocą skillSync.github w pliku 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}'

GitHub Skill Sync:

  • Skanuje skonfigurowane ścieżki repozytorium w poszukiwaniu SKILL.md
  • Importuje spakowane pliki obok każdej umiejętności
  • Przechowuje zduplikowane (mirrored) umiejętności (Skills) z source: "github"
  • Aktualizuje odzwierciedlone Skills, gdy zmienia się repozytorium nadrzędne
  • Usuwa zduplikowane Skills, które nie istnieją już w skonfigurowanym źródle
  • Obsługuje uruchomienia zaplanowane, przy starcie oraz ręcznie wyzwalane przez administratora

Użyj precyzyjnego osobistego tokenu dostępu (fine-grained personal access token) GitHub z uprawnieniami tylko do odczytu (read-only) dla Contents i Metadata dla wybranego repozytorium. Zobacz Struktura obiektu synchronizacji umiejętności, aby uzyskać informacje o wszystkich polach, opcjach poświadczeń, zakresach dzierżawy (tenant scoping) oraz punktach końcowych synchronizacji administratora.

Tworzenie umiejętności (Skill)

Otwórz Skills z panelu bocznego. Możesz napisać umiejętność bezpośrednio w LibreChat lub przesłać plik .md, .zip lub .skill, który zawiera SKILL.md.

Minimalny SKILL.md:

---
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
nameStringStabilny identyfikator w formacie kebab-case. Musi zaczynać się od małej litery lub cyfry i może zawierać małe litery, cyfry oraz myślniki.name: brand-guidelines
descriptionStringNajważniejszy tekst wyzwalający. Opisz, kiedy model powinien użyć tej umiejętności.description: Use when writing public-facing launch copy.
always-applyBooleanAutomatycznie inicjuje umiejętność w każdej turze, w której jest ona aktywna.always-apply: true
user-invocableBooleanUstaw na false, aby ukryć umiejętność przed ręcznym wywołaniem za pomocą `$`. Domyślnie: true.user-invocable: false
disable-model-invocationBooleanUstaw na true, aby wykluczyć umiejętność z katalogu umiejętności wywoływanych przez model. Ręczne wywołanie jest nadal dozwolone, chyba że `user-invocable` ma wartość false.disable-model-invocation: true
allowed-toolsArray/List of StringsTymczasowo łączy te narzędzia w zestaw narzędzi agenta, gdy umiejętność jest stosowana ręcznie lub zawsze.allowed-tools: ["execute_code"]

Tryby wywołania

Umiejętności mogą dotrzeć do agenta na trzy sposoby:

  • Manual: użytkownik wpisuje $ na czacie i wybiera umiejętność z wyskakującego okienka.
  • Model-invoked: model wybiera umiejętność z wstrzykniętego katalogu umiejętności i wywołuje narzędzie umiejętności.
  • Zawsze stosuj: umiejętność jest przygotowywana w każdej turze, gdy jest aktywna.

Ręczne wywołanie jest jawną intencją użytkownika. Może ono korzystać z umiejętności, które są ukryte przed wywołaniem przez model za pomocą disable-model-invocation: true, o ile user-invocable nie jest ustawione na false.

Zakres Agenta

Agenci muszą mieć włączone Skills, zanim będą mogli korzystać z katalogu.

  • Jeśli skills_enabled ma wartość false lub nie jest ustawione dla zapisanego agenta, umiejętności są dla niego nieaktywne.
  • Jeśli skills_enabled ma wartość true i nie ustawiono listy dozwolonych umiejętności (allowlist), agent może korzystać z pełnego aktywnego katalogu widocznego dla użytkownika.
  • Jeśli skills_enabled ma wartość true, a skills zawiera określone identyfikatory umiejętności, agent zostanie ograniczony do tej listy.

Pozwala to administratorom na globalne udostępnienie funkcji Skills, przy jednoczesnym zachowaniu ukierunkowanego zestawu umiejętności dla każdego agenta.

Aktywne i udostępnione umiejętności

Użytkownicy mogą włączać lub wyłączać umiejętności. Posiadane umiejętności są domyślnie aktywne. Współdzielone umiejętności korzystają z ustawienia domyślnego skonfigurowanego przez administratora, dopóki użytkownik ich nie nadpisze.

Nieaktywne umiejętności są wykluczone z:

  • Wyskakujące okienko $
  • Katalog umiejętności wywoływanych przez model
  • Zawsze stosuj priming

Dołączone pliki

Przesłane pakiety umiejętności mogą zawierać pliki obok SKILL.md, takie jak:

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

Backend przechowuje te pliki wraz z umiejętnością (skill). Agent może rozpoznawać pliki umiejętności, gdy umiejętność jest aktywna i znajduje się w zakresie.

Wskazówka dotycząca tworzenia

Utrzymuj description konkretnym. Jest to najsilniejszy sygnał dla umiejętności wywoływanych przez model. Krótki lub niejasny opis spowoduje zbyt rzadkie wyzwalanie.

Jaka jest ta instrukcja?