Skills

ایجاد Skills

Skills به عامل می‌آموزند چگونه و چه زمانی از ابزارها استفاده کند. هر Skill یک دایرکتوری است که شامل یک فایل SKILL.md با فرانت‌متر YAML و دستورالعمل‌های Markdown است. OpenClaw مهارت‌ها را با ترتیب تقدم مشخصی از چندین ریشه بارگذاری می‌کند.

نخستین Skill خود را بسازید

  • دایرکتوری Skill را ایجاد کنید

    Skills در پوشه skills/ فضای کاری شما قرار می‌گیرند:

    bash
    mkdir -p ~/.openclaw/workspace/skills/hello-world

    برای سازمان‌دهی می‌توانید Skills را در زیرپوشه‌ها گروه‌بندی کنید — نام Skill همچنان با فرانت‌متر SKILL.md تعیین می‌شود، نه مسیر پوشه:

    bash
    mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# نام Skill همچنان "hello-world" است و با /hello-world فراخوانی می‌شود
  • SKILL.md را بنویسید

    فرانت‌متر فراداده را تعریف می‌کند؛ بدنه دستورالعمل‌ها را به عامل ارائه می‌دهد.

    markdown
    ---name: hello-worlddescription: یک Skill ساده که پیام خوشامدگویی چاپ می‌کند.--- # سلام دنیا وقتی کاربر پیام خوشامدگویی می‌خواهد، از ابزار `exec` برای اجرای دستور زیر استفاده کنید: ```bashecho "سلام از Skill سفارشی شما!"
    Code
     قواعد نام‌گذاری:- برای `name` از حروف کوچک، ارقام و خط تیره استفاده کنید.- نام دایرکتوری و `name` فرانت‌متر را هم‌خوان نگه دارید.- `description` به عامل و در بخش کشف فرمان‌های اسلش نمایش داده می‌شود —  آن را تک‌خطی و کوتاه‌تر از 160 نویسه نگه دارید.  OPENCLAW_DOCS_MARKER:stepClose:   OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSLYqNin2LHar9iw2KfYsduMIFNraWxsINix2Kcg2KrYo9uM24zYryDaqdmG24zYryI ```bashopenclaw skills list

    OpenClaw به‌طور پیش‌فرض فایل‌های SKILL.md زیر ریشه‌های Skills را پایش می‌کند. اگر پایشگر غیرفعال است یا در حال ادامه‌دادن یک نشست موجود هستید، نشست جدیدی آغاز کنید تا عامل فهرست به‌روزشده را دریافت کند:

    bash
    # از چت — نشست فعلی را بایگانی کنید و نشستی تازه آغاز کنید/new # یا Gateway را دوباره راه‌اندازی کنیدopenclaw gateway restart
  • آن را آزمایش کنید

    bash
    openclaw agent --message "یک پیام خوشامدگویی به من بده"

    یا یک چت باز کنید و مستقیماً از عامل بخواهید. برای فراخوانی صریح آن با نام، از /skill hello-world استفاده کنید.

  • مرجع SKILL.md

    فیلدهای الزامی

    فیلد توضیحات
    name نامک یکتا با حروف کوچک، ارقام و خط تیره
    description توضیحی تک‌خطی که به عامل و در خروجی کشف نمایش داده می‌شود

    کلیدهای اختیاری فرانت‌متر

    فیلد پیش‌فرض توضیحات
    user-invocable true Skill را به‌عنوان فرمان اسلش کاربر در دسترس قرار می‌دهد
    disable-model-invocation false Skill را از پرامپت سیستمی عامل خارج نگه می‌دارد (همچنان از طریق /skill اجرا می‌شود)
    command-dispatch برای هدایت مستقیم فرمان اسلش به ابزار و دورزدن مدل، روی tool تنظیم کنید
    command-tool نام ابزاری که هنگام تنظیم‌بودن command-dispatch: tool فراخوانی می‌شود
    command-arg-mode raw برای ارسال به ابزار، رشته آرگومان‌های خام را به ابزار می‌فرستد
    homepage نشانی اینترنتی که با عنوان «وب‌سایت» در رابط کاربری Skills در macOS نمایش داده می‌شود

    برای فیلدهای دروازه‌بندی (requires.bins، requires.env و غیره)، Skills — دروازه‌بندی را ببینید.

    استفاده از {baseDir}

    بدون کدنویسی ثابت مسیرها، به فایل‌های داخل دایرکتوری Skill ارجاع دهید — عامل {baseDir} را نسبت به دایرکتوری خود Skill تفکیک می‌کند:

    markdown
    اسکریپت کمکی را در `{baseDir}/scripts/run.sh` اجرا کنید.

    افزودن فعال‌سازی شرطی

    Skill خود را دروازه‌بندی کنید تا فقط زمانی بارگذاری شود که وابستگی‌هایش در دسترس باشند:

    markdown
    ---name: gemini-searchdescription: جست‌وجو با استفاده از Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---
    گزینه‌های دروازه‌بندی
    کلید توضیحات
    requires.bins همه فایل‌های اجرایی باید در PATH موجود باشند
    requires.anyBins دست‌کم یک فایل اجرایی باید در PATH موجود باشد
    requires.env هر متغیر محیطی باید در فرایند یا پیکربندی موجود باشد
    requires.config مقدار هر مسیر openclaw.json باید درست‌نما باشد
    os فیلتر پلتفرم: ["darwin"]، ["linux"]، ["win32"]
    always برای نادیده‌گرفتن همه دروازه‌ها و گنجاندن همیشگی Skill، true را تنظیم کنید

    مرجع کامل: Skills — دروازه‌بندی.

    محیط و کلیدهای API

    یک کلید API را به ورودی Skill در openclaw.json متصل کنید:

    json5
    {  skills: {    entries: {      "gemini-search": {        enabled: true,        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },      },    },  },}

    کلید فقط برای همان نوبت عامل به فرایند میزبان تزریق می‌شود. این کلید به سندباکس نمی‌رسد — به متغیرهای محیطی سندباکس‌شده مراجعه کنید.

    پیشنهاد از طریق کارگاه Skill

    برای Skills پیش‌نویس‌شده توسط عامل، یا زمانی که می‌خواهید پیش از عملیاتی‌شدن یک Skill، اپراتور آن را بازبینی کند، به‌جای نوشتن مستقیم SKILL.md از پیشنهادهای کارگاه Skill استفاده کنید.

    bash
    # یک Skill کاملاً جدید پیشنهاد دهیدopenclaw skills workshop propose-create \  --name "hello-world" \  --description "یک Skill ساده که پیام خوشامدگویی چاپ می‌کند." \  --proposal ./PROPOSAL.md # به‌روزرسانی یک Skill موجود را پیشنهاد دهیدopenclaw skills workshop propose-update hello-world \  --proposal ./PROPOSAL.md \  --description "Skill خوشامدگویی به‌روزشده"

    وقتی پیشنهاد شامل فایل‌های پشتیبانی است، از --proposal-dir استفاده کنید:

    bash
    openclaw skills workshop propose-create \  --name "hello-world" \  --description "یک Skill ساده که پیام خوشامدگویی چاپ می‌کند." \  --proposal-dir ./hello-world-proposal/

    دایرکتوری باید در ریشه خود شامل PROPOSAL.md باشد. فایل‌های پشتیبانی در assets/، examples/، references/، scripts/ یا templates/ قرار می‌گیرند.

    پس از بازبینی:

    bash
    openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>

    برای چرخه کامل پیشنهاد، کارگاه Skill را ببینید.

    انتشار در ClawHub

  • از کامل‌بودن SKILL.md خود مطمئن شوید

    مطمئن شوید name، description و همه فیلدهای دروازه‌بندی metadata.openclaw تنظیم شده‌اند. اگر صفحه پروژه دارید، یک نشانی homepage اضافه کنید.

  • CLI مستقل ClawHub را نصب و وارد حساب شوید

    bash
    npm i -g clawhubclawhub login
  • منتشر کنید

    bash
    clawhub skill publish ./path/to/hello-world

    برای بازنویسی نسخه استنباط‌شده یا انتشار تحت مالک مشخص، --version <version> یا --owner <owner> را اضافه کنید. برای روند کامل، محدوده‌بندی مالک و دیگر فرمان‌های نگه‌داری (clawhub sync، clawhub skill rename و غیره)، ClawHub — انتشار و CLI ‏ClawHub را ببینید.

  • روش‌های برتر

    مرتبط

    Was this useful?
    On this page

    On this page