تخطَّ إلى المحتوى
kazma.
EN نجمة 6 ابدأ الآن

إنشاء المهارات

توسّع المهاراتُ كاظمهَ بأدوات وسير عمل. فضّل شكل الأدوات الأصلية (native tools) الذي تستخدمه المهارات المدمجة تحت kazma-skills/kazma_skills/native/.

موصى به: مهارة الأدوات الأصلية

Section titled “موصى به: مهارة الأدوات الأصلية”
my_skill/
skill_manifest.yaml # name, tools: map
tools.py # async callables named like the tools map keys
name: my-example-skill
version: 0.1.0
description: Example native skill
author: your-name
license: MIT
tools:
example_echo:
description: Echo a message back for testing.
category: utility
arabic_name: "مثال"
prompt_chain:
- "Echo the user's message"
from __future__ import annotations
async def example_echo(message: str = "") -> str:
"""Must match the tool name key in the manifest."""
return f"echo: {message}"

يكتشف NativeSkillLoader ‏(kazma_skills/native_loader.py) كل مجلد أصلي، ويقرأ tools:، ويستورد tools.py، ويسجّل كل أداة عبر register_function في LocalToolRegistry. وما زالت الأدوات الخطرة تمرّ عبر HITL عند التنفيذ.

Terminal window
# For a path skill package:
kazma hub validate ./my_skill
kazma hub sign ./my_skill
kazma hub register ./my_skill
# Built-in natives under kazma-skills are auto-discovered at app start.

طالع أمثلة حقيقية: secret_vault، git_github_manager، task_scheduler_cron تحت kazma-skills/kazma_skills/native/.

بديل: مهارة بنقطة دخول صنف

Section titled “بديل: مهارة بنقطة دخول صنف”

تستخدم بعض حزم المركز entry_point: main:MySkill. هذا الشكل مدعوم في فحوص التحقق/الاعتماد، لكن الأدوات الأصلية هي النمط الذي تستخدمه المدمجات الإنتاجية. إن استخدمت صنفًا (class)، فنفّذ عقدًا واضحًا ووثّقه — لا تفترض وجود واجهة إطار عمل عامة موحّدة execute(context) تتجاوز ما يتوقعه مُحمِّلك.

Terminal window
kazma hub validate ./my_skill
pytest path/to/tests -v