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-idInloggegevens
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
| Key | Type | Description | Example |
|---|---|---|---|
| github.enabled | Boolean | Schakelt GitHub Skill Sync in of uit. | enabled: true |
| github.intervalMinutes | Number | Hoe vaak de geplande GitHub Skill Sync wordt uitgevoerd. Moet tussen 5 en 35791 minuten liggen. | intervalMinutes: 60 |
| github.runOnStartup | Boolean | Voert GitHub Skill Sync uit wanneer de server start. | runOnStartup: true |
| github.sources | Array of Objects | GitHub-repositories en paden om te scannen op Skills. Vereist wanneer GitHub Skill Sync is ingeschakeld. |
Standaardinstellingen:
enabled:falseintervalMinutes:60runOnStartup:falsesources:[]
Bronvelden
Elke github.sources vermelding configureert één repository-bron.
| Key | Type | Description | Example |
|---|---|---|---|
| id | String | Stabiele unieke bron-id. Moet beginnen met een letter of cijfer en mag alleen letters, cijfers, underscores of koppeltekens bevatten. | id: librechat-skills |
| owner | String | GitHub-organisatie of gebruikersnaam. | owner: your-org |
| repo | String | GitHub repository naam. | repo: your-skills-repo |
| ref | String | Git ref, branch, tag of commit om te lezen. Standaard is `main`. | ref: main |
| paths | Array of Strings | Repository-paden om te scannen. Gebruik `.` om vanaf de root van de repository te scannen. | paths: ["skills"] |
| skillDiscoveryDepth | Number | Mapdiepte onder elk geconfigureerd pad om te scannen op `SKILL.md`. Standaard is `2`; het maximum is `10`. | skillDiscoveryDepth: 2 |
| token | String | Omgevingsvariabele die een GitHub-token bevat. Wederzijds uitsluitend met `credentialKey`. | token: '${GITHUB_SKILLS_TOKEN}' |
| credentialKey | String | Opgeslagen GitHub-referentiesleutel beheerd via de admin Skill Sync-referentie-endpoints. Wederzijds uitsluitend met `token`. | credentialKey: production-skills |
| tenantId | String | Optionele 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.mdbestanden onder elk geconfigureerd pad. - Importeert de
SKILL.mdbody, 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:
| Key | Type | Description | Example |
|---|---|---|---|
| GET /api/admin/skills/sync/status | Endpoint | Geeft de ingeschakelde status, schema-instellingen, bronstatus, aanwezigheid van inloggegevens en recente synchronisatieaantallen terug. | |
| POST /api/admin/skills/sync/run | Endpoint | Start een handmatige synchronisatie wanneer de aanroeper over de vereiste admin Skills-bevoegdheid beschikt. | |
| PUT /api/admin/skills/sync/credentials/:credentialKey | Endpoint | Slaat een GitHub-token op of roteert deze voor een referentiesleutel. | |
| DELETE /api/admin/skills/sync/credentials/:credentialKey | Endpoint | Verwijdert 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?