Cấu trúc đối tượng Skill Sync
Tổng quan
Đối tượng skillSync cho phép quản trị viên đồng bộ hóa các Skill từ các nguồn bên ngoài. Trong phiên bản v1.3.13, GitHub là nhà cung cấp được hỗ trợ.
GitHub Skill Sync đọc các tệp SKILL.md và các tệp đi kèm từ các đường dẫn kho lưu trữ đã cấu hình, lưu trữ chúng dưới dạng các Skill với source: "github", và giữ cho các hàng được sao chép đồng bộ với kho lưu trữ gốc trong các lần đồng bộ hóa sau đó.
Ví dụ
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-idThông tin xác thực
Sử dụng token hoặc credentialKey cho mỗi nguồn, không sử dụng cả hai. token phải là một tham chiếu biến môi trường như ${GITHUB_SKILLS_TOKEN}. Sử dụng GitHub fine-grained personal access token được giới hạn trong kho lưu trữ đã chọn với quyền Contents và Metadata ở chế độ chỉ đọc (read-only).
Các trường cấp cao nhất
skillSync.github
| Key | Type | Description | Example |
|---|---|---|---|
| github.enabled | Boolean | Bật hoặc tắt GitHub Skill Sync. | enabled: true |
| github.intervalMinutes | Number | Tần suất chạy đồng bộ GitHub Skill theo lịch trình. Phải nằm trong khoảng từ 5 đến 35791 phút. | intervalMinutes: 60 |
| github.runOnStartup | Boolean | Chạy GitHub Skill Sync khi máy chủ khởi động. | runOnStartup: true |
| github.sources | Array of Objects | Các kho lưu trữ GitHub và đường dẫn cần quét cho Skills. Bắt buộc khi GitHub Skill Sync được bật. |
Mặc định:
enabled:falseintervalMinutes:60runOnStartup:falsesources:[]
Các trường nguồn
Mỗi mục github.sources cấu hình một nguồn kho lưu trữ.
| Key | Type | Description | Example |
|---|---|---|---|
| id | String | ID nguồn duy nhất ổn định. Phải bắt đầu bằng một chữ cái hoặc chữ số và chỉ được chứa các chữ cái, chữ số, dấu gạch dưới hoặc dấu gạch ngang. | id: librechat-skills |
| owner | String | Tên người dùng hoặc tổ chức GitHub. | owner: your-org |
| repo | String | Tên kho lưu trữ GitHub. | repo: your-skills-repo |
| ref | String | Git ref, branch, tag, hoặc commit để đọc. Mặc định là `main`. | ref: main |
| paths | Array of Strings | Các đường dẫn kho lưu trữ cần quét. Sử dụng `.` để quét từ thư mục gốc của kho lưu trữ. | paths: ["skills"] |
| skillDiscoveryDepth | Number | Độ sâu thư mục bên dưới mỗi đường dẫn được cấu hình để quét tệp `SKILL.md`. Mặc định là `2`; tối đa là `10`. | skillDiscoveryDepth: 2 |
| token | String | Tham chiếu biến môi trường chứa mã thông báo GitHub. Loại trừ lẫn nhau với `credentialKey`. | token: '${GITHUB_SKILLS_TOKEN}' |
| credentialKey | String | Khóa thông tin xác thực GitHub được lưu trữ, quản lý thông qua các endpoint thông tin xác thực Skill Sync của quản trị viên. Loại trừ lẫn nhau với `token`. | credentialKey: production-skills |
| tenantId | String | ID đối tượng thuê tùy chọn sở hữu các Skill được phản chiếu khi tính năng cô lập đối tượng thuê được bật. | tenantId: tenant-a |
Source Identity
Trường id là một phần của định danh mirror. Hãy giữ nó ổn định. Việc trỏ lại một nguồn đến một kho lưu trữ đã đổi tên hoặc một ref mới sẽ giữ cho các Skill được mirror liên kết với cùng một source id, trong khi việc thay đổi source id sẽ tạo ra một mirror mới.
Khi tenantId được thiết lập, các thao tác đọc và ghi đồng bộ sẽ chạy bên trong ngữ cảnh cô lập của tenant đó. Hãy coi tenantId là bất biến đối với một source id: việc thay đổi, thêm hoặc xóa nó sau này sẽ để lại các Skill đã được phản chiếu trước đó trong tenant cũ.
Hành vi đồng bộ hóa
Đồng bộ kỹ năng GitHub:
- Khám phá các tệp
SKILL.mdbên dưới mỗi đường dẫn đã được cấu hình. - Nhập nội dung, frontmatter và các tệp đi kèm của
SKILL.md. - Lưu trữ siêu dữ liệu nguồn như source id, owner, repo, ref, skill path, commit SHA và blob SHA.
- Cập nhật các Skills được phản chiếu khi tệp nguồn thay đổi.
- Xóa các Skills và tệp được nhân bản đã bị loại bỏ khỏi nguồn được cấu hình.
- Sử dụng một sync lock để đảm bảo chỉ có một tiến trình đồng bộ GitHub chạy tại một thời điểm.
Các endpoint quản trị
API quản trị cung cấp trạng thái GitHub Skill Sync, các lần chạy thủ công và quản lý thông tin xác thực đã lưu:
| Key | Type | Description | Example |
|---|---|---|---|
| GET /api/admin/skills/sync/status | Endpoint | Trả về trạng thái kích hoạt, cài đặt lịch trình, trạng thái nguồn, sự hiện diện của thông tin xác thực và số lượng đồng bộ hóa gần đây. | |
| POST /api/admin/skills/sync/run | Endpoint | Bắt đầu một lần chạy đồng bộ thủ công khi người gọi có khả năng Skills quản trị cần thiết. | |
| PUT /api/admin/skills/sync/credentials/:credentialKey | Endpoint | Lưu trữ hoặc xoay vòng token GitHub cho một khóa xác thực. | |
| DELETE /api/admin/skills/sync/credentials/:credentialKey | Endpoint | Xóa token GitHub đã lưu cho một khóa thông tin xác thực. |
Việc đọc trạng thái yêu cầu quyền truy cập quản trị viên và quyền đọc Skills. Việc chạy thủ công và ghi thông tin xác thực yêu cầu quyền quản lý Skills cấp nền tảng.
Hướng dẫn này thế nào?