Platforms overview

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

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

برنامه‌های همراه بومی Linux برنامه‌ریزی شده‌اند. اگر می‌خواهید در ساخت یکی کمک کنید، مشارکت‌ها خوشامدند.

مسیر سریع مبتدیان (VPS)

  1. Node 24 را نصب کنید (توصیه‌شده؛ Node 22 LTS، در حال حاضر 22.19+، همچنان برای سازگاری کار می‌کند)
  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: سرور Linux. نمونه گام‌به‌گام VPS: exe.dev

نصب

Gateway

نصب سرویس Gateway (CLI)

یکی از این‌ها را استفاده کنید:

Code
openclaw onboard --install-daemon

یا:

Code
openclaw gateway install

یا:

Code
openclaw configure

وقتی درخواست شد، سرویس Gateway را انتخاب کنید.

تعمیر/مهاجرت:

Code
openclaw doctor

کنترل سیستم (واحد کاربری systemd)

OpenClaw به‌صورت پیش‌فرض یک سرویس کاربری systemd نصب می‌کند. برای سرورهای مشترک یا همیشه‌روشن از سرویس سیستمی استفاده کنید. openclaw gateway install و openclaw onboard --install-daemon از قبل واحد استاندارد فعلی را برای شما تولید می‌کنند؛ فقط وقتی به راه‌اندازی سفارشی سیستم/مدیر سرویس نیاز دارید، آن را دستی بنویسید. راهنمای کامل سرویس در دفترچه اجرایی Gateway قرار دارد.

راه‌اندازی حداقلی:

~/.config/systemd/user/openclaw-gateway[-<profile>].service را بسازید:

Code
[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

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

Code
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 را تنظیم کند، نادیده گرفته می‌شود.

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

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

مقدار مورد انتظار برای فرزندان پوشش‌داده‌شده 1000 است. فرایند Gateway باید امتیاز عادی خود را نگه دارد، معمولاً 0.

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

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

مرتبط

Was this useful?
On this page

On this page