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

Skill Sync Object-structuur

Overzicht

Het skillSync object stelt beheerders in staat om Skills van externe bronnen te spiegelen. In v1.3.13 is GitHub de ondersteunde provider.

GitHub Skill Sync leest SKILL.md bestanden en de bijbehorende bestanden uit geconfigureerde repository-paden, slaat deze op als Skills met source: "github", en houdt gespiegelde rijen synchroon met de upstream repository bij latere synchronisaties.

Voorbeeld

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}'
        # credentialKey: production-skills
        # tenantId: your-tenant-id

Inloggegevens

Gebruik of token of credentialKey voor elke bron, niet beide. token moet een omgevingsvariabele-verwijzing zijn, zoals ${GITHUB_SKILLS_TOKEN}. Gebruik een GitHub fine-grained personal access token met toegang tot de geselecteerde repository met read-only rechten voor Contents en Metadata.

Top-Level Fields

skillSync.github

KeyTypeDescriptionExample
github.enabledBooleanSchakelt GitHub Skill Sync in of uit.enabled: true
github.intervalMinutesNumberHoe vaak de geplande GitHub Skill Sync wordt uitgevoerd. Moet tussen 5 en 35791 minuten liggen.intervalMinutes: 60
github.runOnStartupBooleanVoert GitHub Skill Sync uit wanneer de server start.runOnStartup: true
github.sourcesArray of ObjectsGitHub-repositories en paden om te scannen op Skills. Vereist wanneer GitHub Skill Sync is ingeschakeld.

Standaardinstellingen:

  • enabled: false
  • intervalMinutes: 60
  • runOnStartup: false
  • sources: []

Bronvelden

Elke github.sources vermelding configureert één repository-bron.

KeyTypeDescriptionExample
idStringStabiele unieke bron-id. Moet beginnen met een letter of cijfer en mag alleen letters, cijfers, underscores of koppeltekens bevatten.id: librechat-skills
ownerStringGitHub-organisatie of gebruikersnaam.owner: your-org
repoStringGitHub repository naam.repo: your-skills-repo
refStringGit ref, branch, tag of commit om te lezen. Standaard is `main`.ref: main
pathsArray of StringsRepository-paden om te scannen. Gebruik `.` om vanaf de root van de repository te scannen.paths: ["skills"]
skillDiscoveryDepthNumberMapdiepte onder elk geconfigureerd pad om te scannen op `SKILL.md`. Standaard is `2`; het maximum is `10`.skillDiscoveryDepth: 2
tokenStringOmgevingsvariabele die een GitHub-token bevat. Wederzijds uitsluitend met `credentialKey`.token: '${GITHUB_SKILLS_TOKEN}'
credentialKeyStringOpgeslagen GitHub-referentiesleutel beheerd via de admin Skill Sync-referentie-endpoints. Wederzijds uitsluitend met `token`.credentialKey: production-skills
tenantIdStringOptionele tenant-id die eigenaar is van gespiegelde Skills wanneer tenant-isolatie is ingeschakeld.tenantId: tenant-a

Bronidentiteit

Het id veld is onderdeel van de mirror-identiteit. Houd dit stabiel. Het opnieuw verwijzen van een bron naar een hernoemde repository of een nieuwe ref houdt gespiegelde Skills gekoppeld aan hetzelfde bron-id, terwijl het wijzigen van het bron-id een nieuwe mirror creëert.

Wanneer tenantId is ingesteld, worden synchronisatie-lees- en schrijfacties uitgevoerd binnen de isolatiecontext van die tenant. Behandel tenantId als onveranderlijk voor een bron-id: het wijzigen, toevoegen of verwijderen ervan op een later tijdstip laat eerder gespiegelde Skills achter in de oude tenant.

Sync-gedrag

GitHub Skill Sync:

  • Ontdekt SKILL.md bestanden onder elk geconfigureerd pad.
  • Importeert de SKILL.md body, frontmatter en gebundelde bestanden.
  • Slaat bronmetadata op zoals source id, owner, repo, ref, skill path, commit SHA en blob SHA.
  • Werkt gespiegelde Skills bij wanneer het upstream-bestand wijzigt.
  • Verwijdert gespiegelde Skills en bestanden die zijn verwijderd uit de geconfigureerde bron.
  • Gebruikt een sync lock zodat er telkens slechts één GitHub-synchronisatieproces tegelijk wordt uitgevoerd.

Admin Endpoints

De admin API stelt de status van GitHub Skill Sync, handmatige runs en het beheer van opgeslagen inloggegevens bloot:

KeyTypeDescriptionExample
GET /api/admin/skills/sync/statusEndpointGeeft de ingeschakelde status, schema-instellingen, bronstatus, aanwezigheid van inloggegevens en recente synchronisatieaantallen terug.
POST /api/admin/skills/sync/runEndpointStart een handmatige synchronisatie wanneer de aanroeper over de vereiste admin Skills-bevoegdheid beschikt.
PUT /api/admin/skills/sync/credentials/:credentialKeyEndpointSlaat een GitHub-token op of roteert deze voor een referentiesleutel.
DELETE /api/admin/skills/sync/credentials/:credentialKeyEndpointVerwijdert een opgeslagen GitHub-token voor een inloggegevenssleutel.

Status-reads vereisen admin-toegang en Skills-leestoestemming. Handmatige uitvoeringen en het schrijven van inloggegevens vereisen Skills-beheertoestemming op platformniveau.

Hoe is deze gids?