Platforms overview

แอป Linux

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   # select "Gateway service" when prompted

ซ่อมแซมหรือย้ายการติดตั้งที่มีอยู่:

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 เคอร์เนลจะเลือกโปรเซสเป้าหมายของ OOM เมื่อหน่วยความจำของโฮสต์, VM หรือ cgroup ของคอนเทนเนอร์หมด Gateway ไม่เหมาะที่จะเป็นเป้าหมาย เพราะจัดการเซสชันที่ใช้งานยาวนาน และการเชื่อมต่อช่องทาง ดังนั้น OpenClaw จึงเพิ่มโอกาสให้โปรเซสลูกชั่วคราว ถูกยุติก่อนเมื่อเป็นไปได้

สำหรับการสร้างโปรเซสลูกบน Linux ที่เข้าเกณฑ์ OpenClaw จะครอบคำสั่งด้วย ชิม /bin/sh ขนาดเล็ก ซึ่งเพิ่มค่า oom_score_adj ของโปรเซสลูกเองเป็น 1000 แล้ว ใช้ exec เรียกคำสั่งจริง การดำเนินการนี้ไม่ต้องใช้สิทธิ์พิเศษ เพราะโปรเซสสามารถเพิ่ม คะแนน OOM ของตนเองได้เสมอ

ส่วนที่ครอบคลุมโปรเซสลูก:

  • โปรเซสลูกของคำสั่งที่จัดการโดยตัวควบคุม
  • โปรเซสลูกของเชลล์ PTY
  • โปรเซสลูกของเซิร์ฟเวอร์ stdio ของ MCP
  • โปรเซสเบราว์เซอร์/Chrome ที่ OpenClaw เรียกใช้ (ผ่านรันไทม์โปรเซสของ SDK ของ Plugin)

ตัวครอบนี้ใช้เฉพาะ 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 ทำให้บริการ Gateway ยังคงทำงานเมื่อ โปรเซสลูกชั่วคราวถูก OOM killer เลือก แทนที่จะทำเครื่องหมายว่ายูนิตทั้งหมด ล้มเหลวและเริ่มช่องทางทั้งหมดใหม่ โดยโปรเซสลูกหรือเซสชันที่ล้มเหลวจะรายงาน ข้อผิดพลาดของตนเอง

การดำเนินการนี้ไม่สามารถทดแทนการปรับแต่งหน่วยความจำตามปกติได้ หาก VPS หรือคอนเทนเนอร์ ยุติโปรเซสลูกซ้ำ ๆ ให้เพิ่มขีดจำกัดหน่วยความจำ ลดจำนวนงานพร้อมกัน หรือเพิ่ม การควบคุมทรัพยากรที่เข้มงวดยิ่งขึ้น (systemd MemoryMax=, ขีดจำกัดหน่วยความจำของคอนเทนเนอร์)

เนื้อหาที่เกี่ยวข้อง

Was this useful?
On this page

On this page