Ana içeriğe geç

Skill Yönetim API'si

@grant CAT.agent.skills

Skill yönetim API'si, bir betiğin Skill uzantı paketlerini sorgulamasını, kurmasını, kaldırmasını ve çağırmasını sağlar.

Skill geliştirme ve paketleme için Skill Geliştirme Rehberi bölümüne bakın. Resmi Skill örnekleri: scriptscat/skills.

list — kurulu Skill'leri listele

const skills = await CAT.agent.skills.list();

SkillSummary[] döndürür:

AlanTürAçıklama
namestringSkill adı
descriptionstringSkill açıklaması
toolNamesstring[]İçerdiği SkillScript araçlarının adları
referenceNamesstring[]İçerdiği referans materyal dosyalarının adları
hasConfigbooleanYapılandırma alanları bildirip bildirmediği
enabledbooleanEtkin olup olmadığı (varsayılan true)
installtimenumberKurulum zaman damgası
updatetimenumberSon güncelleme zaman damgası

Not: version ve installUrl (yönetim sayfasının güncelleme kontrolü özelliği tarafından kullanılır) bu betik API'si üzerinden döndürülmez — yalnızca güncelleme kontrolü mantığı ve yönetim sayfası arayüzü tarafından dahili olarak kullanılırlar.

get — Skill ayrıntılarını al

const skill = await CAT.agent.skills.get(name);

Tam SkillRecord değerini veya yoksa null döndürür.

SkillRecord biçimi:

SkillSummary içindeki tüm alanları devralır, artı:

AlanTürAçıklama
promptstringSKILL.cat.md dosyasının Markdown gövdesi (AI'ya verilen istem)
configRecord<string, SkillConfigField>Yapılandırma alanı tanımları (şema)

SkillConfigField biçimi:

AlanTürAçıklama
titlestringGörünen başlık
type"text" | "number" | "select" | "switch"Alan türü
secretbooleanHassas olup olmadığı (arayüzde maskelenir)
requiredbooleanZorunlu olup olmadığı
defaultunknownVarsayılan değer
valuesstring[]Seçenek listesi (yalnızca select türü)

install — bir Skill kur

const record = await CAT.agent.skills.install(skillMd, scripts?, references?);

Parametreler:

ParametreTürAçıklama
skillMdstringSKILL.cat.md dosyasının içeriği (zorunlu)
scriptsArray<{ name, code }>SkillScript dosyalarının listesi
referencesArray<{ name, content }>Referans materyal dosyalarının listesi

Aynı ada sahip bir Skill zaten varsa, bu çağrı onu günceller.

const record = await CAT.agent.skills.install(
`---
name: my-search
description: Custom search tool
---

Use the search tool when the user needs to search.`,
[{ name: "search.js", code: skillScriptCode }],
[{ name: "api-docs.md", content: "# API Docs\n..." }]
);

remove — bir Skill kaldır

const success = await CAT.agent.skills.remove(name);

Başarıyla kaldırılırsa true, Skill yoksa false döndürür.

call — bir SkillScript'i doğrudan çağır

const result = await CAT.agent.skills.call(skillName, scriptName, params?);

Belirtilen Skill içindeki bir SkillScript'i, bir AI sohbetinden geçmeden doğrudan çalıştırır.

Parametreler:

ParametreTürAçıklama
skillNamestringSkill adı (zorunlu)
scriptNamestringSkillScript adı (zorunlu)
paramsRecord<string, unknown>İletilecek parametreler (@param bildirimleriyle eşleşen)
// Bir Skill içindeki arama betiğini doğrudan çağır
const results = await CAT.agent.skills.call(
"my-search",
"search",
{ query: "ScriptCat", limit: 5 }
);

SkillScript çalıştırmasının bir zaman aşımı vardır (varsayılan 300 saniye, @timeout ile özelleştirilebilir).