CLI commands
چنگالها
openclaw claws
Claw یک پیکربندی نسخهبندیشده برای یک عامل جدید OpenClaw است. این پیکربندی میتواند هویت قابلانتقال عامل، فایلهای فضای کاری، Skills، Pluginها، سرورهای MCP و کارهای Cron را توصیف کند. تنظیمات عامل مختص هارنس را میتوان در یک پروفایل بسته ارجاعشده نگه داشت. Claw جایگزین یک عامل موجود نمیشود و آن را تغییر نمیدهد.
Clawها آزمایشی هستند. طرحواره، خروجی فرمان و چرخه عمر آنها ممکن است تغییر کند. سطح فرمان را صریحاً فعال کنید:
export OPENCLAW_EXPERIMENTAL_CLAWS=1CLI فعلی یک پوشه بسته محلی، CLAW.md یا مانیفست JSON گروهبندیشده را میخواند.
انتشار، جستوجو و نصب Clawهای کامل از طریق ClawHub یک
مسیر رجیستری جداگانه است و هنوز بخشی از این سطح فرمان نیست.
ایجاد یک بسته Claw
یک بسته شامل package.json، یک مانیفست CLAW.md و هر پروفایل یا
فایل جانبی فضای کاری است که آن مانیفست به آن ارجاع میدهد:
{ "name": "@acme/incident-triage-claw", "version": "1.0.0", "type": "module", "openclaw": { "claw": "CLAW.md" }}CLAW.md با فرانتمتر YAML آغاز میشود. بدنه Markdown آن Claw را
برای افراد توصیف میکند و بخشی از پیکربندی عامل نیست:
---schemaVersion: 1agent: id: incident-triage name: رسیدگی به رخدادهاmetadata: openclaw.config: profiles/openclaw.ymlworkspace: bootstrapFiles: {}packages: []mcpServers: {}cronJobs: []--- # رسیدگی به رخدادها یک عامل برای بازبینی و مسیریابی رخدادها ایجاد میکند.metadata نگاشتی رشتهبهرشته برای راهنماییهای قابلانتقال مصرفکننده است. کلید
openclaw.config در OpenClaw به یک پروفایل YAML اختیاری و نسبی به بسته اشاره میکند.
مقدار پیشفرض صادرشده profiles/openclaw.yml است؛ این اشارهگر هنجاری است، بنابراین
یک بسته میتواند مسیر امن نسبی .yml یا .yaml دیگری را انتخاب کند.
schemaVersion: 1agent: tools: profile: coding alsoAllow: [cron] deny: [exec] fs: workspaceOnly: true memory: search: enabled: true rememberAcrossConversations: true sources: [memory, sessions]این پروفایل فقط درون بسته Claw وجود دارد. OpenClaw هنگام بازرسی، افزودن، بهروزرسانی و صدور آن Claw، پروفایل را اعتبارسنجی و استفاده میکند؛ این پروفایل در مسیر عادی پیکربندی OpenClaw کاربر کپی نمیشود. هارنسهای دیگر میتوانند کلید فراداده دارای فضای نام را نادیده بگیرند و فیلدهای قابلانتقال مانیفست را مصرف کنند.
همان طرحواره سختگیرانه نسخه 1 همچنان مانیفستهای JSON گروهبندیشده را میپذیرد.
JSON گروهبندیشده بهجای جاسازی نسخه دومی از پروفایل OpenClaw، از همان
اشارهگر metadata.openclaw.config استفاده میکند. قطعههای باقیمانده طرحواره
در این صفحه از JSON استفاده میکنند و کلیدهای معادل در فرانتمتر CLAW.md موجودند.
پروفایل بسته OpenClaw میتواند هر پروفایل ابزار داخلی ثبتشده توسط
نسخه در حال اجرای OpenClaw را انتخاب کند و سپس آن را با alsoAllow، deny و
tools.fs.workspaceOnly: true پالایش کند. یک Claw نمیتواند آن فیلد را روی false تنظیم کند و
محدودسازی فایلسیستم میزبان را تضعیف کند. tools.allow همچنان بهعنوان یک
فهرست مجاز صریح در دسترس است، اما نمیتوان آن را با alsoAllow ترکیب کرد. یک Claw همچنین میتواند
memory.search.enabled را تنظیم کند، منابع قابلانتقال memory و sessions را انتخاب کند
و با rememberAcrossConversations حافظه میانگفتوگویی را فعال کند.
اعلام منبع sessions مستلزم فعالسازی آن است.
سیاست میزبان همچنان این تنظیمات را محدود میکند و Clawها شامل تعریفهای سفارشی
پروفایل، ارائهدهندگان، اطلاعات احراز هویت، اتصالها یا مسیرهای حافظه محلی نیستند.
پروفایل ارجاعشده به 256 KiB محدود است، باید YAML سازگار با JSON باشد، نباید
از نامهای مستعار، لنگرها، برچسبها یا کلیدهای ادغام استفاده کند و باید یک فایل عادی،
بدون پیوند نمادین و بدون پیوند سخت درون بسته باشد.
مسیرهای بسته و فضای کاری باید درون ریشه بسته باقی بمانند. مانیفستها به 1 MiB، فراداده بسته به 256 KiB محدودند و منابع فضای کاری محدودیتهای جداگانهای برای هر فایل و مجموع فایلها اعمال میکنند. منابع فضای کاری همچنین والدهای دارای پیوند نمادین را رد میکنند.
فایلهای فضای کاری با مسیر اعلام میشوند و از فایلهای جانبی بسته خوانده میشوند. فایلهای راهاندازی
مانند SOUL.md از ورودیهای نامگذاریشده استفاده میکنند؛ فایلهای اضافی از منابع
نسبی به بسته و مقصدهای نسبی به فضای کاری استفاده میکنند:
{ "workspace": { "bootstrapFiles": { "SOUL.md": { "source": "workspace/SOUL.md" } }, "files": [ { "source": "workspace/reference/policy.md", "path": "reference/policy.md" } ] }}Skills و Pluginها از نسخههای دقیق ClawHub استفاده میکنند:
{ "packages": [ { "kind": "skill", "source": "clawhub", "ref": "incident-triage", "version": "1.0.0" }, { "kind": "plugin", "source": "clawhub", "ref": "@acme/audit-plugin", "version": "2.0.0" } ]}اجرای آزمایشی از مسیرهای پیشبررسی موجود Skills و Pluginها استفاده میکند تا پیش از کسب رضایت، مصنوع دقیق، یکپارچگی و هر هشدار اعتماد ClawHub را حل کند. هشدار در برنامه مقید به یکپارچگی قابلمشاهده باقی میماند. اعمال برنامه، مصنوعات ازدسترفته را نصب یا موارد منطبق را دوباره استفاده میکند و ثبت میکند که آیا Claw هر منبع را معرفی کرده یا به آن ارجاع داده است. Pluginها بهجای نصبهای مختص هر عامل، قابلیتهای سراسری فرایند OpenClaw باقی میمانند.
کارهای Cron، کار زمانبندیشده برای عامل جدید را اعلام میکنند:
{ "cronJobs": [ { "id": "daily-summary", "name": "خلاصه روزانه رخدادها", "schedule": { "cron": "0 9 * * *", "timezone": "UTC" }, "session": "isolated", "message": "رخدادهای فعال را خلاصه کن." } ]}Clawها از زمانبند موجود Gateway استفاده میکنند و کارهای ایجادشده را به عامل جدید متصل میکنند. پیشنمایش، منشأ، وضعیت و حذف، آن کارها را بدون تغییر رفتار فرمانهای عادی Cron پوشش میدهند. حذف، کار زنده را از طریق Gateway دوباره میخواند و اگر تعریف تحت مالکیت آن پس از برنامهریزی تغییر کرده باشد، آن را حفظ میکند.
اعلانهای MCP از مدل پیکربندی موجود mcp.servers استفاده میکنند:
{ "mcpServers": { "statuspage": { "command": "npx", "args": ["--yes", "@acme/statuspage-mcp@1.0.0"], "env": { "STATUSPAGE_TOKEN": "${STATUSPAGE_TOKEN}" } } }}ارجاعهای محیطی همچنان ارجاع باقی میمانند؛ Clawها مقادیر حلشده اسرار را جاسازی نمیکنند. یک اعلان بدون تداخل مدیریتشده میشود، درحالیکه اعلان موجود دقیق یا مشترک مورد ارجاع قرار میگیرد. پیشنمایش، منشأ، وضعیت، صدور و حذف از همان سیاست مالکیت سایر منابع Claw پیروی میکنند.
بازرسی و پیشنمایش
منبع را بدون برنامهریزی تغییرات محلی اعتبارسنجی کنید:
openclaw claws inspect ./incident-triage.claw.jsonهمه اقدامات پیشنهادی چرخه عمر را پیشنمایش کنید:
openclaw claws add ./incident-triage.claw.json --dry-run --jsonبرنامه، عامل و فضای کاری مشتقشده، هر اقدام پیشنهادی،
پیشنیازها، موانع، افزایشهای متمایز قابلیت و چکیده planIntegrity را گزارش میکند.
رکوردهای قابلیت، اثر دقیق بسته، MCP، کار زمانبندیشده، سندباکس،
ابزار یا Heartbeat را نشان میدهند. پیش از ایجاد عامل، برنامه را بازبینی کنید:
openclaw claws add ./incident-triage.claw.json \ --yes \ --plan-integrity <SHA256_FROM_DRY_RUN>--yes بهتنهایی کافی نیست. OpenClaw برنامه را دوباره میسازد و اگر
منبع، مقصد یا پیکربندی زنده پس از پیشنمایش تغییر کرده باشد، رضایت را رد میکند. وقتی مقادیر
پیشفرض بسته با وضعیت محلی تداخل دارند، در هر دو مرحله پیشنمایش و اعمال از
--agent-id یا --workspace استفاده کنید. برای پروفایلهای یکبارمصرف و اعتبارسنجی موازی،
یک --workspace صریح ارائه کنید؛ OPENCLAW_STATE_DIR وضعیت زمان اجرا را جابهجا میکند، اما
مکان پیشفرض فضای کاری را تغییر نمیدهد.
افزودن یک Claw، عامل و پیکربندی فضای کاری جدید را ایجاد میکند، فایلهای اعلامشده فضای کاری را مینویسد، مصنوعات Skills و Plugin اعلامشده را نصب یا دوباره استفاده میکند و منشأ بسته، MCP و Cron را ثبت میکند. فایلهای موجود بازنویسی نمیشوند و تلاشهای مجدد، هنگام انحراف محتوای تحت مالکیت، با حالت بسته شکست میخورند.
بازرسی وضعیت نصبشده
openclaw claws statusopenclaw claws status incident-triage --jsonopenclaw doctorstatus عامل نصبشده و منشأ ثبتشده فضای کاری، بسته، MCP
و Cron آن را با وضعیت فعلی مقایسه میکند. نصبهای ناقص، منابع ازدسترفته
و انحراف را بدون تغییر وضعیت محلی گزارش میکند. openclaw doctor
عیبیابیهای ویژه Claw را برای رکوردهای ناقص مالکیت، فایلهای مدیریتشده ناامن
و کارهای Cron که نمیتوان آنها را با موجودی زنده Gateway تأیید کرد، اضافه میکند.
منشأ Claw دو رابطه را متمایز میکند:
- مدیریتشده: Claw منبع را معرفی کرده و اکنون آن را مدیریت میکند. اگر بدون تغییر باشد و مالک متعارضی باقی نماند، نامزد پاکسازی است.
- ارجاعشده: منبع مستقل از Claw وجود داشته یا مشترک است. حذف، ارجاع این Claw را آزاد میکند و بهطور پیشفرض منبع را نگه میدارد.
این یک شمارش ارجاع نیست. فرمانهای عادی Plugin، Skills و عامل رفتار موجود خود را حفظ میکنند؛ Clawها منشأ و عملیات محافظتشده چرخه عمر را به آن اضافه میکنند.
بهروزرسانی یک Claw نصبشده
بهطور پیشفرض، بهروزرسانی از منبعی استفاده میکند که هنگام افزودن Claw ثبت شده است. وقتی
آن منبع جابهجا شده یا پوشه بسته دیگری را آزمایش میکنید، از
--from استفاده کنید:
openclaw claws update incident-triage --dry-run --jsonopenclaw claws update incident-triage \ --from ./incident-triage-next \ --dry-run --jsonبرنامه، منشأ و وضعیت زنده فعلی را با مانیفست هدف مقایسه میکند.
تغییرات عامل، فضای کاری، بسته، MCP، Cron و مالکیت،
از جمله افزایش قابلیتها و موانع را گزارش میکند. افزایش قابلیتها دارای
رکوردهای ماشینخوان جداگانه و خطوط ! با اثرات دقیق و ویرایششده در
خروجی انسانی هستند. یکپارچگی حلشده بسته، هویت نصب و هر هشدار
اعتماد نیز گنجانده میشوند. حذف اعلان یک بسته، یال این Claw را
بدون حذف مصنوع در طول بهروزرسانی آزاد میکند. تأیید نهایی و
دقیق planIntegrity آن مجموعه افشاشده و همچنین تغییرات عادی
محتوا را مقید میکند. میزبانها میتوانند از همان رکوردها برای یک گفتوگوی جداگانه یا
بازبینی تجمیعی چندعاملی استفاده کنند. برنامه دقیق بازبینیشده را با رضایت
صریح اعمال کنید:
openclaw claws update incident-triage \ --yes \ --plan-integrity <SHA256_FROM_DRY_RUN>OpenClaw پیش از هر تغییر، برنامه را دوباره میسازد و وضعیت تحت مالکیت را با
مقایسهوجایگزینی بهروزرسانی میکند. اعلانهای حذفشده بسته، یالهای وابستگی را بدون
حذف مصنوعات آزاد میکنند. تغییرات Cron، تعریف زنده زمانبند را دوباره میخوانند و
در صورت انحراف اپراتور متوقف میشوند. نصبکنندههای بسته، نویسندههای پیکربندی منبع و زمانبند Gateway
یک تراکنش واحد نیستند. اگر پس از یک تغییر خارجی نتوان جبران را اثبات کرد،
OpenClaw کد خطای update_partial را با
status: partial ساختاریافته گزارش میکند، منشأ نامطمئن را
حفظ میکند و متوقف میشود. claws status، منبع تحتتأثیر و openclaw doctor را بررسی کنید؛
سپس پیش از تلاش مجدد یا حذف هر چیزی، دوباره پیشنمایش بگیرید.
حذف یک Claw نصبشده
پیش از انتخاب پاکسازی، حذف را پیشنمایش کنید:
openclaw claws remove incident-triage --dry-run --jsonopenclaw claws remove incident-triage \ --yes \ --plan-integrity <SHA256_FROM_DRY_RUN>حالت پیشفرض، وضعیت مدیریتشده واجد شرایط را حذف و وضعیت ارجاعشده را آزاد میکند.
فایلهای تغییریافته و منابعی که مالک فعلی دیگری دارند حفظ یا
مسدود میشوند. گزینههای پاکسازی بخشی از چکیده برنامهاند؛ --yes هرگز
آنها را گسترش نمیدهد. Pluginهای نصبشده سراسری درحالیکه ارجاع این Claw
آزاد میشود، حفظ میشوند؛ وقتی قصد حذف یک Plugin سراسری فرایند را دارید،
چرخه عمر عادی Plugin را جداگانه بهکار ببرید.
برای حذف ارجاعهای بدون تغییر معرفیشده توسط Claw که مالک فعلی دیگری ندارند،
--remove-unused را هم در پیشنمایش و هم در اعمال وارد کنید. برای انتخاب دقیق
منابع ارجاعشده، --remove-referenced را تکرار کنید:
openclaw claws remove incident-triage \ --dry-run \ --remove-referenced 'plugin:@acme/audit-plugin@2.0.0'از --force-referenced فقط پس از بازبینی وابستگان نمایشدادهشده،
مالکان مستقل و منشأ ازپیشموجود استفاده کنید. این گزینه پاکسازی موارد انتخابشده را با وجود
آن تداخلها مجاز میکند؛ رضایت مبتنی بر یکپارچگی برنامه را نادیده نمیگیرد.
صدور یک عامل نصبشده
خروجیگرفتن یک دایرکتوری بستهٔ جدید ایجاد میکند و اگر مقصد از قبل وجود داشته باشد یا وضعیت مدیریتشده دچار انحراف شده باشد، با شکست مواجه میشود:
openclaw claws export incident-triage --out ./incident-triage-export --jsonنتیجه شامل package.json، CLAW.md متعارف و فایلهای جانبی فضای کاری
مدیریتشده است. این یک بستهٔ قابلانتقال Claw است، نه نسخهٔ پشتیبان از کل نمونه: عاملهای نامرتبط،
اعتبارنامهها، نشستها و وضعیت محلی فاقد مالک مستثنا هستند.
مرجع فرمانها
| فرمان | هدف |
|---|---|
claws inspect <source> |
اعتبارسنجی یک دایرکتوری بسته یا مانیفست گروهبندیشده. |
claws add <source> |
پیشنمایش یا ایجاد یک عامل و فضای کاری جدید. |
claws status [claw-or-agent] |
گزارش وضعیت نصبشده، مالکیت و انحراف. |
claws update <claw-or-agent> |
پیشنمایش یا اعمال تغییرات از منبع انتخابشده. |
claws remove <claw-or-agent> |
پیشنمایش یا حذف عامل و منابع واجد شرایط. |
claws export <agent> --out <path> |
ایجاد یک بستهٔ قابلانتقال از یک عامل نصبشده. |
برای خروجی آزمایشی قابلخواندن توسط ماشین از --json استفاده کنید.