สรุปโดยย่อ
การแก้ไขปัญหา OpenClaw ครอบคลุมถึงการเชื่อมต่อหลุด, การยืนยันตัวตนล้มเหลว, ข้อผิดพลาดในการกำหนดเส้นทาง และปัญหาด้านประสิทธิภาพ ปัญหาส่วนใหญ่เกิดจากเครือข่ายที่ไม่เสถียร, คีย์ API ไม่ถูกต้อง หรือช่องทางที่กำหนดค่าผิดพลาด คู่มือนี้จะให้วิธีแก้ไขทีละขั้นตอนสำหรับข้อผิดพลาด OpenClaw ที่พบบ่อยที่สุด 15 ประการ
ปัญหาการติดตั้งและการตั้งค่า
เวอร์ชัน Node.js ไม่ตรงกัน
ปัญหา: คำสั่ง openclaw ไม่พบหรือไม่ทำงานโดยมีข้อความว่า "unsupported Node version."
สาเหตุ: OpenClaw ต้องใช้ Node.js เวอร์ชัน 22 ขึ้นไป เวอร์ชันเก่ากว่าไม่มีคุณสมบัติที่จำเป็น
วิธีแก้ไข:
ตรวจสอบเวอร์ชัน Node ของคุณ:
node --version
หากต่ำกว่า 22 ให้อัปเดต Node:
# ใช้ nvm (แนะนำ)
nvm install 22
nvm use 22
# หรือดาวน์โหลดจาก nodejs.org
ติดตั้ง OpenClaw ใหม่:
npm install -g openclaw@latest
ตรวจสอบการติดตั้ง:
openclaw --version
ปฏิเสธการเข้าถึงระหว่างการติดตั้ง
ปัญหา: npm install -g openclaw ล้มเหลวด้วยข้อผิดพลาด EACCES หรือข้อผิดพลาดในการอนุญาต
สาเหตุ: npm พยายามเขียนไปยังไดเรกทอรีระบบโดยไม่มีสิทธิ์ที่เหมาะสม
วิธีแก้ไข:
อย่าใช้ sudo แต่ให้กำหนดค่า npm ให้ใช้ไดเรกทอรีผู้ใช้แทน:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
เพิ่มลงในโปรไฟล์เชลล์ของคุณ (~/.zshrc หรือ ~/.bashrc):
export PATH=~/.npm-global/bin:$PATH
โหลดเชลล์ของคุณใหม่:
source ~/.zshrc
ติดตั้ง OpenClaw:
npm install -g openclaw@latest
ไม่พบไฟล์การกำหนดค่า
ปัญหา: OpenClaw ไม่พบไฟล์ ~/.openclaw/config.json หลังจากการติดตั้ง
สาเหตุ: วิซาร์ดการเริ่มต้นใช้งานไม่ทำงานหรือล้มเหลวโดยไม่มีข้อความแจ้ง
วิธีแก้ไข:
เรียกใช้การเริ่มต้นใช้งานด้วยตนเอง:
openclaw onboard
หากล้มเหลว ให้สร้างไดเรกทอรีการกำหนดค่า:
mkdir -p ~/.openclaw
สร้างไฟล์การกำหนดค่าขั้นต่ำ:
cat > ~/.openclaw/config.json << 'EOF'
{
"version": "1.0.0",
"providers": {},
"agents": {},
"channels": {},
"routing": []
}
EOF
เรียกใช้การเริ่มต้นใช้งานอีกครั้ง:
openclaw onboard
ปัญหาการเชื่อมต่อช่องทาง
โค้ด QR ของ WhatsApp สแกนไม่ได้
ปัญหา: โค้ด QR ปรากฏขึ้น แต่แอป WhatsApp แจ้งว่า "Invalid QR code" หรือไม่ตอบสนอง
สาเหตุ: โค้ด QR หมดอายุ หรือปัญหาเครือข่ายระหว่างโทรศัพท์ของคุณกับ OpenClaw
วิธีแก้ไข:
- ตรวจสอบให้แน่ใจว่าโทรศัพท์และคอมพิวเตอร์ของคุณอยู่ในเครือข่ายเดียวกัน
- สร้างโค้ด QR ใหม่:
openclaw channels logout whatsapp
openclaw channels login whatsapp
- สแกนภายใน 30 วินาที (โค้ด QR จะหมดอายุอย่างรวดเร็ว)
- หากยังคงล้มเหลว ให้ตรวจสอบการตั้งค่าไฟร์วอลล์:
# macOS
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /usr/local/bin/node
# Linux (ufw)
sudo ufw allow 18789/tcp
WhatsApp หลุดการเชื่อมต่อหลังจากผ่านไปไม่กี่ชั่วโมง
ปัญหา: WhatsApp ทำงานได้ในตอนแรก แต่หลุดการเชื่อมต่อหลังจาก 2-4 ชั่วโมง
สาเหตุ: โปรโตคอลของ WhatsApp ต้องมีการส่งสัญญาณ Heartbeat เป็นระยะ การเปลี่ยนแปลงเครือข่ายหรือโหมดสลีปจะขัดจังหวะการเชื่อมต่อ
วิธีแก้ไข:
เปิดใช้งานการเชื่อมต่อใหม่โดยอัตโนมัติ:
openclaw channels config whatsapp --auto-reconnect true --reconnect-interval 300
การตั้งค่านี้จะตรวจสอบการเชื่อมต่อทุก 5 นาที และเชื่อมต่อใหม่หากจำเป็น
หากคุณใช้แล็ปท็อป ให้ป้องกันไม่ให้เครื่องเข้าสู่โหมดสลีปในขณะที่ OpenClaw ทำงานอยู่:
# macOS
caffeinate -i openclaw gateway
# Linux
systemd-inhibit --what=sleep openclaw gateway
สำหรับการใช้งานจริง ให้รัน OpenClaw บนเซิร์ฟเวอร์แทนที่จะเป็นแล็ปท็อป
บอท Telegram ไม่ได้รับข้อความ
ปัญหา: บอทออนไลน์อยู่ แต่ไม่ตอบสนองต่อข้อความ
สาเหตุ: บอทไม่มีสิทธิ์ที่จำเป็นหรือโทเค็นไม่ถูกต้อง
วิธีแก้ไข:
ทดสอบโทเค็นบอท:
curl https://api.telegram.org/bot<YOUR_TOKEN>/getMe
หากได้รับข้อผิดพลาด ให้สร้างโทเค็นใหม่:
- เปิด Telegram และส่งข้อความไปที่ @BotFather
- ส่ง
/mybots - เลือกบอทของคุณ
- เลือก "API Token" → "Regenerate Token"
- อัปเดต OpenClaw:
openclaw channels update telegram --token NEW_TOKEN
สำหรับการแชทกลุ่ม ให้เพิ่มบอทเป็นผู้ดูแลระบบโดยให้สิทธิ์ "Read Messages"
บอท Discord แสดงสถานะออฟไลน์
ปัญหา: บอทปรากฏเป็นออฟไลน์ในรายการเซิร์ฟเวอร์ Discord
สาเหตุ: ขาด "Message Content Intent" หรือโทเค็นไม่ถูกต้อง
วิธีแก้ไข:
- ไปที่ Discord Developer Portal
- เลือกแอปพลิเคชันของคุณ
- ไปที่แท็บ "Bot"
- เปิดใช้งาน "Message Content Intent" ภายใต้ Privileged Gateway Intents
- บันทึกการเปลี่ยนแปลง
- รีสตาร์ท OpenClaw:
openclaw gateway restart
หากบอทยังคงออฟไลน์อยู่ ให้ตรวจสอบโทเค็น:
openclaw channels test discord
หากล้มเหลว ให้สร้างโทเค็นใหม่ใน Developer Portal และอัปเดต OpenClaw
iMessage bridge ไม่ทำงาน (macOS)
ปัญหา: ช่องทาง iMessage แสดง "disconnected" หรือไม่ได้รับข้อความ
สาเหตุ: ขาดสิทธิ์การเข้าถึง (accessibility permissions) หรือแอป Messages ไม่ได้ทำงานอยู่
วิธีแก้ไข:
- เปิด System Settings → Privacy & Security → Accessibility
- เพิ่ม Terminal (หรือแอปเทอร์มินัลของคุณ) ไปยังรายการที่อนุญาต
- รีสตาร์ท OpenClaw:
openclaw gateway restart
- ตรวจสอบให้แน่ใจว่าแอป Messages กำลังทำงานและลงชื่อเข้าใช้แล้ว
- ทดสอบโดยการส่งข้อความถึงตัวเอง
หากยังคงไม่ทำงาน ให้ตรวจสอบกระบวนการ bridge:
ps aux | grep openclaw-imessage-bridge
หากไม่ได้ทำงานอยู่ ให้เริ่มด้วยตนเอง:
openclaw channels restart imessage
ข้อผิดพลาดในการยืนยันตัวตนและ API
คีย์ API ไม่ถูกต้อง
ปัญหา: ข้อผิดพลาด "Authentication failed" หรือ "Invalid API key" ในบันทึก (logs)
สาเหตุ: คีย์ API ผิด, คีย์หมดอายุ, หรือคีย์ที่ไม่มีสิทธิ์ที่เหมาะสม
วิธีแก้ไข:
ตรวจสอบคีย์ API ของคุณ:
# สำหรับ Anthropic
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: YOUR_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-4-6","max_tokens":10,"messages":[{"role":"user","content":"Hi"}]}'
# สำหรับ OpenAI
curl https://api.openai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4","messages":[{"role":"user","content":"Hi"}],"max_tokens":10}'
หากคำสั่ง curl ล้มเหลว แสดงว่าคีย์ของคุณไม่ถูกต้อง รับคีย์ใหม่จากแดชบอร์ดของผู้ให้บริการของคุณ
อัปเดต OpenClaw:
openclaw config set --provider anthropic --api-key NEW_KEY
รีสตาร์ท Gateway:
openclaw gateway restart
เกินขีดจำกัดอัตราการเรียกใช้
ปัญหา: ข้อผิดพลาด "Rate limit exceeded" หรือ "Too many requests"
สาเหตุ: คุณกำลังส่งคำขอจำนวนมากเกินไปไปยังผู้ให้บริการ AI ของคุณ
วิธีแก้ไข:
ตรวจสอบการใช้งานของคุณ:
openclaw stats --period 1h
เปิดใช้งานการจำกัดอัตรา:
openclaw limits set --max-requests 50 --window 3600
การตั้งค่านี้จะจำกัดคุณไว้ที่ 50 คำขอต่อชั่วโมง ปรับตามขีดจำกัดของผู้ให้บริการของคุณ
สำหรับการรับส่งข้อมูลจำนวนมากชั่วคราว ให้เปิดใช้งานการจัดคิว:
openclaw config set --enable-queue true --queue-max-size 100
ข้อความจะถูกจัดคิวเมื่อคุณถึงขีดจำกัดอัตราและจะถูกประมวลผลเมื่อมีกำลังการทำงานว่าง
ไม่พบโมเดล
ปัญหา: ข้อผิดพลาด "Model not found" หรือ "Invalid model"
สาเหตุ: คุณระบุโมเดลที่ไม่มีอยู่จริงหรือไม่พร้อมใช้งานสำหรับบัญชีของคุณ
วิธีแก้ไข:
แสดงรายการโมเดลที่มีอยู่:
# Anthropic
curl https://api.anthropic.com/v1/models \
-H "x-api-key: YOUR_KEY"
# OpenAI
curl https://api.openai.com/v1/models \
-H "Authorization: Bearer YOUR_KEY"
อัปเดตการกำหนดค่าเอเจนต์ของคุณ:
openclaw agents update default --model claude-sonnet-4-6
รีสตาร์ท Gateway:
openclaw gateway restart
เครดิตไม่เพียงพอ
ปัญหา: ข้อผิดพลาด "Insufficient credits" หรือ "Payment required"
สาเหตุ: บัญชีผู้ให้บริการ AI ของคุณหมดเครดิตหรือถึงขีดจำกัดการเรียกเก็บเงิน
วิธีแก้ไข:
ตรวจสอบยอดเงินในบัญชีของคุณบนแดชบอร์ดของผู้ให้บริการของคุณ:
- Anthropic: https://console.anthropic.com/settings/billing
- OpenAI: https://platform.openai.com/account/billing
เพิ่มเครดิตหรืออัปเดตวิธีการชำระเงินของคุณ
ในระหว่างที่คุณรอ ให้กำหนดเส้นทางไปยังโมเดลฟรีหรือโมเดลในเครื่อง:
openclaw agents add fallback --provider ollama --model llama2
openclaw routing add --fallback fallback
ข้อผิดพลาดในการกำหนดเส้นทางข้อความ
ข้อความถูกส่งไปยังเอเจนต์ผิดตัว
ปัญหา: ข้อความถูกกำหนดเส้นทางไปยังเอเจนต์ AI ผิดตัว ทั้งๆ ที่มีกฎการกำหนดเส้นทางอยู่แล้ว
สาเหตุ: กฎการกำหนดเส้นทางขัดแย้งกัน หรือมีความสำคัญไม่ถูกต้อง
วิธีแก้ไข:
แสดงรายการกฎการกำหนดเส้นทางทั้งหมด:
openclaw routing list
ตรวจสอบความขัดแย้ง กฎที่มีลำดับความสำคัญสูงกว่าจะถูกจับคู่ก่อน หากคุณมี:
Priority 5: channel=whatsapp → agent=default
Priority 10: sender=+1234567890 → agent=vip
ข้อความจาก +1234567890 บน WhatsApp จะถูกส่งไปที่ vip (ลำดับความสำคัญ 10 ชนะ)
ลบกฎที่ขัดแย้งกัน:
openclaw routing remove <rule-id>
เพิ่มกฎที่มีลำดับความสำคัญที่ถูกต้อง:
openclaw routing add --channel whatsapp --agent default --priority 1
openclaw routing add --sender +1234567890 --agent vip --priority 10
ทดสอบการกำหนดเส้นทาง:
openclaw routing test --channel whatsapp --sender +1234567890 --message "test"
นี่จะแสดงว่าเอเจนต์ใดจะจัดการข้อความโดยไม่ต้องส่งข้อความนั้นจริง
การกำหนดเส้นทางด้วยคีย์เวิร์ดไม่ทำงาน
ปัญหา: ข้อความที่มีคีย์เวิร์ดเฉพาะไม่ถูกกำหนดเส้นทางไปยังเอเจนต์ที่กำหนดค่าไว้
สาเหตุ: คีย์เวิร์ดคำนึงถึงตัวพิมพ์เล็ก/ใหญ่ หรือข้อความไม่มีคีย์เวิร์ดที่ตรงกันเป๊ะ
วิธีแก้ไข:
ทำให้คีย์เวิร์ดไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่:
openclaw routing add --keyword "debug" --agent debugging --case-insensitive
ใช้ regex สำหรับการจับคู่ที่ยืดหยุ่น:
openclaw routing add --pattern "debug|error|bug" --agent debugging
นี่จะจับคู่คำว่า "debug", "error" หรือ "bug" ที่ใดก็ได้ในข้อความ
ทดสอบการจับคู่คีย์เวิร์ด:
openclaw routing test --message "I found a debug issue"
ข้อผิดพลาดของฟังก์ชันการกำหนดเส้นทางแบบกำหนดเอง
ปัญหา: ฟังก์ชันการกำหนดเส้นทางแบบกำหนดเองเกิดข้อผิดพลาดหรือไม่ทำงาน
สาเหตุ: ข้อผิดพลาดทางไวยากรณ์, การพึ่งพา (dependencies) ที่ขาดหายไป, หรือค่าส่งคืนที่ไม่ถูกต้อง
วิธีแก้ไข:
ทดสอบฟังก์ชันการกำหนดเส้นทางของคุณ:
openclaw routing test-custom ~/.openclaw/routing.js --message "test"
นี่จะรันฟังก์ชันของคุณและแสดงผลลัพธ์หรือข้อผิดพลาด
ปัญหาที่พบบ่อย:
- ข้อผิดพลาดทางไวยากรณ์: ตรวจสอบไวยากรณ์ JavaScript ของคุณ
- ไม่มีค่าส่งคืน: ควรส่งคืนชื่อเอเจนต์เสมอ
- ฟังก์ชันแบบ Async: อย่าใช้ async/await ในฟังก์ชันการกำหนดเส้นทาง (ฟังก์ชันเหล่านี้ต้องเป็นแบบ synchronous)
ตัวอย่างฟังก์ชันที่ถูกต้อง:
module.exports = function route(message) {
// ควรส่งคืนสตริง (ชื่อเอเจนต์) เสมอ
if (message.channel === 'whatsapp') {
return 'whatsapp-agent';
}
return 'default';
};
ตัวอย่างฟังก์ชันที่ไม่ถูกต้อง:
// อย่าทำแบบนี้
module.exports = async function route(message) {
const result = await someAsyncOperation();
return result; // ไม่รองรับฟังก์ชันแบบ Async
};
เอเจนต์สำรองไม่ทำงาน
ปัญหา: เมื่อเอเจนต์หลักล้มเหลว ข้อความจะไม่ถูกกำหนดเส้นทางไปยังเอเจนต์สำรอง
สาเหตุ: ไม่ได้กำหนดค่าเอเจนต์สำรอง หรือเอเจนต์หลักไม่รายงานความล้มเหลวอย่างถูกต้อง
วิธีแก้ไข:
กำหนดค่าเอเจนต์สำรอง:
openclaw routing set-fallback backup-agent
ทดสอบเอเจนต์สำรอง:
# ปิดใช้งานเอเจนต์หลักชั่วคราว
openclaw agents disable default
# ส่งข้อความทดสอบ
openclaw routing test --message "test"
# ควรแสดงเอเจนต์สำรอง
เปิดใช้งานเอเจนต์หลักอีกครั้ง:
openclaw agents enable default
ปัญหาด้านประสิทธิภาพและหน่วยความจำ
การใช้หน่วยความจำสูง
ปัญหา: OpenClaw ใช้ RAM มากกว่า 2GB และยังคงเพิ่มขึ้นเรื่อยๆ
สาเหตุ: ข้อมูลเซสชันสะสมเมื่อเวลาผ่านไปโดยไม่มีการล้าง
วิธีแก้ไข:
ตรวจสอบการใช้หน่วยความจำ:
openclaw stats --memory
ล้างเซสชันเก่า:
openclaw sessions clear --older-than 7d
ลดระยะเวลาหมดอายุของเซสชัน:
openclaw config set --session-timeout 1800
ตอนนี้เซสชันจะหมดอายุหลังจากไม่มีการใช้งานเป็นเวลา 30 นาที แทนที่จะเป็นค่าเริ่มต้น 1 ชั่วโมง
เปิดใช้งานการล้างข้อมูลอัตโนมัติ:
openclaw config set --auto-cleanup true --cleanup-interval 3600
สิ่งนี้จะเรียกใช้การล้างข้อมูลทุกชั่วโมง
เวลาตอบสนองช้า
ปัญหา: การตอบสนองของ AI ใช้เวลา 30+ วินาที หรือหมดเวลา (time out)
สาเหตุ: ความหน่วงของเครือข่าย, ผู้ให้บริการ AI ช้า, หรือคิวที่ค้างอยู่
วิธีแก้ไข:
ตรวจสอบสถานะคิว:
openclaw queue status
หากคิวมีข้อความมากกว่า 50 ข้อความ ให้เพิ่มการทำงานพร้อมกัน (concurrency):
openclaw config set --max-concurrent-requests 10
สิ่งนี้จะประมวลผล 10 ข้อความพร้อมกัน แทนที่จะเป็นค่าเริ่มต้น 3 ข้อความ
ตรวจสอบความหน่วงของเครือข่ายไปยังผู้ให้บริการ AI ของคุณ:
# Anthropic
ping api.anthropic.com
# OpenAI
ping api.openai.com
หากความหน่วงสูง (>200ms) ให้พิจารณาใช้ผู้ให้บริการรายอื่นหรือโมเดลในเครื่อง
เปิดใช้งานการหมดเวลาคำขอ:
openclaw config set --request-timeout 30000
คำขอที่ใช้เวลานานกว่า 30 วินาทีจะล้มเหลวและลองใหม่
Gateway ไม่ตอบสนอง
ปัญหา: Gateway หยุดตอบสนองต่อข้อความหรือการเรียกใช้ API
สาเหตุ: Deadlock, ลูปไม่รู้จบ (infinite loop), หรือการใช้ทรัพยากรจนหมด
วิธีแก้ไข:
ตรวจสอบสถานะ Gateway:
openclaw gateway status
หากหยุดค้าง ให้รับ Thread Dump:
kill -SIGUSR1 $(pgrep -f "openclaw gateway")
นี่จะเขียน Thread Dump ไปยัง ~/.openclaw/gateway.log มองหาการทำงานที่ค้างอยู่
รีสตาร์ท Gateway:
openclaw gateway restart
เปิดใช้งานการตรวจสอบสถานะ (Health Checks):
openclaw config set --health-check-interval 60
ตอนนี้ Gateway จะตรวจสอบสถานะของตัวเองทุก 60 วินาที และจะรีสตาร์ทหากไม่ตอบสนอง
การใช้ CPU พุ่งสูงขึ้น
ปัญหา: OpenClaw ใช้ CPU 100% ตลอดเวลา
สาเหตุ: ลูปไม่รู้จบ, การบันทึกข้อมูลมากเกินไป, หรือการรับข้อความจำนวนมาก
วิธีแก้ไข:
ตรวจสอบว่าอะไรกำลังใช้ CPU อยู่:
top -p $(pgrep -f "openclaw gateway")
ลดระดับการบันทึก:
openclaw config set --log-level warn
สิ่งนี้จะปิดใช้งานบันทึก debug และ info ซึ่งช่วยลด I/O
ตรวจสอบการรับข้อความจำนวนมาก:
openclaw stats --messages --period 1h
หากคุณได้รับข้อความมากกว่า 1000 ข้อความต่อชั่วโมง ให้เปิดใช้งานการจำกัดอัตราต่อช่องทาง:
openclaw channels config whatsapp --rate-limit 100 --rate-window 3600
Gateway หยุดทำงานและรีสตาร์ท
Gateway หยุดทำงานเมื่อเริ่มต้น
ปัญหา: openclaw gateway หยุดทำงานทันทีโดยไม่มีข้อความแสดงข้อผิดพลาด
สาเหตุ: ไฟล์การกำหนดค่าเสียหายหรือการพึ่งพา (dependencies) ที่ขาดหายไป
วิธีแก้ไข:
รันในโหมดดีบัก:
openclaw gateway --debug
นี่จะแสดงข้อความแสดงข้อผิดพลาดโดยละเอียด
สาเหตุที่พบบ่อย:
- การกำหนดค่าเสียหาย: สำรองข้อมูลและรีเซ็ตการกำหนดค่า
cp ~/.openclaw/config.json ~/.openclaw/config.json.backup
openclaw config reset
openclaw onboard
- การพึ่งพาขาดหายไป: ติดตั้ง OpenClaw ใหม่
npm uninstall -g openclaw
npm install -g openclaw@latest
- พอร์ตถูกใช้งานอยู่แล้ว: เปลี่ยนพอร์ต
openclaw gateway --port 18790
Gateway หยุดทำงานระหว่างการทำงาน
ปัญหา: Gateway ทำงานได้สักพักแล้วหยุดทำงานโดยไม่คาดคิด
สาเหตุ: ข้อผิดพลาดที่ไม่ได้จัดการ (Unhandled exception), หน่วยความจำรั่ว (memory leak), หรือกระบวนการภายนอกที่ทำให้หยุดทำงาน
วิธีแก้ไข:
ตรวจสอบบันทึกการหยุดทำงาน:
tail -100 ~/.openclaw/gateway.log
มองหาสแต็กเทรซ (stack traces) หรือข้อความแสดงข้อผิดพลาดก่อนการหยุดทำงาน
เปิดใช้งาน Crash Dumps:
openclaw config set --enable-crash-dumps true
การหยุดทำงานครั้งถัดไปจะเขียน dump ไปยัง ~/.openclaw/crashes/ แชร์สิ่งนี้กับทีม OpenClaw เพื่อการดีบัก
รัน Gateway ด้วยการรีสตาร์ทอัตโนมัติ:
openclaw gateway --auto-restart
Gateway จะรีสตาร์ทโดยอัตโนมัติหลังจากเกิดการหยุดทำงาน
สำหรับการใช้งานจริง ให้ใช้ตัวจัดการกระบวนการ:
# ใช้ pm2
npm install -g pm2
pm2 start openclaw -- gateway
pm2 save
pm2 startup
ข้อมูลเซสชันหายไปหลังจากการรีสตาร์ท
ปัญหา: การสนทนาถูกรีเซ็ตหลังจาก Gateway รีสตาร์ท
สาเหตุ: เซสชันไม่ได้ถูกจัดเก็บถาวรลงดิสก์ หรือไฟล์เซสชันเสียหาย
วิธีแก้ไข:
เปิดใช้งานการคงอยู่ของเซสชัน:
openclaw config set --persist-sessions true --session-file ~/.openclaw/sessions.db
ตอนนี้เซสชันจะถูกบันทึกลงดิสก์ทุกๆ 30 วินาที
ตรวจสอบไฟล์เซสชัน:
ls -lh ~/.openclaw/sessions.db
หากเป็น 0 ไบต์หรือหายไป แสดงว่าเซสชันไม่ได้ถูกบันทึก ตรวจสอบพื้นที่ดิสก์:
df -h ~
หากดิสก์เต็ม ให้เพิ่มพื้นที่ว่างและรีสตาร์ท Gateway
กู้คืนจากข้อมูลสำรอง:
cp ~/.openclaw/sessions.db.backup ~/.openclaw/sessions.db
openclaw gateway restart
ปัญหาเฉพาะแพลตฟอร์ม
macOS: "openclaw" ไม่สามารถเปิดได้
ปัญหา: macOS บล็อก OpenClaw พร้อมคำเตือน "unidentified developer"
สาเหตุ: คุณสมบัติด้านความปลอดภัย Gatekeeper ของ macOS
วิธีแก้ไข:
อนุญาต OpenClaw:
xattr -d com.apple.quarantine $(which openclaw)
หรือไปที่ System Settings → Privacy & Security แล้วคลิก "Allow Anyway" ถัดจากคำเตือน OpenClaw
Linux: ปฏิเสธการอนุญาตสำหรับ inotify
ปัญหา: "ENOSPC: System limit for number of file watchers reached."
สาเหตุ: Linux จำกัดจำนวนไฟล์ที่กระบวนการสามารถเฝ้าดูได้
วิธีแก้ไข:
เพิ่มขีดจำกัด:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
รีสตาร์ท OpenClaw:
openclaw gateway restart
Windows: ไม่พบคำสั่ง
ปัญหา: คำสั่ง openclaw ไม่ถูกจดจำบน Windows
สาเหตุ: ไดเรกทอรี npm global bin ไม่อยู่ใน PATH
วิธีแก้ไข:
ค้นหาไดเรกทอรี npm global:
npm config get prefix
เพิ่มลงใน PATH:
- เปิด System Properties → Environment Variables
- แก้ไข "Path" ภายใต้ User variables
- เพิ่ม
C:\Users\YourName\AppData\Roaming\npm(หรือเส้นทางที่ได้จากด้านบน) - คลิก OK และรีสตาร์ทเทอร์มินัลของคุณ
ตรวจสอบ:
openclaw --version
Docker: ปัญหาเครือข่าย
ปัญหา: OpenClaw ใน Docker ไม่สามารถเชื่อมต่อกับแพลตฟอร์มการส่งข้อความได้
สาเหตุ: การแยกเครือข่ายของ Docker
วิธีแก้ไข:
รันด้วยเครือข่ายโฮสต์:
docker run --network host openclaw/openclaw gateway
หรือเปิดพอร์ต Gateway:
docker run -p 18789:18789 openclaw/openclaw gateway
สำหรับ WhatsApp คุณต้องเปิดพอร์ตเพิ่มเติมสำหรับการสแกนโค้ด QR:
docker run -p 18789:18789 -p 3000:3000 openclaw/openclaw gateway
เครื่องมือดีบักและบันทึก
เปิดใช้งานการบันทึกดีบัก
รับบันทึกโดยละเอียด:
openclaw config set --log-level debug
openclaw gateway restart
บันทึกจะถูกบันทึกที่ ~/.openclaw/gateway.log โดยค่าเริ่มต้น
ดูบันทึกแบบเรียลไทม์:
tail -f ~/.openclaw/gateway.log
ทดสอบส่วนประกอบแต่ละส่วน
ทดสอบช่องทาง:
openclaw channels test whatsapp
openclaw channels test telegram
openclaw channels test discord
ทดสอบเอเจนต์:
openclaw agents test default --message "Hello"
ทดสอบการกำหนดเส้นทาง:
openclaw routing test --channel whatsapp --sender +1234567890 --message "debug issue"
ตรวจสอบสถานะ Gateway
รับสถานะปัจจุบัน:
openclaw gateway inspect
สิ่งนี้จะแสดง:
- ช่องทางที่ใช้งานอยู่และสถานะของมัน
- เอเจนต์ที่กำหนดค่าไว้และสถานะสุขภาพของมัน
- กฎการกำหนดเส้นทางและลำดับความสำคัญ
- ขนาดคิวและข้อความที่รอดำเนินการ
- การใช้หน่วยความจำและระยะเวลาการทำงาน (uptime)
ส่งออกข้อมูลการวินิจฉัย
สร้างรายงานการวินิจฉัย:
openclaw diagnostics export > openclaw-diagnostics.json
สิ่งนี้รวมถึง:
- การกำหนดค่า (พร้อมลบข้อมูลคีย์ API ที่ละเอียดอ่อน)
- บันทึกข้อมูลล่าสุด
- จำนวนข้อผิดพลาด
- เมตริกประสิทธิภาพ
- ข้อมูลระบบ
แชร์สิ่งนี้กับการสนับสนุนเมื่อรายงานปัญหา
การดีบักเครือข่าย
ทดสอบการเชื่อมต่อไปยังผู้ให้บริการ AI:
openclaw network test anthropic
openclaw network test openai
สิ่งนี้จะตรวจสอบ:
- การแก้ไข DNS
- การแฮนด์เชค TLS
- ความสามารถในการเข้าถึงปลายทาง API
- ความหน่วง
หากการตรวจสอบใดๆ ล้มเหลว แสดงว่าคุณมีปัญหาเครือข่าย
คำถามที่พบบ่อย
ทำไม OpenClaw ถึงใช้หน่วยความจำมาก?
OpenClaw จะเก็บประวัติเซสชันไว้ในหน่วยความจำเพื่อการเข้าถึงที่รวดเร็ว แต่ละเซสชันจะจัดเก็บบริบทการสนทนาทั้งหมด หากคุณมี 100 เซสชันที่ใช้งานอยู่ โดยแต่ละเซสชันมี 50 ข้อความ นั่นหมายถึง 5000 ข้อความในหน่วยความจำ
ลดการใช้หน่วยความจำ:
- ลดระยะเวลาหมดอายุของเซสชัน
- เปิดใช้งานการล้างข้อมูลอัตโนมัติ
- จำกัดความยาวบริบทต่อเซสชัน
openclaw config set --session-timeout 1800 --auto-cleanup true --max-context-length 50
ฉันสามารถรัน OpenClaw โดยไม่มีอินเทอร์เน็ตได้หรือไม่?
ได้ หากคุณใช้โมเดล AI ในเครื่อง ติดตั้ง Ollama และกำหนดค่า OpenClaw ให้ใช้งาน:
# ติดตั้ง Ollama
curl https://ollama.ai/install.sh | sh
# ดึงโมเดล
ollama pull llama2
# กำหนดค่า OpenClaw
openclaw agents add local --provider ollama --model llama2 --endpoint http://localhost:11434
แพลตฟอร์มการส่งข้อความยังคงต้องการอินเทอร์เน็ต แต่การอนุมาน AI (AI inference) จะทำงานในเครื่อง
ฉันจะย้ายไปยังเครื่องใหม่ได้อย่างไร?
ส่งออกการกำหนดค่าของคุณ:
openclaw config export > openclaw-backup.json
คัดลอกไฟล์ openclaw-backup.json ไปยังเครื่องใหม่
ติดตั้ง OpenClaw:
npm install -g openclaw@latest
นำเข้าการกำหนดค่า:
openclaw config import openclaw-backup.json
เชื่อมต่อช่องทางใหม่ (โค้ด QR และโทเค็นไม่สามารถย้ายได้):
openclaw channels login whatsapp
openclaw channels update telegram --token YOUR_TOKEN
ทำไมข้อความถึงมาถึงไม่เรียงลำดับ?
OpenClaw ประมวลผลข้อความพร้อมกัน หากคุณส่ง 3 ข้อความอย่างรวดเร็ว ข้อความเหล่านั้นอาจไปถึงผู้ให้บริการ AI ในลำดับที่แตกต่างกันขึ้นอยู่กับเวลาเครือข่าย
เปิดใช้งานการประมวลผลตามลำดับ:
openclaw config set --max-concurrent-requests 1
สิ่งนี้จะประมวลผลทีละข้อความ ซึ่งช่วยรักษาระดับการเรียงลำดับ อาจช้าลงแต่รับประกันลำดับ
ฉันสามารถใช้ OpenClaw สำหรับการใช้งานจริงได้หรือไม่?
ได้ แต่ปฏิบัติตามแนวทางเหล่านี้:
- รันบนเซิร์ฟเวอร์ ไม่ใช่แล็ปท็อป
- ใช้ตัวจัดการกระบวนการ (pm2, systemd)
- เปิดใช้งานการคงอยู่ของเซสชัน
- ตั้งค่าการตรวจสอบและการแจ้งเตือน
- กำหนดค่าการจำกัดอัตรา
- ใช้พร็อกซีผกผัน (nginx) สำหรับ Control UI
- เปิดใช้งาน HTTPS
- สำรองการกำหนดค่าเป็นประจำ
ตัวอย่างบริการ systemd:
[Unit]
Description=OpenClaw Gateway
After=network.target
[Service]
Type=simple
User=openclaw
WorkingDirectory=/home/openclaw
ExecStart=/usr/bin/openclaw gateway --port 18789
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
ฉันจะรายงานข้อผิดพลาดได้อย่างไร?
- สร้างข้อมูลการวินิจฉัย:
openclaw diagnostics export > diagnostics.json
- เปิดประเด็นบน GitHub
- ระบุข้อมูลต่อไปนี้:
- เวอร์ชัน OpenClaw (
openclaw --version) - เวอร์ชัน Node.js (
node --version) - ระบบปฏิบัติการ
- ขั้นตอนในการจำลองปัญหา
- รายงานการวินิจฉัย (ลบข้อมูลที่ละเอียดอ่อน)
สรุป
ปัญหา OpenClaw ส่วนใหญ่เกิดจากปัญหาเครือข่าย, การกำหนดค่าที่ไม่ถูกต้อง, หรือความผิดปกติเฉพาะแพลตฟอร์ม คู่มือนี้ครอบคลุม 15 ข้อผิดพลาดที่พบบ่อยที่สุดและวิธีแก้ไข
ขั้นตอนสำคัญในการแก้ไขปัญหา:
- ตรวจสอบบันทึก (logs) ก่อน (
~/.openclaw/gateway.log) - ทดสอบส่วนประกอบแต่ละส่วน (ช่องทาง, เอเจนต์, การกำหนดเส้นทาง)
- เปิดใช้งานโหมดดีบักสำหรับข้อผิดพลาดโดยละเอียด
- ใช้เครื่องมือวินิจฉัยเพื่อส่งออกสถานะ
- เข้าร่วมชุมชนเพื่อขอความช่วยเหลือ
หากคุณกำลังสร้างเวิร์กโฟลว์ API ควบคู่ไปกับ OpenClaw ลองใช้ Apidog สำหรับการออกแบบ, การทดสอบ และการจัดทำเอกสาร API ซึ่งช่วยเสริมอินเทอร์เฟซการสนทนาของ OpenClaw ด้วยการจัดการ API ที่เป็นระเบียบ
ขั้นตอนถัดไป:
- บุ๊กมาร์กคู่มือนี้เพื่อใช้อ้างอิงอย่างรวดเร็ว
- ตั้งค่าการตรวจสอบเพื่อตรวจจับปัญหาตั้งแต่เนิ่นๆ
- เข้าร่วม OpenClaw Discord เพื่อขอความช่วยเหลือแบบเรียลไทม์
- มีส่วนร่วมแก้ไขข้อผิดพลาดกลับไปยังโปรเจกต์บน GitHub
