CLI commands
CLI محیط ایزوله
محیطهای اجرای sandbox را برای اجرای ایزوله عامل مدیریت کنید.
نمای کلی
OpenClaw میتواند برای امنیت، عاملها را در محیطهای اجرای sandbox ایزوله اجرا کند. فرمانهای sandbox به شما کمک میکنند پس از بهروزرسانیها یا تغییرات پیکربندی، این محیطهای اجرا را بررسی و دوباره ایجاد کنید.
امروزه این معمولاً یعنی:
- کانتینرهای sandbox Docker
- محیطهای اجرای sandbox SSH وقتی
agents.defaults.sandbox.backend = "ssh" - محیطهای اجرای sandbox OpenShell وقتی
agents.defaults.sandbox.backend = "openshell"
برای ssh و OpenShell remote، ایجاد دوباره مهمتر از Docker است:
- فضای کاری راهدور پس از seed اولیه مرجع اصلی است
openclaw sandbox recreateآن فضای کاری راهدور مرجع را برای دامنه انتخابشده حذف میکند- استفاده بعدی آن را دوباره از فضای کاری محلی فعلی seed میکند
فرمانها
openclaw sandbox explain
حالت/دامنه/دسترسی فضای کاری موثر sandbox، سیاست ابزار sandbox، و دروازههای ارتقایافته را بررسی کنید (همراه با مسیرهای کلید پیکربندی برای رفع مشکل).
openclaw sandbox explainopenclaw sandbox explain --session agent:main:mainopenclaw sandbox explain --agent workopenclaw sandbox explain --jsonopenclaw sandbox list
همه محیطهای اجرای sandbox را همراه با وضعیت و پیکربندی آنها فهرست کنید.
openclaw sandbox listopenclaw sandbox list --browser # List only browser containersopenclaw sandbox list --json # JSON outputخروجی شامل موارد زیر است:
- نام و وضعیت محیط اجرا
- بکاند (
docker،openshell، و غیره) - برچسب پیکربندی و اینکه آیا با پیکربندی فعلی مطابقت دارد
- عمر (زمان سپریشده از ایجاد)
- زمان بیکاری (زمان سپریشده از آخرین استفاده)
- نشست/عامل مرتبط
openclaw sandbox recreate
محیطهای اجرای sandbox را حذف کنید تا با پیکربندی بهروزشده دوباره ایجاد شوند.
openclaw sandbox recreate --all # Recreate all containersopenclaw sandbox recreate --session main # Specific sessionopenclaw sandbox recreate --agent mybot # Specific agentopenclaw sandbox recreate --browser # Only browser containersopenclaw sandbox recreate --all --force # Skip confirmationگزینهها:
--all: همه کانتینرهای sandbox را دوباره ایجاد میکند--session <key>: کانتینر را برای نشست مشخص دوباره ایجاد میکند--agent <id>: کانتینرها را برای عامل مشخص دوباره ایجاد میکند--browser: فقط کانتینرهای مرورگر را دوباره ایجاد میکند--force: پیام تأیید را رد میکند
موارد استفاده
پس از بهروزرسانی یک image Docker
# Pull new imagedocker pull openclaw-sandbox:latestdocker tag openclaw-sandbox:latest openclaw-sandbox:bookworm-slim # Update config to use new image# Edit config: agents.defaults.sandbox.docker.image (or agents.list[].sandbox.docker.image) # Recreate containersopenclaw sandbox recreate --allپس از تغییر پیکربندی sandbox
# Edit config: agents.defaults.sandbox.* (or agents.list[].sandbox.*) # Recreate to apply new configopenclaw sandbox recreate --allپس از تغییر مقصد SSH یا مواد احراز هویت SSH
# Edit config:# - agents.defaults.sandbox.backend# - agents.defaults.sandbox.ssh.target# - agents.defaults.sandbox.ssh.workspaceRoot# - agents.defaults.sandbox.ssh.identityFile / certificateFile / knownHostsFile# - agents.defaults.sandbox.ssh.identityData / certificateData / knownHostsData openclaw sandbox recreate --allبرای بکاند اصلی ssh، ایجاد دوباره ریشه فضای کاری راهدور هر دامنه را
روی مقصد SSH حذف میکند. اجرای بعدی آن را دوباره از فضای کاری محلی seed میکند.
پس از تغییر منبع، سیاست، یا حالت OpenShell
# Edit config:# - agents.defaults.sandbox.backend# - plugins.entries.openshell.config.from# - plugins.entries.openshell.config.mode# - plugins.entries.openshell.config.policy openclaw sandbox recreate --allبرای حالت OpenShell remote، ایجاد دوباره فضای کاری راهدور مرجع
آن دامنه را حذف میکند. اجرای بعدی آن را دوباره از فضای کاری محلی seed میکند.
پس از تغییر setupCommand
openclaw sandbox recreate --all# or just one agent:openclaw sandbox recreate --agent familyفقط برای یک عامل مشخص
# Update only one agent's containersopenclaw sandbox recreate --agent alfredچرا این لازم است
وقتی پیکربندی sandbox را بهروزرسانی میکنید:
- محیطهای اجرای موجود با تنظیمات قدیمی به کار خود ادامه میدهند.
- محیطهای اجرا فقط پس از ۲۴ ساعت عدم فعالیت هرس میشوند.
- عاملهایی که مرتب استفاده میشوند، محیطهای اجرای قدیمی را برای مدت نامحدود زنده نگه میدارند.
از openclaw sandbox recreate برای حذف اجباری محیطهای اجرای قدیمی استفاده کنید. وقتی دوباره لازم شوند، با تنظیمات فعلی بهطور خودکار ایجاد میشوند.
مهاجرت رجیستری
OpenClaw فراداده محیط اجرای sandbox را در پایگاه داده SQLite وضعیت مشترک ذخیره میکند. نصبهای قدیمیتر ممکن است هنوز فایلهای رجیستری sandbox قدیمی داشته باشند:
~/.openclaw/sandbox/containers.json~/.openclaw/sandbox/browsers.json
برخی ارتقاها ممکن است زیر ~/.openclaw/sandbox/containers/ یا ~/.openclaw/sandbox/browsers/ نیز برای هر کانتینر/مرورگر یک shard JSON داشته باشند. خواندنهای عادی محیط اجرای sandbox این منابع قدیمی را بازنویسی نمیکنند. برای مهاجرت ورودیهای قدیمی معتبر به SQLite، openclaw doctor --fix را اجرا کنید. فایلهای قدیمی نامعتبر قرنطینه میشوند تا یک رجیستری قدیمی خراب نتواند ورودیهای محیط اجرای فعلی را پنهان کند.
پیکربندی
تنظیمات sandbox در ~/.openclaw/openclaw.json زیر agents.defaults.sandbox قرار دارند (بازنویسیهای هر عامل در agents.list[].sandbox قرار میگیرند):
{ "agents": { "defaults": { "sandbox": { "mode": "all", // off, non-main, all "backend": "docker", // docker, ssh, openshell "scope": "agent", // session, agent, shared "docker": { "image": "openclaw-sandbox:bookworm-slim", "containerPrefix": "openclaw-sbx-", // ... more Docker options }, "prune": { "idleHours": 24, // Auto-prune after 24h idle "maxAgeDays": 7, // Auto-prune after 7 days }, }, }, },}مرتبط
- مرجع CLI
- Sandboxing
- فضای کاری عامل
- Doctor: راهاندازی sandbox را بررسی میکند.