Ga naar hoofdinhoud

Skill-beheer-API

@grant CAT.agent.skills

Met de Skill-beheer-API kan een script Skill-uitbreidingspakketten opvragen, installeren, verwijderen en aanroepen.

Voor Skill-ontwikkeling en -verpakking, zie de Skill-ontwikkelgids. Officiële Skill-voorbeelden: scriptscat/skills.

list — geïnstalleerde Skills weergeven

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

Retourneert SkillSummary[]:

VeldTypeBeschrijving
namestringSkillnaam
descriptionstringSkillbeschrijving
toolNamesstring[]Namen van de SkillScript-tools die het bevat
referenceNamesstring[]Namen van de referentiemateriaalbestanden die het bevat
hasConfigbooleanOf het configuratievelden declareert
enabledbooleanOf het is ingeschakeld (standaard true)
installtimenumberInstallatietijdstempel
updatetimenumberTijdstempel van laatste update

Opmerking: version en installUrl (gebruikt door de updatecontrolefunctie van de beheerpagina) worden niet via deze script-API geretourneerd — ze worden alleen intern gebruikt door de updatecontrolelogica en de interface van de beheerpagina.

get — Skill-details ophalen

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

Retourneert de volledige SkillRecord, of null als deze niet bestaat.

Vorm van SkillRecord:

Erft alle velden van SkillSummary, plus:

VeldTypeBeschrijving
promptstringDe Markdown-body van SKILL.cat.md (de prompt die aan de AI wordt gegeven)
configRecord<string, SkillConfigField>Definitie van configuratievelden (schema)

Vorm van SkillConfigField:

VeldTypeBeschrijving
titlestringWeergavetitel
type"text" | "number" | "select" | "switch"Veldtype
secretbooleanOf het gevoelig is (gemaskeerd in de interface)
requiredbooleanOf het verplicht is
defaultunknownStandaardwaarde
valuesstring[]Optielijst (alleen select-type)

install — een Skill installeren

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

Parameters:

ParameterTypeBeschrijving
skillMdstringInhoud van het SKILL.cat.md-bestand (vereist)
scriptsArray<{ name, code }>Lijst van SkillScript-bestanden
referencesArray<{ name, content }>Lijst van referentiemateriaalbestanden

Als er al een Skill met dezelfde naam bestaat, wordt deze bijgewerkt.

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 — een Skill verwijderen

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

Retourneert true als deze succesvol is verwijderd, false als de Skill niet bestaat.

call — een SkillScript rechtstreeks aanroepen

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

Voert een SkillScript in de opgegeven Skill rechtstreeks uit, zonder een AI-gesprek.

Parameters:

ParameterTypeBeschrijving
skillNamestringSkillnaam (vereist)
scriptNamestringSkillScriptnaam (vereist)
paramsRecord<string, unknown>Door te geven parameters (overeenkomend met de @param-declaraties)
// Roep het zoekscript binnen een Skill rechtstreeks aan
const results = await CAT.agent.skills.call(
"my-search",
"search",
{ query: "ScriptCat", limit: 5 }
);

SkillScript-uitvoering heeft een time-out (standaard 300 seconden, aanpasbaar via @timeout).