Platforms overview
برنامه لینوکس
Gateway بهطور کامل روی Linux پشتیبانی میشود. Node زمان اجرای توصیهشده است. Bun برای Gateway توصیه نمیشود (اشکالات WhatsApp/Telegram).
برنامههای همراه بومی Linux برنامهریزی شدهاند. اگر میخواهید در ساخت یکی کمک کنید، مشارکتها خوشامدند.
مسیر سریع مبتدیان (VPS)
- Node 24 را نصب کنید (توصیهشده؛ Node 22 LTS، در حال حاضر
22.19+، همچنان برای سازگاری کار میکند) npm i -g openclaw@latestopenclaw onboard --install-daemon- از لپتاپ خود:
ssh -N -L 18789:127.0.0.1:18789 <user>@<host> http://127.0.0.1:18789/را باز کنید و با راز مشترک پیکربندیشده احراز هویت کنید (بهصورت پیشفرض توکن؛ اگرgateway.auth.mode: "password"را تنظیم کردهاید، گذرواژه)
راهنمای کامل سرور Linux: سرور Linux. نمونه گامبهگام VPS: exe.dev
نصب
- شروع به کار
- نصب و بهروزرسانیها
- جریانهای اختیاری: Bun (آزمایشی)، Nix، Docker
Gateway
نصب سرویس Gateway (CLI)
یکی از اینها را استفاده کنید:
openclaw onboard --install-daemonیا:
openclaw gateway installیا:
openclaw configureوقتی درخواست شد، سرویس Gateway را انتخاب کنید.
تعمیر/مهاجرت:
openclaw doctorکنترل سیستم (واحد کاربری systemd)
OpenClaw بهصورت پیشفرض یک سرویس کاربری systemd نصب میکند. برای سرورهای مشترک یا همیشهروشن از سرویس سیستمی استفاده کنید. openclaw gateway install و
openclaw onboard --install-daemon از قبل واحد استاندارد فعلی را برای شما تولید میکنند؛ فقط وقتی به راهاندازی سفارشی سیستم/مدیر سرویس نیاز دارید، آن را دستی بنویسید. راهنمای کامل سرویس در دفترچه اجرایی Gateway قرار دارد.
راهاندازی حداقلی:
~/.config/systemd/user/openclaw-gateway[-<profile>].service را بسازید:
[Unit]Description=OpenClaw Gateway (profile: <profile>, v<version>)After=network-online.targetWants=network-online.target [Service]ExecStart=/usr/local/bin/openclaw gateway --port 18789Restart=alwaysRestartSec=5TimeoutStopSec=30TimeoutStartSec=30SuccessExitStatus=0 143OOMPolicy=continueKillMode=control-group [Install]WantedBy=default.targetآن را فعال کنید:
systemctl --user enable --now openclaw-gateway[-<profile>].serviceفشار حافظه و پایاندادنهای OOM
در Linux، وقتی حافظه یک میزبان، VM، یا cgroup کانتینر تمام میشود، kernel یک قربانی OOM انتخاب میکند. Gateway میتواند قربانی نامناسبی باشد، چون مالک نشستهای طولانیمدت و اتصالهای کانال است. بنابراین OpenClaw در صورت امکان فرایندهای فرزند موقتی را طوری اولویتبندی میکند که پیش از Gateway خاتمه داده شوند.
برای اجرای فرایندهای فرزند واجد شرایط در Linux، OpenClaw فرزند را از طریق یک پوشش کوتاه /bin/sh شروع میکند که مقدار oom_score_adj خود فرزند را به 1000 افزایش میدهد و سپس فرمان واقعی را exec میکند. این عملیات بدون امتیاز ویژه انجام میشود، چون فرزند فقط احتمال پایاندادهشدن خودش توسط OOM را افزایش میدهد.
سطحهای فرایند فرزند پوششدادهشده شامل این موارد هستند:
- فرزندان فرمان مدیریتشده توسط supervisor،
- فرزندان پوسته PTY،
- فرزندان سرور stdio مربوط به MCP،
- فرایندهای مرورگر/Chrome که OpenClaw راهاندازی کرده است.
این پوشش فقط مخصوص Linux است و وقتی /bin/sh در دسترس نباشد، نادیده گرفته میشود. همچنین اگر env فرزند OPENCLAW_CHILD_OOM_SCORE_ADJ=0، false، no، یا off را تنظیم کند، نادیده گرفته میشود.
برای بررسی یک فرایند فرزند:
cat /proc/<child-pid>/oom_score_adjمقدار مورد انتظار برای فرزندان پوششدادهشده 1000 است. فرایند Gateway باید امتیاز عادی خود را نگه دارد، معمولاً 0.
واحد systemd توصیهشده همچنین OOMPolicy=continue را تنظیم میکند. این کار باعث میشود وقتی یک فرایند فرزند موقتی توسط پایاندهنده OOM انتخاب میشود، واحد Gateway زنده بماند؛ فرمان/نشست فرزند میتواند شکست بخورد و خطای خود را گزارش کند، بدون اینکه systemd کل سرویس Gateway را ناموفق علامتگذاری کند و همه کانالها را دوباره راهاندازی کند.
این جایگزین تنظیم معمول حافظه نیست. اگر یک VPS یا کانتینر بهطور مکرر فرزندان را خاتمه میدهد، حد حافظه را افزایش دهید، همزمانی را کاهش دهید، یا کنترلهای قویتری برای منابع اضافه کنید، مانند MemoryMax= در systemd یا محدودیتهای حافظه در سطح کانتینر.