
Skillscript — لغة تعريفية صغيرة لإنشاء سير عمل الوكلاء. وقت التشغيل، المترجم، وواجهة الأوامر.
أتمتة آمنة وقابلة لإعادة الاستخدام يكتبها الوكلاء.
الخلاصة —
npm install -g skillscript-runtime && skillfile init && skillfile dashboard. راجع بداية سريعة.
نشأ Skillscript من سؤال: كيف سيبدو Makefile إذا كان يبني مهارات بدلاً من البرامج الثنائية؟ الإجابة هي لغة مقيدة، مستوحاة من Make، ووقت تشغيل يحوِّل منطق الوكيل إلى أتمتة دائمة وقابلة للفحص. الوكيل يكتب المهارة، أنت توافق على ما يمكنها فعله، وتنفذ بنفس الطريقة في كل مرة.
صُمم للفرق التي تريد للوكلاء إنشاء وتشغيل سير عمل متكرر دون منحهم وصولاً غير مقيد إلى الصدفة، أو تثبيت حزم عشوائية، أو سيطرة مباشرة على بيانات اعتماد الإنتاج.
الوكيل يكتب مهارة. الإنسان يراجعها ويوافق عليها. وقت التشغيل ينفذها عبر موصلات مكونة، وقوائم سماح، وسياسات أمان.
npm install -g skillscript-runtime
skillfile init
skillfile dashboard
ثم وصِّل وكيلك بـ MCP: http://localhost:7878/rpc واطلب منه تأليف مهارة.
عادةً يعيد الوكلاء اشتقاق المهام الروتينية من الصفر. وهذا يزيد التكلفة، وزمن الاستجابة، والانحراف السلوكي.
يتيح Skillscript للوكيل أن يبلور إجراءً مكتسباً إلى أثر قابل لإعادة الاستخدام وله اسم، يمكن:
Skillscript هو تنسيق فقط. الحساب يبقى داخل الأدوات والموصلات؛ المهارات تنسق تلك القدرات عبر قواعد نحوية تصريحية صغيرة. هذا يمكن أن يخفض بشكل ملحوظ استخدام الرموز من النماذج المتقدمة في سير العمل المتكرر: تكلفة الاستدلال تُدفع مرة واحدة عند تأليف المهارة، وكل تشغيلة بعد ذلك تنفذ حتمياً، مع تسليم المهام الفرعية الروتينية لنماذج محلية أرخص.
يبقى 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
سيرفض وقت التشغيل أمر الصدفة وكتابة الملف حتى يقوم المشغل بإدراج الثنائي والمسار في قائمة السماح.
مسودة، خاملة حتى توافق عليها.يمكن للمهارات أن تخدم ثلاثة أدوار:
| النوع | الغرض |
|---|---|
| بدون واجهة | ينفذ بشكل مستقل ويرسل المخرجات إلى نظام أو إنسان |
| تعزيزي | يهيئ سياقاً لوكيل متقدم |
| قالب | يعطي الوكيل إجراءً قابلاً لإعادة الاستخدام ليتبعه |
npm install -g skillscript-runtime
skillfile init
skillfile dashboard --host 127.0.0.1 --port 7878
افتح http://localhost:7878.
استخدم --host 0.0.0.0 فقط عندما يحتاج حاوية أخرى أو جهاز آخر للوصول إلى وقت التشغيل، واحمِ المدخل المكشوف بشكل مناسب.
{
"mcpServers": {
"skillscript": {
"type": "http",
"url": "http://localhost:7878/rpc"
}
}
}
ألِّف مهارة تلقي بشخص ما باسمه.
الوكيل يكتب المهارة عبر MCP. وافق عليها في لوحة التحكم أو CLI:
skillfile approve hello
skillfile execute hello
تصل المهارات إلى الأنظمة الخارجية عبر موصلات مكونة بدلاً من بيانات اعتماد مباشرة. يمكن للموصلات كشف أدوات MCP، ومخازن البيانات، والنماذج المحلية، وقنوات توصيل الوكيل، أو قدرات وقت التشغيل المخصصة.
ضوابط مهمة للمشغل:
الأسرار تُحل بواسطة وقت التشغيل وتُمرر فقط إلى المصارف المعتمدة. لا يمكن للمهارات طباعة قيمها الخام أو فحصها.
راجع دليل التهيئة و مرجع الموصل.
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.
| الإعداد | الافتراضي |
|---|
SKILLSCRIPT_SHELL_ALLOWLIST | رفض كل الثنائيات |
SKILLSCRIPT_FS_ALLOWLIST | رفض كل المسارات |
SKILLSCRIPT_SECURED_MODE | إيقاف |
SKILLSCRIPT_MAX_DEADLINE_SECONDS | غير مضبوط (بدون سقف) |
SKILLSCRIPT_SUPERVISOR_SKILL | غير مضبوط (إيقاف) |
SKILLSCRIPT_SECRET_<NAME> | غير مضبوط |