پرش به مطلب اصلی

API مدیریت Skill

@grant CAT.agent.skills

API مدیریت Skill به یک اسکریپت اجازه می‌دهد بسته‌های توسعه Skill را پرس‌وجو، نصب، حذف و فراخوانی کند.

برای توسعه و بسته‌بندی Skill، به راهنمای توسعه Skill مراجعه کنید. نمونه‌های رسمی Skill: scriptscat/skills.

list — فهرست Skillهای نصب‌شده

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

بازگشت SkillSummary[]:

فیلدنوعتوضیحات
namestringنام Skill
descriptionstringتوضیحات Skill
toolNamesstring[]نام ابزارهای SkillScript که شامل می‌شود
referenceNamesstring[]نام فایل‌های مواد مرجع که شامل می‌شود
hasConfigbooleanآیا فیلدهای پیکربندی اعلام می‌کند
enabledbooleanآیا فعال است (پیش‌فرض true)
installtimenumberزمان‌سنج نصب
updatetimenumberزمان‌سنج آخرین به‌روزرسانی

توجه: version و installUrl (مورد استفاده ویژگی بررسی به‌روزرسانی صفحه مدیریت) از طریق این API اسکریپت بازگردانده نمی‌شوند — آن‌ها فقط به صورت داخلی توسط منطق بررسی به‌روزرسانی و رابط کاربری صفحه مدیریت استفاده می‌شوند.

get — دریافت جزئیات Skill

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

SkillRecord کامل را برمی‌گرداند، یا اگر وجود نداشته باشد null.

شکل SkillRecord:

همه فیلدهای SkillSummary را به ارث می‌برد، به علاوه:

فیلدنوعتوضیحات
promptstringبدنه Markdown SKILL.cat.md (prompt داده‌شده به هوش مصنوعی)
configRecord<string, SkillConfigField>تعاریف فیلدهای پیکربندی (طرح)

شکل SkillConfigField:

فیلدنوعتوضیحات
titlestringعنوان نمایشی
type"text" | "number" | "select" | "switch"نوع فیلد
secretbooleanآیا حساس است (در رابط کاربری ماسک می‌شود)
requiredbooleanآیا الزامی است
defaultunknownمقدار پیش‌فرض
valuesstring[]فهرست گزینه‌ها (فقط نوع select)

install — نصب یک Skill

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

پارامترها:

پارامترنوعتوضیحات
skillMdstringمحتویات فایل SKILL.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 برمی‌گرداند، اگر Skill وجود نداشته باشد false.

call — فراخوانی مستقیم یک SkillScript

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

یک SkillScript را در Skill مشخص‌شده مستقیماً اجرا می‌کند، بدون گذر از یک گفتگوی هوش مصنوعی.

پارامترها:

پارامترنوعتوضیحات
skillNamestringنام Skill (الزامی)
scriptNamestringنام SkillScript (الزامی)
paramsRecord<string, unknown>پارامترهای ورودی (مطابق با اعلام‌های @param)
// اسکریپت جستجو را در داخل یک Skill مستقیماً فراخوانی کنید
const results = await CAT.agent.skills.call(
"my-search",
"search",
{ query: "ScriptCat", limit: 5 }
);

اجرای SkillScript دارای مهلت زمانی است (پیش‌فرض ۳۰۰ ثانیه، قابل تنظیم از طریق @timeout).