Skip to main content

Skill կառավարման API

@grant CAT.agent.skills

Skill կառավարման API-ն թույլ է տալիս սկրիպտին հարցում կատարել, տեղադրել, հեռացնել և կանչել Skill ընդլայնման փաթեթներ:

Skill-ի մշակման և փաթեթավորման համար տեսեք Skill մշակման ուղեցույցը: Պաշտոնական Skill օրինակներ. scriptscat/skills:

list — ցուցակագրել տեղադրված Skills-ը

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

Վերադարձնում է SkillSummary[]՝

ԴաշտՏիպՆկարագրություն
namestringSkill անուն
descriptionstringSkill նկարագրություն
toolNamesstring[]Դրա պարունակած SkillScript գործիքների անունները
referenceNamesstring[]Դրա պարունակած հղման նյութերի ֆայլերի անունները
hasConfigbooleanԱրդյոք հայտարարում է կոնֆիգուրացիայի դաշտեր
enabledbooleanԱրդյոք միացված է (լռելյայն՝ true)
installtimenumberՏեղադրման ժամանակի դրոշմ
updatetimenumberՎերջին թարմացման ժամանակի դրոշմ

Նշում. version-ը և installUrl-ը (որոնք օգտագործվում են կառավարման էջի թարմացման ստուգման հնարավորության կողմից) չեն վերադարձվում այս սկրիպտ API-ի միջոցով — դրանք ներքին օգտագործվում են միայն թարմացման ստուգման տրամաբանության և կառավարման էջի UI-ի կողմից:

get — ստանալ Skill մանրամասներ

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

Վերադարձնում է ամբողջական SkillRecord-ը, կամ null, եթե այն գոյություն չունի:

SkillRecord կառուցվածքը՝

Ժառանգում է բոլոր դաշտերը SkillSummary-ից, գումարած՝

ԴաշտՏիպՆկարագրություն
promptstringSKILL.cat.md-ի Markdown մարմինը (AI-ին տրված պրոմպտը)
configRecord<string, SkillConfigField>Կոնֆիգուրացիայի դաշտերի սահմանումներ (սխեմա)

SkillConfigField կառուցվածքը՝

ԴաշտՏիպՆկարագրություն
titlestringՑուցադրվող վերնագիր
type"text" | "number" | "select" | "switch"Դաշտի տիպ
secretbooleanԱրդյոք զգայուն է (UI-ում քողարկված)
requiredbooleanԱրդյոք պարտադիր է
defaultunknownԼռելյայն արժեք
valuesstring[]Տարբերակների ցուցակ (միայն select տիպ)

install — Skill-ի տեղադրում

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

Պարամետրեր՝

ՊարամետրՏիպՆկարագրություն
skillMdstringSKILL.cat.md ֆայլի բովանդակությունը (պարտադիր)
scriptsArray<{ name, code }>SkillScript ֆայլերի ցուցակ
referencesArray<{ name, content }>Հղման նյութերի ֆայլերի ցուցակ

Եթե նույն անունով Skill արդեն գոյություն ունի, սա թարմացնում է այն:

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 — Skill-ի հեռացում

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

Վերադարձնում է true, եթե հաջողությամբ հեռացվել է, false, եթե Skill-ը գոյություն չունի:

call — SkillScript-ի ուղղակի կանչ

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

Կատարում է SkillScript-ը նշված Skill-ում ուղղակիորեն՝ առանց AI զրույցի միջով անցնելու:

Պարամետրեր՝

ՊարամետրՏիպՆկարագրություն
skillNamestringSkill անուն (պարտադիր)
scriptNamestringSkillScript անուն (պարտադիր)
paramsRecord<string, unknown>Ներփոխանցվող պարամետրերը (@param հայտարարություններին համապատասխան)
// Call the search script inside a Skill directly
const results = await CAT.agent.skills.call(
"my-search",
"search",
{ query: "ScriptCat", limit: 5 }
);

SkillScript-ի կատարումն ունի թայմաութ (լռելյայն 300 վայրկյան, կաստոմիզացվող է @timeout-ի միջոցով):