Platforms overview
แอป Linux
Gateway รองรับบน Linux อย่างเต็มรูปแบบ Node เป็น runtime ที่แนะนำ ไม่แนะนำให้ใช้ 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/และยืนยันตัวตนด้วย shared secret ที่กำหนดไว้ (ค่าเริ่มต้นคือ token; ใช้รหัสผ่านหากคุณตั้งค่า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 user unit)
OpenClaw ติดตั้งบริการ systemd แบบ user เป็นค่าเริ่มต้น ใช้บริการแบบ system
สำหรับเซิร์ฟเวอร์ที่ใช้ร่วมกันหรือเปิดทำงานตลอดเวลา openclaw gateway install และ
openclaw onboard --install-daemon จะแสดงผล unit ตามรูปแบบมาตรฐานปัจจุบัน
ให้คุณอยู่แล้ว; เขียนเองด้วยมือเฉพาะเมื่อคุณต้องการการตั้งค่า system/service-manager
แบบกำหนดเองเท่านั้น คำแนะนำบริการฉบับเต็มอยู่ใน คู่มือปฏิบัติการ 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แรงกดดันหน่วยความจำและการ kill จาก OOM
บน Linux เคอร์เนลจะเลือกเหยื่อ OOM เมื่อ host, VM หรือ container cgroup หน่วยความจำหมด Gateway อาจเป็นเหยื่อที่ไม่เหมาะสม เพราะเป็นเจ้าของ เซสชันและการเชื่อมต่อช่องทางที่มีอายุยาว OpenClaw จึงปรับให้น้ำหนักของ กระบวนการลูกชั่วคราวถูก kill ก่อน Gateway เมื่อทำได้
สำหรับการ spawn กระบวนการลูกบน Linux ที่เข้าเงื่อนไข OpenClaw จะเริ่มกระบวนการลูกผ่าน wrapper
/bin/sh สั้น ๆ ที่เพิ่ม oom_score_adj ของกระบวนการลูกเองเป็น 1000 จากนั้น
exec คำสั่งจริง นี่เป็นการทำงานแบบไม่ต้องใช้สิทธิ์พิเศษ เพราะกระบวนการลูก
เพียงเพิ่มโอกาสที่ตัวเองจะถูก OOM kill เท่านั้น
พื้นผิวกระบวนการลูกที่ครอบคลุมได้แก่:
- กระบวนการลูกของคำสั่งที่ supervisor จัดการ
- กระบวนการลูกของ PTY shell
- กระบวนการลูกของเซิร์ฟเวอร์ MCP stdio
- กระบวนการ browser/Chrome ที่ OpenClaw เรียกใช้
wrapper นี้ใช้เฉพาะ Linux และจะถูกข้ามเมื่อไม่มี /bin/sh นอกจากนี้
จะถูกข้ามเช่นกันหาก env ของกระบวนการลูกตั้งค่า OPENCLAW_CHILD_OOM_SCORE_ADJ=0, false,
no หรือ off
เพื่อตรวจสอบกระบวนการลูก:
cat /proc/<child-pid>/oom_score_adjค่าที่คาดไว้สำหรับกระบวนการลูกที่ครอบคลุมคือ 1000 กระบวนการ Gateway ควรคง
คะแนนปกติของตัวเองไว้ ซึ่งโดยทั่วไปคือ 0
unit systemd ที่แนะนำยังตั้งค่า OOMPolicy=continue ด้วย ค่านี้ทำให้
unit ของ Gateway ยังทำงานอยู่เมื่อกระบวนการลูกชั่วคราวถูกเลือกโดย OOM killer;
คำสั่ง/เซสชันของกระบวนการลูกอาจล้มเหลวและรายงานข้อผิดพลาดได้ โดยที่ systemd ไม่ทำเครื่องหมาย
ว่าบริการ gateway ทั้งหมดล้มเหลวและรีสตาร์ททุกช่องทาง
สิ่งนี้ไม่ได้ทดแทนการปรับแต่งหน่วยความจำตามปกติ หาก VPS หรือ container kill
กระบวนการลูกซ้ำ ๆ ให้เพิ่มขีดจำกัดหน่วยความจำ ลด concurrency หรือเพิ่มการควบคุมทรัพยากร
ที่เข้มงวดขึ้น เช่น MemoryMax= ของ systemd หรือขีดจำกัดหน่วยความจำระดับ container