
skillscript v0.39.1
Skillscript — لغة تعريفية صغيرة لإنشاء سير عمل الوكلاء. وقت التشغيل، المترجم، وواجهة الأوامر.
أتمتة آمنة وقابلة لإعادة الاستخدام يكتبها الوكلاء.
الخلاصة —
npm install -g skillscript-runtime && skillfile init && skillfile dashboard. راجع بداية سريعة.
ما هو Skillscript؟
نشأ Skillscript من سؤال: كيف سيبدو Makefile إذا كان يبني مهارات بدلاً من البرامج الثنائية؟ الإجابة هي لغة مقيدة، مستوحاة من Make، ووقت تشغيل يحوِّل منطق الوكيل إلى أتمتة دائمة وقابلة للفحص. الوكيل يكتب المهارة، أنت توافق على ما يمكنها فعله، وتنفذ بنفس الطريقة في كل مرة.
صُمم للفرق التي تريد للوكلاء إنشاء وتشغيل سير عمل متكرر دون منحهم وصولاً غير مقيد إلى الصدفة، أو تثبيت حزم عشوائية، أو سيطرة مباشرة على بيانات اعتماد الإنتاج.
الوكيل يكتب مهارة. الإنسان يراجعها ويوافق عليها. وقت التشغيل ينفذها عبر موصلات مكونة، وقوائم سماح، وسياسات أمان.
npm install -g skillscript-runtime
skillfile init
skillfile dashboard
ثم وصِّل وكيلك بـ MCP: http://localhost:7878/rpc واطلب منه تأليف مهارة.
لماذا تستخدمه؟
عادةً يعيد الوكلاء اشتقاق المهام الروتينية من الصفر. وهذا يزيد التكلفة، وزمن الاستجابة، والانحراف السلوكي.
يتيح Skillscript للوكيل أن يبلور إجراءً مكتسباً إلى أثر قابل لإعادة الاستخدام وله اسم، يمكن:
- تنفيذه مراراً دون إعادة تخطيط المهمة بأكملها
- فحصه وإصداره بواسطة البشر
- التحقق من صحته قبل السماح به
- قصره على أدوات وملفات وأوامر وبيانات اعتماد معتمدة
- تركيبه مع مهارات أخرى
Skillscript هو تنسيق فقط. الحساب يبقى داخل الأدوات والموصلات؛ المهارات تنسق تلك القدرات عبر قواعد نحوية تصريحية صغيرة. هذا يمكن أن يخفض بشكل ملحوظ استخدام الرموز من النماذج المتقدمة في سير العمل المتكرر: تكلفة الاستدلال تُدفع مرة واحدة عند تأليف المهارة، وكل تشغيلة بعد ذلك تنفذ حتمياً، مع تسليم المهام الفرعية الروتينية لنماذج محلية أرخص.
لماذا ليس Python أو Bash؟
يبقى Python و Bash مفيدين للعمل التنفيذي. الخطر هو السماح لنصوص يكتبها وكيل بالتشغيل دون مراقبة وبوصول غير مقيد إلى المضيف.
يضيق Skillscript سطح التنفيذ هذا:
- لا استيرادات عشوائية، أو تثبيت حزم، أو
eval، أو هروب من العملية الفرعية - وصول بوساطة موصل إلى الأنظمة الخارجية
- قوائم سماح للصدفة ونظام الملفات ترفض افتراضياً
- تحقق ثابت قبل التنفيذ
- توقيعات مشغل اختيارية للمهارات ذات التأثير
- بيانات الاعتماد محفوظة في وقت التشغيل بدلاً من تضمينها في المهارة
الهدف ليس استبدال النصوص. هو وضع النصوص وواجهات API خلف قدرات يعرضها المشغل صراحةً.
هناك أيضاً سبب يتعلق بالتوسع. مراجعة أي كود تعني تدقيق كل ما يمكنه فعله، الأمر الذي يتطلب قارئاً ماهراً. A skillscript يضع كامل سطح تأثيره على الصفحة، لذا تظل الموافقة ممكنة حتى عندما يؤلف الوكلاء أسرع من أن يستطيع أي شخص قراءة الكود، ويستطيع المشغل الذي يعرف ما يجب أن تسمح به أنظمته أن يوافق بناءً على التأثيرات المعلنة بدلاً من إعادة قراءة المنطق.
المهارة
المهارة هي سير عمل تصريحي منسق مع متغيرات، وعمليات، وتبعيات، وقالب مخرجات.
# Skill: hello
# Status: Approved
# Description: Greet someone by name.
# Vars: WHO=world
Hello, ${WHO}!
هذه مهارة كاملة وقابلة للتشغيل. النص الأساسي يُعرض كمخرج لها.
يمكن للمهارات أيضاً استدعاء موصلات، والتفرع، والتكرار، وتشغيل مهارات أخرى، والاستجابة للأحداث، والتنفيذ وفق جداول زمنية:
# Skill: daily-disk-check
# Status: Approved
# Triggers: cron:"0 6 * * *"
# Autonomous: true
Snapshot written for ${NOW}.
snapshot:
shell(command="df -h --output=source,pcent,target") -> USAGE
file_write(
path="/var/log/skillscript/disk-${EVENT.fired_at_unix}.txt",
content="${USAGE}"
)
default: snapshot
سيرفض وقت التشغيل أمر الصدفة وكتابة الملف حتى يقوم المشغل بإدراج الثنائي والمسار في قائمة السماح.
كيف يعمل
- التأليف: يكتشف وكيل متصل بـ MCP الأدوات المتاحة، ويكتب مهارة، ويدققها. في الوضع المحمي تصل كـ
مسودة، خاملة حتى توافق عليها. - المراجعة: يفحص إنسان المهارة ويوافق عليها. في الوضع المحمي، التوقيع يوقع المحتوى المعتمد بمفتاح يحتفظ به المشغل.
- التنفيذ: تُنفذ المهارة من CLI، أو MCP، أو cron، أو حدث HTTP، أو مهارة أخرى.
- المراقبة: يسجل وقت التشغيل الآثار، والمخرجات، والإخفاقات، والعمليات المحظورة.
يمكن للمهارات أن تخدم ثلاثة أدوار:
| النوع | الغرض |
|---|---|
| بدون واجهة | ينفذ بشكل مستقل ويرسل المخرجات إلى نظام أو إنسان |
| تعزيزي | يهيئ سياقاً لوكيل متقدم |
| قالب | يعطي الوكيل إجراءً قابلاً لإعادة الاستخدام ليتبعه |
بداية سريعة
1. تثبيت وتشغيل وقت التشغيل
npm install -g skillscript-runtime
skillfile init
skillfile dashboard --host 127.0.0.1 --port 7878
افتح http://localhost:7878.
استخدم --host 0.0.0.0 فقط عندما يحتاج حاوية أخرى أو جهاز آخر للوصول إلى وقت التشغيل، واحمِ المدخل المكشوف بشكل مناسب.
2. إضافة خادم MCP إلى وكيلك
{
"mcpServers": {
"skillscript": {
"type": "http",
"url": "http://localhost:7878/rpc"
}
}
}
3. اطلب من الوكيل بناء مهارة
ألِّف مهارة تلقي بشخص ما باسمه.
الوكيل يكتب المهارة عبر MCP. وافق عليها في لوحة التحكم أو CLI:
skillfile approve hello
skillfile execute hello
الموصلات والأمان
تصل المهارات إلى الأنظمة الخارجية عبر موصلات مكونة بدلاً من بيانات اعتماد مباشرة. يمكن للموصلات كشف أدوات MCP، ومخازن البيانات، والنماذج المحلية، وقنوات توصيل الوكيل، أو قدرات وقت التشغيل المخصصة.
ضوابط مهمة للمشغل:
| الإعداد | الافتراضي |
|---|---|
SKILLSCRIPT_SHELL_ALLOWLIST | رفض كل الثنائيات |
SKILLSCRIPT_FS_ALLOWLIST | رفض كل المسارات |
SKILLSCRIPT_SECURED_MODE | إيقاف |
SKILLSCRIPT_MAX_DEADLINE_SECONDS | غير مضبوط (بدون سقف) |
SKILLSCRIPT_SUPERVISOR_SKILL | غير مضبوط (إيقاف) |
SKILLSCRIPT_SECRET_<NAME> | غير مضبوط |
الأسرار تُحل بواسطة وقت التشغيل وتُمرر فقط إلى المصارف المعتمدة. لا يمكن للمهارات طباعة قيمها الخام أو فحصها.
راجع دليل التهيئة و مرجع الموصل.
الأوامر الشائعة
skillfile lint <skill>
skillfile compile <skill>
skillfile execute <skill>
skillfile approve <skill>
skillfile diagram <skill>
skillfile fires <skill>
skillfile replay <trace_id>
skillfile health
شغّل skillfile <command> --help للخيارات.
الوثائق
- مرجع اللغة
- التهيئة
- دليل المتبني
- دليل وكيل المتبني
- عقود الموصلات
- الترقية
- أمثلة
- أمثلة إضافية على الموقع الإلكتروني
الحالة
Skillscript هو قبل الإصدار 1.0. اللغة الأساسية وعقود الموصلات في طور الاستقرار؛ العمل على التبني الخارجي والتوزيع مستمر.
المساهمة
تقارير الأخطاء وطلبات الميزات مرحب بها عبر Issues. افتح Issue قبل اقتراح تغييرات نحوية حتى يمكن مناقشة التصميم أولاً.
الترخيص
MIT. راجع LICENSE.