Skillforge
Skillforge არის PRX-ის ავტომატიზებული პაიპლაინი ახალი უნარების (ინსტრუმენტების) აღმოჩენის, შეფასებისა და ინტეგრაციისთვის გარე წყაროებიდან. ყოველი ინსტრუმენტის ხელით კონფიგურაციის ნაცვლად, Skillforge-ს შეუძლია GitHub რეპოზიტორიებისა და Clawhub რეესტრის სკანირება, აღმოჩენილი უნარის თქვენი აგენტის საჭიროებებთან შესაბამისობის შეფასება და ინტეგრაციის მანიფესტის გენერაცია -- ყოველივე ეს ადამიანის ჩარევის გარეშე.
მიმოხილვა
Skillforge პაიპლაინი სამი ეტაპისგან შედგება:
┌─────────────┐ ┌──────────────┐ ┌──────────────┐
│ სკაუტი │────▶│ შეფასება │────▶│ ინტეგრაცია │
│ │ │ │ │ │
│ უნარების │ │ ფიტნესის │ │ მანიფესტის │
│ აღმოჩენა │ │ ქულა, │ │ გენერაცია, │
│ GitHub, │ │ უსაფრთხოების │ │ კონფიგურაციის│
│ Clawhub │ │ განხილვა │ │ ინექცია │
└─────────────┘ └──────────────┘ └──────────────┘| ეტაპი | თრეითი | პასუხისმგებლობა |
|---|---|---|
| სკაუტი | Scout | კანდიდატი უნარების აღმოჩენა კონფიგურირებული წყაროებიდან |
| შეფასება | Evaluator | თითოეული კანდიდატის შეფასება ფიტნესის, უსაფრთხოებისა და თავსებადობის მიხედვით |
| ინტეგრაცია | Integrator | მანიფესტების გენერაცია და უნარების რეგისტრაცია ინსტრუმენტების რეესტრში |
არქიტექტურა
Skillforge სამ ბირთვულ ასინქრონულ თრეითზეა აშენებული: Scout (აღმოაჩენს კანდიდატებს SearchCriteria-ს შესაბამისად), Evaluator (აფასებს კანდიდატებს ფიტნესისა და უსაფრთხოების მიხედვით) და Integrator (გენერირებს მანიფესტებს და არეგისტრირებს უნარებს). თითოეულ თრეითს მრავალი იმპლემენტაცია შეიძლება ჰქონდეს, ხოლო პაიპლაინის ორკესტრატორი მათ თანმიმდევრულად ასრულებს, კანდიდატებს ყოველ ეტაპზე ფილტრავს.
კონფიგურაცია
[skillforge]
enabled = true
# ავტომატური აღმოჩენა: ახალი უნარების პერიოდული სკანირება.
auto_discover = false
discover_interval_hours = 24
# მინიმალური შეფასების ქულა (0.0-1.0) უნარის ინტეგრაციისთვის.
min_fitness_score = 0.7
# აღმოჩენილი უნარების ინტეგრაციამდე ხელით დამტკიცების მოთხოვნა.
require_approval = true
# აღმოჩენის თითოეულ რაუნდზე შეფასების მაქსიმალური კანდიდატების რაოდენობა.
max_candidates = 20სკაუტის წყაროები
Skillforge-ის უნარების ძიების ადგილების კონფიგურაცია:
[skillforge.sources.github]
enabled = true
# GitHub რეპოზიტორიები საძიებლად.
# მხარს უჭერს ორგანიზაციის/მომხმარებლის შაბლონებსა და თემაზე დაფუძნებულ აღმოჩენას.
search_topics = ["prx-skill", "mcp-server", "ai-tool"]
search_orgs = ["openprx", "modelcontextprotocol"]
# GitHub API გამოძახებების სიხშირის შეზღუდვა.
max_requests_per_hour = 30
# GitHub ტოკენი უფრო მაღალი სიხშირის ლიმიტებისთვის (არასავალდებულო).
# token = "${GITHUB_TOKEN}"
[skillforge.sources.clawhub]
enabled = true
# Clawhub რეესტრის ენდფოინთი.
registry_url = "https://registry.clawhub.dev"
# საძიებო კატეგორიები.
categories = ["tools", "integrations", "automation"]სკაუტის ეტაპი
სკაუტი კანდიდატ უნარებს კონფიგურირებული წყაროებიდან აღმოაჩენს. თითოეული წყარო Scout თრეითს განსხვავებულად ახორციელებს:
GitHub სკაუტი
GitHub-ზე ეძებს რეპოზიტორიებს კონფიგურირებული თემების, ორგანიზაციების ან საძიებო მოთხოვნების მიხედვით. თითოეული შესაბამისი რეპოზიტორიისთვის სკაუტი ამოიღებს:
- რეპოზიტორიის მეტამონაცემებს (სახელი, აღწერა, ვარსკვლავები, ბოლო განახლება)
- README კონტენტს (შესაძლებლობების ანალიზისთვის)
- მანიფესტის ფაილებს (
prx-skill.toml,mcp.json,package.json) - ლიცენზიის ინფორმაციას
Clawhub სკაუტი
Clawhub რეესტრის API-ს ეკითხება გამოქვეყნებულ უნარებს. Clawhub სტრუქტურირებულ მეტამონაცემებს უზრუნველყოფს, მათ შორის:
- უნარის სახელი, ვერსია და აღწერა
- შემავალი/გამომავალი სქემები
- დამოკიდებულებების მოთხოვნები
- თავსებადობის ტეგები (PRX ვერსია, OS, Runtime)
ძიების კრიტერიუმები
pub struct SearchCriteria {
/// სასურველი შესაძლებლობის აღმწერი საკვანძო სიტყვები.
pub keywords: Vec<String>,
/// საჭირო Runtime: "native", "docker", "wasm" ან "any".
pub runtime: String,
/// მინიმალური რეპოზიტორიის ვარსკვლავები (მხოლოდ GitHub).
pub min_stars: u32,
/// ბოლო კომიტის მაქსიმალური ხანდაზმულობა დღეებში.
pub max_age_days: u32,
/// საჭირო ლიცენზიის ტიპები (მაგ., "MIT", "Apache-2.0").
pub licenses: Vec<String>,
}შეფასების ეტაპი
თითოეული კანდიდატი შემფასებელს გადის, რომელიც ფიტნესის ქულასა და უსაფრთხოების შეფასებას აწარმოებს:
შეფასების კრიტერიუმები
| კრიტერიუმი | წონა | აღწერა |
|---|---|---|
| რელევანტურობა | 30% | რამდენად ემთხვევა უნარი ძიების კრიტერიუმებს |
| ხარისხი | 25% | კოდის ხარისხის სიგნალები: ტესტები, CI, დოკუმენტაცია |
| უსაფრთხოება | 25% | ლიცენზიის თავსებადობა, დამოკიდებულებების აუდიტი, საშიში შაბლონების არარსებობა |
| მოვლა | 10% | ბოლო კომიტები, აქტიური მეინტეინერები, ისუების რეაგირების დრო |
| თავსებადობა | 10% | PRX ვერსიის თავსებადობა, Runtime მოთხოვნების დაკმაყოფილება |
უსაფრთხოების შემოწმებები
შემფასებელი ავტომატიზებულ უსაფრთხოების ანალიზს ახორციელებს: ლიცენზიის თავსებადობის სკანირება, დამოკიდებულებების მოწყვლადობის აუდიტი, საშიში კოდის შაბლონების აღმოჩენა (ქსელური გამოძახებები, ფაილური სისტემის წვდომა, eval) და სენდბოქსის თავსებადობის ვერიფიკაცია.
Evaluation სტრუქტურა შეიცავს საერთო fitness_score-ს (0.0-1.0), კრიტერიუმების მიხედვით ქულებს, security_status-ს (safe/caution/blocked), ადამიანისთვის წასაკითხ შეჯამებას და პრობლემების სიას.
ინტეგრაციის ეტაპი
შეფასების ზღურბლს გადალახული უნარები ინტეგრაციის ეტაპში შედის:
მანიფესტის გენერაცია
ინტეგრატორი Manifest-ს გენერირებს, რომელიც აღწერს უნარის ინსტალაციისა და რეგისტრაციის წესს:
# გენერირებული მანიფესტი: ~/.local/share/openprx/skills/web-scraper/manifest.toml
[skill]
name = "web-scraper"
version = "1.2.0"
source = "github:example/web-scraper"
runtime = "docker"
fitness_score = 0.85
integrated_at = "2026-03-21T10:30:00Z"
[skill.tool]
name = "web_scrape"
description = "Scrape and extract structured data from web pages."
[skill.tool.parameters]
url = { type = "string", required = true, description = "URL to scrape" }
selector = { type = "string", required = false, description = "CSS selector" }
format = { type = "string", required = false, default = "text", description = "Output format" }
[skill.runtime]
image = "example/web-scraper:1.2.0"
network = "restricted"
timeout_secs = 30რეგისტრაცია
მანიფესტის გენერაციის შემდეგ უნარი PRX ინსტრუმენტების რეესტრში რეგისტრირდება. თუ require_approval = true, მანიფესტი განხილვისთვის მზადება ეტაპზე გადადის:
# მომლოდინე უნარების ინტეგრაციების სია
prx skillforge pending
# მომლოდინე უნარის განხილვა
prx skillforge review web-scraper
# ინტეგრაციის დამტკიცება
prx skillforge approve web-scraper
# ინტეგრაციის უარყოფა
prx skillforge reject web-scraper --reason "Security concerns"CLI ბრძანებები
# აღმოჩენის რაუნდის ხელით გაშვება
prx skillforge discover
# აღმოჩენა კონკრეტული საკვანძო სიტყვებით
prx skillforge discover --keywords "web scraping" "data extraction"
# კონკრეტული რეპოზიტორიის შეფასება
prx skillforge evaluate github:example/web-scraper
# ყველა ინტეგრირებული უნარის სია
prx skillforge list
# უნარის დეტალების ჩვენება
prx skillforge info web-scraper
# ინტეგრირებული უნარის წაშლა
prx skillforge remove web-scraper
# ყველა ინტეგრირებული უნარის ხელახალი შეფასება (განახლებების, უსაფრთხოების პრობლემების შემოწმება)
prx skillforge auditინტეგრაცია თვითევოლუციასთან
Skillforge PRX-ის თვითევოლუციის პაიპლაინთან ინტეგრირდება. როდესაც აგენტი შესაძლებლობების ხარვეზს აღმოაჩენს, მას შეუძლია ავტომატურად აღმოჩენის რაუნდის გაშვება -- სკანირება, შეფასება და (დამტკიცების შემთხვევაში) შესაბამისი უნარის ინტეგრაცია მომდევნო ბიჯისთვის.
უსაფრთხოების შენიშვნები
- დამტკიცების კარიბჭეები -- პროდუქციაში ყოველთვის
require_approval = trueდააყენეთ. არასანდო კოდის ავტომატიზებული ინტეგრაცია უსაფრთხოების რისკია. - სენდბოქსის აღსრულება -- ინტეგრირებული უნარები ჩაშენებული ინსტრუმენტების იგივე სენდბოქსის შეზღუდვებში მუშაობს. სენდბოქსის ბექენდი კონფიგურირებული უნდა იყოს.
- წყაროს ნდობა -- მხოლოდ სანდო სკაუტის წყაროები ჩართეთ. საჯარო GitHub ძიებამ მავნე რეპოზიტორიები შეიძლება დააბრუნოს.
- მანიფესტის განხილვა -- დამტკიცებამდე განხილეთ გენერირებული მანიფესტები. შეამოწმეთ
runtime,networkდაtimeout_secsპარამეტრები. - აუდიტის კვალი -- ყველა Skillforge ოპერაცია შესაბამისობის განხილვისთვის აქტივობის ჟურნალში აღირიცხება.