CLI commands
تأییدها
openclaw approvals
تأییدهای exec را برای میزبان محلی، میزبان Gateway، یا یک میزبان Node مدیریت کنید.
بهطور پیشفرض، فرمانها فایل تأییدهای محلی روی دیسک را هدف میگیرند. از --gateway برای هدفگرفتن Gateway، یا از --node برای هدفگرفتن یک Node مشخص استفاده کنید.
نام مستعار: openclaw exec-approvals
مرتبط:
- تأییدهای exec: تأییدهای exec
- Nodeها: Nodeها
openclaw exec-policy
openclaw exec-policy فرمان کمکی محلی برای همراستا نگهداشتن پیکربندی درخواستی
tools.exec.* و فایل تأییدهای میزبان محلی در یک مرحله است.
وقتی میخواهید این کارها را انجام دهید از آن استفاده کنید:
- بررسی سیاست درخواستی محلی، فایل تأییدهای میزبان، و ادغام مؤثر
- اعمال یک preset محلی مانند YOLO یا deny-all
- همگامسازی
tools.exec.*محلی و فایل تأییدهای میزبان محلی
نمونهها:
openclaw exec-policy showopenclaw exec-policy show --json openclaw exec-policy preset yoloopenclaw exec-policy preset cautious --json openclaw exec-policy set --host gateway --security full --ask off --ask-fallback fullحالتهای خروجی:
- بدون
--json: نمای جدولی خوانا برای انسان را چاپ میکند --json: خروجی ساختیافته و قابلخواندن برای ماشین را چاپ میکند
دامنه فعلی:
exec-policyفقط محلی است- فایل پیکربندی محلی و فایل تأییدهای محلی را با هم بهروزرسانی میکند
- سیاست را به میزبان Gateway یا یک میزبان Node ارسال نمیکند
--host nodeدر این فرمان رد میشود، چون تأییدهای exec مربوط به Node هنگام اجرا از خود Node دریافت میشوند و باید در عوض از طریق فرمانهای تأیید هدفگرفتهشده برای Node مدیریت شوندopenclaw exec-policy showدامنههایhost=nodeرا بهجای استخراج یک سیاست مؤثر از فایل تأییدهای محلی، هنگام اجرا بهعنوان مدیریتشده توسط Node علامتگذاری میکند
اگر باید تأییدهای میزبان راهدور را مستقیماً ویرایش کنید، همچنان از openclaw approvals set --gateway
یا openclaw approvals set --node <id|name|ip> استفاده کنید.
فرمانهای رایج
openclaw approvals getopenclaw approvals get --node <id|name|ip>openclaw approvals get --gatewayopenclaw approvals get اکنون سیاست exec مؤثر را برای اهداف محلی، Gateway، و Node نشان میدهد:
- سیاست درخواستی
tools.exec - سیاست فایل تأییدهای میزبان
- نتیجه مؤثر پس از اعمال قواعد اولویت
اولویتدهی عامدانه است:
- فایل تأییدهای میزبان منبع حقیقت قابلاعمال است
- سیاست درخواستی
tools.execمیتواند نیت را محدودتر یا گستردهتر کند، اما نتیجه مؤثر همچنان از قواعد میزبان استخراج میشود --nodeفایل تأییدهای میزبان Node را با سیاستtools.execمربوط به Gateway ترکیب میکند، چون هر دو همچنان هنگام اجرا اعمال میشوند- اگر پیکربندی Gateway در دسترس نباشد، CLI به snapshot تأییدهای Node برمیگردد و یادداشت میکند که سیاست نهایی زمان اجرا قابل محاسبه نبوده است
جایگزینی تأییدها از یک فایل
openclaw approvals set --file ./exec-approvals.jsonopenclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" } }EOFopenclaw approvals set --node <id|name|ip> --file ./exec-approvals.jsonopenclaw approvals set --gateway --file ./exec-approvals.jsonset فقط JSON سختگیرانه را نمیپذیرد، بلکه JSON5 را هم میپذیرد. یا از --file استفاده کنید یا از --stdin، نه هر دو.
نمونه «هرگز درخواست نکن» / YOLO
برای میزبانی که هرگز نباید روی تأییدهای exec متوقف شود، مقدارهای پیشفرض تأییدهای میزبان را روی full + off بگذارید:
openclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFگونه Node:
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFاین فقط فایل تأییدهای میزبان را تغییر میدهد. برای همراستا نگهداشتن سیاست درخواستی OpenClaw، این موارد را نیز تنظیم کنید:
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask offدلیل tools.exec.host=gateway در این نمونه:
host=autoهمچنان یعنی «وقتی sandbox در دسترس است از آن استفاده کن، در غیر این صورت Gateway».- YOLO درباره تأییدهاست، نه مسیریابی.
- اگر حتی وقتی sandbox پیکربندی شده است exec روی میزبان را میخواهید، انتخاب میزبان را با
gatewayیا/exec host=gatewayصریح کنید.
askFallback حذفشده بهطور پیشفرض deny است. هنگام ارتقای یک میزبان بدون رابط کاربری که باید رفتار بدون درخواست را حفظ کند، askFallback: "full"
را صریح تنظیم کنید.
میانبر محلی:
openclaw exec-policy preset yoloاین میانبر محلی هم پیکربندی درخواستی محلی tools.exec.* و هم
پیشفرضهای تأیید محلی را با هم بهروزرسانی میکند. از نظر هدف معادل راهاندازی دستی دومرحلهای
بالاست، اما فقط برای ماشین محلی.
ابزارهای کمکی allowlist
openclaw approvals allowlist add "~/Projects/**/bin/rg"openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"openclaw approvals allowlist add --agent "*" "/usr/bin/uname" openclaw approvals allowlist remove "~/Projects/**/bin/rg"گزینههای رایج
get، set، و allowlist add|remove همگی از اینها پشتیبانی میکنند:
--node <id|name|ip>--gateway- گزینههای مشترک RPC مربوط به Node:
--url،--token،--timeout،--json
نکات هدفگیری:
- نبود پرچمهای هدف یعنی فایل تأییدهای محلی روی دیسک
--gatewayفایل تأییدهای میزبان Gateway را هدف میگیرد--nodeپس از resolve کردن id، نام، IP، یا پیشوند id، یک میزبان Node را هدف میگیرد
allowlist add|remove همچنین از این مورد پشتیبانی میکند:
--agent <id>(پیشفرض*است)
نکات
--nodeاز همان resolver مربوط بهopenclaw nodesاستفاده میکند (id، نام، ip، یا پیشوند id).--agentبهطور پیشفرض"*"است، که روی همه agentها اعمال میشود.- میزبان Node باید
system.execApprovals.get/setرا اعلام کند (برنامه macOS یا میزبان Node بدون رابط). - فایلهای تأیید برای هر میزبان در دایرکتوری state مربوط به OpenClaw ذخیره میشوند
(
$OPENCLAW_STATE_DIR/exec-approvals.json، یا~/.openclaw/exec-approvals.jsonوقتی متغیر تنظیم نشده باشد).