Platforms overview

برنامهٔ لینوکس

Gateway در Linux به‌طور کامل پشتیبانی می‌شود. Node محیط اجرای توصیه‌شده است؛ Bun توصیه نمی‌شود (به‌دلیل مشکلات شناخته‌شده با WhatsApp/Telegram).

هنوز برنامه همراه بومی برای Linux وجود ندارد. از مشارکت‌ها استقبال می‌شود.

مسیر سریع (VPS)

  1. Node 24 (توصیه‌شده) یا Node 22.19+ (نسخه LTS که همچنان پشتیبانی می‌شود) را نصب کنید.
  2. npm i -g openclaw@latest
  3. openclaw onboard --install-daemon
  4. از لپ‌تاپ خود اجرا کنید: ssh -N -L 18789:127.0.0.1:18789 <user>@<host>
  5. http://127.0.0.1:18789/ را باز کنید و با راز مشترک پیکربندی‌شده احراز هویت کنید (به‌طور پیش‌فرض توکن؛ اگر gateway.auth.mode برابر "password" باشد، گذرواژه).

راهنمای کامل سرور: سرور Linux. نمونه گام‌به‌گام VPS: exe.dev.

نصب

سرویس Gateway‏ (systemd)

با یکی از روش‌های زیر نصب کنید:

bash
openclaw onboard --install-daemonopenclaw gateway installopenclaw configure   # هنگام درخواست، "Gateway service" را انتخاب کنید

نصب موجود را تعمیر یا مهاجرت دهید:

bash
openclaw doctor

openclaw gateway install به‌طور پیش‌فرض یک واحد کاربر در systemd ایجاد می‌کند. راهنمای کامل سرویس، از جمله نوع واحد سطح سیستم برای میزبان‌های اشتراکی یا همیشه‌روشن، در راهنمای عملیاتی Gateway قرار دارد.

فقط برای راه‌اندازی سفارشی، واحد را به‌صورت دستی بنویسید. نمونه حداقلی واحد کاربر (~/.config/systemd/user/openclaw-gateway[-<profile>].service):

ini
[Unit]Description=OpenClaw Gateway (profile: <profile>, v<version>)After=network-online.targetWants=network-online.targetStartLimitBurst=5StartLimitIntervalSec=60 [Service]ExecStart=/usr/local/bin/openclaw gateway --port 18789Restart=alwaysRestartSec=5RestartPreventExitStatus=78TimeoutStopSec=30TimeoutStartSec=30SuccessExitStatus=0 143OOMPolicy=continueKillMode=control-group [Install]WantedBy=default.target

آن را فعال کنید:

bash
systemctl --user enable --now openclaw-gateway[-<profile>].service

فشار حافظه و خاتمه‌های OOM

در Linux، هنگامی که حافظه میزبان، ماشین مجازی یا cgroup کانتینر تمام شود، هسته یک قربانی OOM انتخاب می‌کند. Gateway قربانی مناسبی نیست، زیرا مالک نشست‌های بلندمدت و اتصال‌های کانال است؛ بنابراین OpenClaw تا حد امکان فرایندهای فرزند موقتی را در اولویت خاتمه قرار می‌دهد.

برای اجرای فرایندهای فرزند واجد شرایط در Linux، OpenClaw فرمان را در یک لایه کوتاه /bin/sh قرار می‌دهد که مقدار oom_score_adj خود فرایند فرزند را به 1000 افزایش می‌دهد و سپس فرمان واقعی را با exec اجرا می‌کند. این کار به دسترسی ویژه نیاز ندارد: یک فرایند همیشه می‌تواند امتیاز OOM خودش را افزایش دهد.

سطوح فرایند فرزند تحت پوشش:

  • فرایندهای فرزند فرمان که توسط ناظر مدیریت می‌شوند
  • فرایندهای فرزند پوسته PTY
  • فرایندهای فرزند سرور stdio در MCP
  • فرایندهای مرورگر/Chrome که OpenClaw راه‌اندازی می‌کند (از طریق محیط اجرای فرایند در SDK افزونه)

این پوشش فقط مخصوص Linux است و هنگامی که /bin/sh در دسترس نباشد، یا محیط فرایند فرزند مقدار OPENCLAW_CHILD_OOM_SCORE_ADJ را روی 0، false، no یا off تنظیم کند، اعمال نمی‌شود.

یک فرایند فرزند را بررسی کنید:

bash
cat /proc/<child-pid>/oom_score_adj

مقدار مورد انتظار برای فرایندهای فرزند تحت پوشش 1000 است؛ خود فرایند Gateway امتیاز عادی‌اش را حفظ می‌کند (معمولاً 0).

گزینه OOMPolicy=continue در واحد systemd باعث می‌شود هنگامی که OOM killer یک فرایند فرزند موقتی را انتخاب می‌کند، سرویس Gateway فعال بماند؛ به‌جای اینکه کل واحد ناموفق علامت‌گذاری شود و همه کانال‌ها از نو راه‌اندازی شوند. فرایند فرزند/نشست ناموفق، خطای خودش را گزارش می‌کند.

این قابلیت جایگزین تنظیم عادی حافظه نمی‌شود. اگر یک VPS یا کانتینر به‌طور مکرر فرایندهای فرزند را خاتمه می‌دهد، محدودیت حافظه را افزایش دهید، هم‌زمانی را کاهش دهید یا کنترل‌های منابع قوی‌تری اضافه کنید (MemoryMax= در systemd، محدودیت‌های حافظه کانتینر).

مرتبط

Was this useful?
On this page

On this page