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

Skill Sync Nesne Yapısı

Genel Bakış

skillSync nesnesi, yöneticilerin harici kaynaklardan gelen Skill'leri yansıtmasına (mirror) olanak tanır. v1.3.13 sürümünde, desteklenen sağlayıcı GitHub'dır.

GitHub Skill Sync, yapılandırılmış depo yollarından SKILL.md dosyalarını ve bunlarla ilişkili dosyaları okur, bunları source: "github" ile Yetenekler (Skills) olarak depolar ve sonraki eşitlemelerde yansıtılan satırları yukarı akış deposuyla uyumlu tutar.

Örnek

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

Kimlik Bilgileri

Her kaynak için token veya credentialKey seçeneklerinden birini kullanın, her ikisini birden kullanmayın. token, ${GITHUB_SKILLS_TOKEN} gibi bir ortam değişkeni referansı olmalıdır. Seçilen depo için salt okunur İçerik (Contents) ve Meta Veri (Metadata) izinlerine sahip, GitHub'a özgü (fine-grained) bir kişisel erişim belirteci kullanın.

Üst Düzey Alanlar

skillSync.github

KeyTypeDescriptionExample
github.enabledBooleanGitHub Skill Sync özelliğini etkinleştirir veya devre dışı bırakır.enabled: true
github.intervalMinutesNumberZamanlanmış GitHub Skill Sync işleminin ne sıklıkla çalışacağı. 5 ile 35791 dakika arasında olmalıdır.intervalMinutes: 60
github.runOnStartupBooleanSunucu başladığında GitHub Skill Sync'i çalıştırır.runOnStartup: true
github.sourcesArray of ObjectsSkills için taranacak GitHub depoları ve yolları. GitHub Skill Sync etkinleştirildiğinde gereklidir.

Varsayılanlar:

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

Kaynak Alanları

Her bir github.sources girdisi, bir depo kaynağını yapılandırır.

KeyTypeDescriptionExample
idStringKararlı ve benzersiz kaynak kimliği. Bir harf veya rakamla başlamalı ve yalnızca harfler, rakamlar, alt çizgiler veya kısa çizgiler içermelidir.id: librechat-skills
ownerStringGitHub organizasyon veya kullanıcı adı.owner: your-org
repoStringGitHub depo adı.repo: your-skills-repo
refStringOkunacak Git ref, branch, tag veya commit. Varsayılan değer `main` şeklindedir.ref: main
pathsArray of StringsTaranacak depo yolları. Depo kök dizininden tarama yapmak için `.` kullanın.paths: ["skills"]
skillDiscoveryDepthNumber`SKILL.md` dosyalarını taramak için yapılandırılmış her yolun altındaki dizin derinliği. Varsayılan değer `2`'dir; maksimum değer `10`'dur.skillDiscoveryDepth: 2
tokenStringGitHub token'ı içeren ortam değişkeni referansı. `credentialKey` ile karşılıklı olarak birbirini dışlar.token: '${GITHUB_SKILLS_TOKEN}'
credentialKeyStringYönetici Skill Sync kimlik bilgisi uç noktaları aracılığıyla yönetilen kayıtlı GitHub kimlik bilgisi anahtarı. `token` ile karşılıklı olarak birbirini dışlar.credentialKey: production-skills
tenantIdStringKiracı izolasyonu etkinleştirildiğinde yansıtılan Yeteneklerin (Skills) sahibi olan isteğe bağlı kiracı kimliği.tenantId: tenant-a

Kaynak Kimliği

id alanı, yansıtılan kimliğin bir parçasıdır. Sabit tutun. Bir kaynağı yeniden adlandırılmış bir depoya veya yeni bir referansa yönlendirmek, yansıtılan Skill'lerin aynı kaynak kimliğine bağlı kalmasını sağlar; kaynak kimliğini değiştirmek ise yeni bir yansıma oluşturur.

tenantId ayarlandığında, eşitleme okuma ve yazma işlemleri o kiracının yalıtım bağlamı içinde çalışır. tenantId değerini bir kaynak kimliği için değiştirilemez olarak kabul edin: bu değeri daha sonra değiştirmek, eklemek veya kaldırmak, önceden yansıtılmış Yetenekleri (Skills) eski kiracıda bırakır.

Senkronizasyon Davranışı

GitHub Skill Sync:

  • Yapılandırılmış her yolun altındaki SKILL.md dosyalarını keşfeder.
  • SKILL.md gövdesini, frontmatter'ını ve paketlenmiş dosyalarını içe aktarır.
  • Kaynak kimliği, sahip, depo, referans, beceri yolu, commit SHA ve blob SHA gibi kaynak meta verilerini depolar.
  • Yukarı akış dosyası değiştiğinde yansıtılan Skills'i günceller.
  • Yapılandırılmış kaynaktan kaldırılan yansıtılmış (mirrored) Skills ve dosyaları siler.
  • Aynı anda yalnızca bir GitHub senkronizasyonunun çalışmasını sağlamak için bir senkronizasyon kilidi kullanır.

Yönetici Endpoint'leri

Admin API, GitHub Skill Sync durumunu, manuel çalıştırmaları ve depolanmış kimlik bilgisi yönetimini açığa çıkarır:

KeyTypeDescriptionExample
GET /api/admin/skills/sync/statusEndpointEtkin durumunu, zamanlama ayarlarını, kaynak durumunu, kimlik bilgisi varlığını ve son eşitleme sayılarını döndürür.
POST /api/admin/skills/sync/runEndpointÇağıran taraf gerekli admin Skills yetkisine sahip olduğunda manuel bir senkronizasyon çalıştırır.
PUT /api/admin/skills/sync/credentials/:credentialKeyEndpointBir kimlik bilgisi anahtarı için GitHub token'ını depolar veya yeniler.
DELETE /api/admin/skills/sync/credentials/:credentialKeyEndpointBir kimlik bilgisi anahtarı için depolanmış GitHub token'ını siler.

Durum okumaları, yönetici erişimi ve Skills okuma izni gerektirir. Manuel çalıştırmalar ve kimlik bilgisi yazmaları, platform düzeyinde Skills yönetimi izni gerektirir.

Bu rehber nasıl?