CLI commands
CLI محیط ایزوله
مدیریت زماناجراهای sandbox برای اجرای ایزولهٔ عامل.
نمای کلی
OmeniaClaw میتواند برای امنیت، عاملها را در زماناجراهای sandbox ایزوله اجرا کند. دستورهای sandbox به شما کمک میکنند پس از بهروزرسانیها یا تغییرات پیکربندی، این زماناجراها را بررسی و بازایجاد کنید.
امروز این معمولاً یعنی:
- کانتینرهای sandbox در Docker
- زماناجراهای sandbox مبتنی بر SSH وقتی
agents.defaults.sandbox.backend = "ssh" - زماناجراهای sandbox مبتنی بر OpenShell وقتی
agents.defaults.sandbox.backend = "openshell"
برای ssh و OpenShell remote، بازایجاد از Docker مهمتر است:
- فضای کاری راهدور پس از seed اولیه، مرجع اصلی است
OmeniaClaw sandbox recreateآن فضای کاری راهدور مرجع را برای دامنهٔ انتخابشده حذف میکند- استفادهٔ بعدی دوباره آن را از فضای کاری محلی فعلی seed میکند
دستورها
OmeniaClaw sandbox explain
حالت/دامنه/دسترسی فضای کاری مؤثر sandbox، سیاست ابزار sandbox، و دروازههای elevated را بررسی کنید (همراه با مسیرهای کلید پیکربندی برای رفع مشکل).
OmeniaClaw sandbox explainOmeniaClaw sandbox explain --session agent:main:mainOmeniaClaw sandbox explain --agent workOmeniaClaw sandbox explain --jsonOmeniaClaw sandbox list
همهٔ زماناجراهای sandbox را همراه با وضعیت و پیکربندی آنها فهرست کنید.
OmeniaClaw sandbox listOmeniaClaw sandbox list --browser # List only browser containersOmeniaClaw sandbox list --json # JSON outputخروجی شامل این موارد است:
- نام و وضعیت زماناجرا
- بکاند (
docker،openshellو غیره) - برچسب پیکربندی و اینکه آیا با پیکربندی فعلی مطابقت دارد یا نه
- سن (زمان سپریشده از ایجاد)
- زمان بیکاری (زمان سپریشده از آخرین استفاده)
- نشست/عامل مرتبط
OmeniaClaw sandbox recreate
زماناجراهای sandbox را حذف کنید تا با پیکربندی بهروزشده دوباره ایجاد شوند.
OmeniaClaw sandbox recreate --all # Recreate all containersOmeniaClaw sandbox recreate --session main # Specific sessionOmeniaClaw sandbox recreate --agent mybot # Specific agentOmeniaClaw sandbox recreate --browser # Only browser containersOmeniaClaw sandbox recreate --all --force # Skip confirmationگزینهها:
--all: بازایجاد همهٔ کانتینرهای sandbox--session <key>: بازایجاد کانتینر برای نشست مشخص--agent <id>: بازایجاد کانتینرها برای عامل مشخص--browser: فقط بازایجاد کانتینرهای مرورگر--force: رد کردن درخواست تأیید
موارد استفاده
پس از بهروزرسانی یک تصویر Docker
# Pull new imagedocker pull OmeniaClaw-sandbox:latestdocker tag OmeniaClaw-sandbox:latest OmeniaClaw-sandbox:bookworm-slim # Update config to use new image# Edit config: agents.defaults.sandbox.docker.image (or agents.list[].sandbox.docker.image) # Recreate containersOmeniaClaw sandbox recreate --allپس از تغییر پیکربندی sandbox
# Edit config: agents.defaults.sandbox.* (or agents.list[].sandbox.*) # Recreate to apply new configOmeniaClaw 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 OmeniaClaw 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 OmeniaClaw sandbox recreate --allبرای حالت OpenShell remote، بازایجاد فضای کاری راهدور مرجع را برای آن دامنه حذف میکند. اجرای بعدی دوباره آن را از فضای کاری محلی seed میکند.
پس از تغییر setupCommand
OmeniaClaw sandbox recreate --all# or just one agent:OmeniaClaw sandbox recreate --agent familyفقط برای یک عامل مشخص
# Update only one agent's containersOmeniaClaw sandbox recreate --agent alfredچرا این لازم است
وقتی پیکربندی sandbox را بهروزرسانی میکنید:
- زماناجراهای موجود با تنظیمات قدیمی به کار ادامه میدهند.
- زماناجراها فقط پس از ۲۴ ساعت بیاستفاده بودن پاکسازی میشوند.
- عاملهایی که مرتب استفاده میشوند، زماناجراهای قدیمی را برای مدت نامحدود زنده نگه میدارند.
از OmeniaClaw sandbox recreate استفاده کنید تا حذف زماناجراهای قدیمی را اجبار کنید. آنها در زمان نیاز بعدی، بهصورت خودکار با تنظیمات فعلی بازایجاد میشوند.
مهاجرت رجیستری
OmeniaClaw فرادادهٔ زماناجرای sandbox را بهصورت یک shard JSON برای هر ورودی کانتینر/مرورگر، زیر دایرکتوری وضعیت sandbox ذخیره میکند. نصبهای قدیمیتر ممکن است هنوز فایلهای قدیمی یکپارچه داشته باشند:
~/.OmeniaClaw/sandbox/containers.json~/.OmeniaClaw/sandbox/browsers.json
خواندنهای معمول زماناجرای sandbox این فایلها را بازنویسی نمیکنند. برای مهاجرت ورودیهای قدیمی معتبر به دایرکتوریهای رجیستری shardشده، OmeniaClaw doctor --fix را اجرا کنید. فایلهای قدیمی نامعتبر قرنطینه میشوند تا یک رجیستری قدیمی خراب نتواند ورودیهای زماناجرای فعلی را پنهان کند.
پیکربندی
تنظیمات sandbox در ~/.OmeniaClaw/OmeniaClaw.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": "OmeniaClaw-sandbox:bookworm-slim", "containerPrefix": "OmeniaClaw-sbx-", // ... more Docker options }, "prune": { "idleHours": 24, // Auto-prune after 24h idle "maxAgeDays": 7, // Auto-prune after 7 days }, }, }, },}مرتبط
- مرجع CLI
- sandboxing
- فضای کاری عامل
- Doctor: راهاندازی sandbox را بررسی میکند.