Start here
การแก้ปัญหาทั่วไป
หากคุณมีเวลาเพียง 2 นาที ให้ใช้หน้านี้เป็นประตูหน้าสำหรับการคัดแยกปัญหา
60 วินาทีแรก
รันลำดับคำสั่งนี้ตามลำดับ:
openclaw statusopenclaw status --allopenclaw gateway probeopenclaw gateway statusopenclaw doctoropenclaw channels status --probeopenclaw logs --followผลลัพธ์ที่ดีในบรรทัดเดียว:
openclaw status→ แสดงช่องทางที่กำหนดค่าไว้และไม่มีข้อผิดพลาด auth ที่ชัดเจนopenclaw status --all→ มีรายงานฉบับเต็มและแชร์ได้openclaw gateway probe→ เป้าหมาย gateway ที่คาดไว้เข้าถึงได้ (Reachable: yes)Capability: ...บอกระดับ auth ที่ probe พิสูจน์ได้ และRead probe: limited - missing scope: operator.readคือ diagnostics ที่ลดระดับ ไม่ใช่การเชื่อมต่อล้มเหลวopenclaw gateway status→Runtime: running,Connectivity probe: okและบรรทัดCapability: ...ที่สมเหตุสมผล ใช้--require-rpcหากคุณต้องการ proof ของ RPC แบบ read-scope ด้วยopenclaw doctor→ ไม่มีข้อผิดพลาด config/service ที่บล็อกการทำงานopenclaw channels status --probe→ gateway ที่เข้าถึงได้จะคืนค่าสถานะ transport แบบสดรายบัญชี พร้อมผลลัพธ์ probe/audit เช่นworksหรือaudit ok; หาก gateway เข้าถึงไม่ได้ คำสั่งจะ fallback เป็นสรุปจาก config เท่านั้นopenclaw logs --follow→ มีกิจกรรมต่อเนื่อง ไม่มีข้อผิดพลาด fatal ที่เกิดซ้ำ
ผู้ช่วยดูเหมือนถูกจำกัดหรือขาดเครื่องมือ
หากผู้ช่วยไม่สามารถตรวจไฟล์ รันคำสั่ง ใช้ browser automation หรือ มองไม่เห็นเครื่องมือที่คาดไว้ ให้ตรวจ effective tool profile ก่อน:
openclaw statusopenclaw status --allopenclaw doctorสาเหตุที่พบบ่อย:
tools.profile: "messaging"ตั้งใจให้แคบสำหรับ agent แบบแชทเท่านั้นtools.profile: "coding"คือโปรไฟล์ปกติสำหรับ repository, file, shell, และ runtime workflowstools.profile: "full"เปิดเผยชุดเครื่องมือที่กว้างที่สุด และควรจำกัดไว้ สำหรับ agent ที่ควบคุมโดย operator ที่เชื่อถือได้- การ override ราย agent ที่
agents.list[].toolsสามารถจำกัดหรือขยาย root profile สำหรับ agent หนึ่งตัวได้
เปลี่ยน root หรือ per-agent tool profile แล้ว restart หรือ reload Gateway
และรัน openclaw status --all อีกครั้ง ดู เครื่องมือ สำหรับโมเดล profile
และการ override allow/deny
Anthropic long context 429
หากคุณเห็น:
HTTP 429: rate_limit_error: Extra usage is required for long context requests,
ไปที่ /gateway/troubleshooting#anthropic-429-extra-usage-required-for-long-context
Backend แบบ local ที่เข้ากันได้กับ OpenAI ทำงานโดยตรงแต่ล้มเหลวใน OpenClaw
หาก backend /v1 แบบ local หรือ self-hosted ของคุณตอบ probe
/v1/chat/completions ขนาดเล็กโดยตรงได้ แต่ล้มเหลวกับ openclaw infer model run หรือ turn
ปกติของ agent:
- หากข้อผิดพลาดกล่าวถึง
messages[].contentว่าคาดหวัง string ให้ตั้งmodels.providers.<provider>.models[].compat.requiresStringContent: true - หาก backend ยังล้มเหลวเฉพาะกับ turn ของ OpenClaw agent ให้ตั้ง
models.providers.<provider>.models[].compat.supportsTools: falseแล้วลองใหม่ - หาก direct call ขนาดจิ๋วยังทำงานได้ แต่ prompt ของ OpenClaw ที่ใหญ่กว่าทำให้ backend crash ให้ถือว่าปัญหาที่เหลือเป็นข้อจำกัดของ upstream model/server และ ดำเนินต่อใน deep runbook: /gateway/troubleshooting#local-openai-compatible-backend-passes-direct-probes-but-agent-runs-fail
การติดตั้ง Plugin ล้มเหลวเพราะขาด openclaw extensions
หากการติดตั้งล้มเหลวด้วย package.json missing openclaw.extensions แปลว่า package ของ plugin
ใช้รูปแบบเก่าที่ OpenClaw ไม่ยอมรับอีกต่อไป
แก้ใน package ของ plugin:
- เพิ่ม
openclaw.extensionsลงในpackage.json - ชี้ entries ไปยังไฟล์ runtime ที่ build แล้ว (โดยปกติคือ
./dist/index.js) - publish plugin อีกครั้ง แล้วรัน
openclaw plugins install <package>อีกครั้ง
ตัวอย่าง:
{ "name": "@openclaw/my-plugin", "version": "1.2.3", "openclaw": { "extensions": ["./dist/index.js"] }}อ้างอิง: สถาปัตยกรรม Plugin
Install policy บล็อกการติดตั้งหรืออัปเดต plugin
หากการอัปเดตเสร็จสิ้นแต่ plugin ล้าสมัย ถูกปิดใช้งาน หรือแสดงข้อความเช่น
blocked by install policy, install policy failed closed หรือ
Disabled "<plugin>" after plugin update failure ให้ตรวจ
security.installPolicy
Install policy ทำงานในการติดตั้งและอัปเดต plugin เวอร์ชันของ plugin
ที่ OpenClaw เป็นเจ้าของมักเคลื่อนไปพร้อมกับ OpenClaw release ดังนั้นการอัปเดต OpenClaw
อาจต้องมีการอัปเดต plugin @openclaw/* ที่สอดคล้องกันระหว่าง post-update sync ด้วย
หลีกเลี่ยงรูปแบบ policy ที่กว้างเหล่านี้ เว้นแต่คุณจะดูแล upgrade rule ที่ตรงกันด้วย:
- ตรึง plugin ที่ OpenClaw เป็นเจ้าของไว้กับเวอร์ชันเก่าแบบ exact เพียงเวอร์ชันเดียว เช่น อนุญาต
เฉพาะ
@openclaw/*@2026.5.3 - บล็อกด้วยชนิด source เพียงอย่างเดียว เช่นทุกคำขอ plugin แบบ npm, network หรือ
request.mode: "update" - ถือว่า policy command เป็น optional เมื่อเปิดใช้
security.installPolicyexecutable ของ policy ที่หายไป ช้า อ่านไม่ได้ หรือถูก permission บล็อก จะ fail closed - อนุมัติเวอร์ชัน plugin โดยไม่พิจารณา
openclawVersionของ policy request และ metadata ของ candidate plugin
policy rule ที่ปลอดภัยกว่าอนุญาตให้อัปเดต plugin ที่ OpenClaw เป็นเจ้าของและเชื่อถือได้ เมื่อ
candidate เข้ากันได้กับ host OpenClaw ปัจจุบัน แทนที่จะ pin
release เดียวตลอดไป หากคุณบล็อก npm โดย default ให้สร้าง exception แคบๆ
สำหรับ package plugin @openclaw/* หรือ plugin id ที่เชื่อถือได้ที่คุณใช้ หากคุณ
แยกคำขอ install และ update ให้ใช้ trust rule เดียวกันกับ
request.mode: "update"
การกู้คืน:
openclaw doctor --deepopenclaw plugins update --allopenclaw status --allหาก policy เข้มงวดโดยตั้งใจ ให้ผ่อนคลายในช่วง upgrade
ของ OpenClaw ที่เชื่อถือได้ รัน openclaw plugins update --all อีกครั้ง แล้วคืน rule ที่เข้มงวดกว่า
หาก plugin ถูกปิดใช้งานหลังจาก update failure ให้ตรวจสอบและเปิดใช้งานอีกครั้งเฉพาะ
หลังจากการอัปเดตสำเร็จ:
openclaw plugins inspect <plugin-id> --runtime --jsonopenclaw plugins enable <plugin-id>อ้างอิง: Operator install policy
มี Plugin อยู่แต่ถูกบล็อกเพราะ ownership น่าสงสัย
หาก openclaw doctor, setup หรือ startup warnings แสดง:
blocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root)plugin present but blockedไฟล์ plugin เป็นของ Unix user คนละคนกับ process ที่โหลดไฟล์เหล่านั้น อย่าลบ config ของ plugin ให้แก้ file ownership หรือรัน OpenClaw เป็น user เดียวกับที่เป็นเจ้าของ state directory
โดยปกติการติดตั้ง Docker จะรันเป็น node (uid 1000) สำหรับ Docker
setup ค่า default ให้ซ่อม host bind mounts:
sudo chown -R 1000:1000 /path/to/openclaw-config /path/to/openclaw-workspaceopenclaw doctor --fixหากคุณตั้งใจรัน OpenClaw เป็น root ให้ซ่อม managed plugin root ให้เป็น root ownership แทน:
sudo chown -R root:root /path/to/openclaw-config/npmopenclaw doctor --fixเอกสารเชิงลึก:
Decision tree
flowchart TD
A[OpenClaw is not working] --> B{What breaks first}
B --> C[No replies]
B --> D[Dashboard or Control UI will not connect]
B --> E[Gateway will not start or service not running]
B --> F[Channel connects but messages do not flow]
B --> G[Cron or heartbeat did not fire or did not deliver]
B --> H[Node is paired but camera canvas screen exec fails]
B --> I[Browser tool fails]
C --> C1[/No replies section/]
D --> D1[/Control UI section/]
E --> E1[/Gateway section/]
F --> F1[/Channel flow section/]
G --> G1[/Automation section/]
H --> H1[/Node tools section/]
I --> I1[/Browser section/]ไม่มีการตอบกลับ
openclaw statusopenclaw gateway statusopenclaw channels status --probeopenclaw pairing list --channel <channel> [--account <id>]openclaw logs --followผลลัพธ์ที่ดีมีลักษณะดังนี้:
Runtime: runningConnectivity probe: okCapability: read-only,write-capableหรือadmin-capable- ช่องทางของคุณแสดงว่า transport เชื่อมต่อแล้ว และเมื่อรองรับ จะมี
worksหรือaudit okในchannels status --probe - sender ดูเหมือนได้รับอนุมัติแล้ว (หรือ DM policy เปิดอยู่/อยู่ใน allowlist)
log signature ที่พบบ่อย:
drop guild message (mention required→ mention gating บล็อกข้อความใน Discordpairing request→ sender ยังไม่ได้รับอนุมัติและกำลังรอ DM pairing approvalblocked/allowlistใน channel logs → sender, room หรือ group ถูกกรอง
หน้าเชิงลึก:
Dashboard หรือ Control UI เชื่อมต่อไม่ได้
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probeผลลัพธ์ที่ดีมีลักษณะดังนี้:
Dashboard: http://...แสดงในopenclaw gateway statusConnectivity probe: okCapability: read-only,write-capableหรือadmin-capable- ไม่มี auth loop ใน logs
log signature ที่พบบ่อย:
device identity required→ HTTP/non-secure context ไม่สามารถทำ device auth ให้เสร็จได้origin not allowed→ browserOriginไม่ได้รับอนุญาตสำหรับ Control UI gateway targetAUTH_TOKEN_MISMATCHพร้อม retry hints (canRetryWithDeviceToken=true) → trusted device-token retry หนึ่งครั้งอาจเกิดขึ้นโดยอัตโนมัติ- cached-token retry นั้นใช้ cached scope set ที่เก็บไว้กับ paired
device token ซ้ำ caller ที่ระบุ
deviceToken/scopesอย่างชัดเจนจะคง requested scope set ของตนไว้แทน - บน path async Tailscale Serve Control UI ความพยายามที่ล้มเหลวสำหรับ
{scope, ip}เดียวกันจะถูก serialize ก่อนที่ limiter จะบันทึก failure ดังนั้น bad retry พร้อมกันครั้งที่สองอาจแสดงretry laterได้แล้ว too many failed authentication attempts (retry later)จาก localhost browser origin → ความล้มเหลวซ้ำจากOriginเดียวกันนั้นถูก lock out ชั่วคราว; localhost origin อื่นใช้ bucket แยกกันunauthorizedซ้ำหลัง retry นั้น → token/password ผิด, auth mode mismatch หรือ paired device token เก่าgateway connect failed:→ UI ชี้ไปยัง URL/port ผิด หรือ gateway เข้าถึงไม่ได้
หน้าเชิงลึก:
Gateway ไม่เริ่มทำงาน หรือ service ติดตั้งแล้วแต่ไม่รัน
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probeผลลัพธ์ที่ดีมีลักษณะดังนี้:
Service: ... (loaded)Runtime: runningConnectivity probe: okCapability: read-only,write-capableหรือadmin-capable
log signature ที่พบบ่อย:
Gateway start blocked: set gateway.mode=localหรือexisting config is missing gateway.mode→ gateway mode เป็น remote หรือไฟล์ config ขาด local-mode stamp และควรถูกซ่อมrefusing to bind gateway ... without auth→ bind แบบ non-loopback โดยไม่มี gateway auth path ที่ถูกต้อง (token/password หรือ trusted-proxy เมื่อกำหนดค่าไว้)another gateway instance is already listeningหรือEADDRINUSE→ port ถูกใช้งานอยู่แล้ว
หน้าเชิงลึก:
Channel เชื่อมต่อแล้วแต่ข้อความไม่ไหล
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probeเอาต์พุตที่ดีมีลักษณะดังนี้:
- การขนส่งของ Channel เชื่อมต่อแล้ว
- การตรวจสอบการจับคู่/allowlist ผ่าน
- ตรวจพบการกล่าวถึงในจุดที่จำเป็น
รูปแบบล็อกที่พบบ่อย:
mention required→ การกั้นด้วยการกล่าวถึงในกลุ่มบล็อกการประมวลผลpairing/pending→ ผู้ส่ง DM ยังไม่ได้รับอนุมัติnot_in_channel,missing_scope,Forbidden,401/403→ ปัญหาโทเค็นสิทธิ์ของ Channel
หน้าเชิงลึก:
Cron หรือ Heartbeat ไม่ทำงานหรือไม่ส่งมอบ
openclaw statusopenclaw gateway statusopenclaw cron statusopenclaw cron listopenclaw cron runs --id <jobId> --limit 20openclaw logs --followเอาต์พุตที่ดีมีลักษณะดังนี้:
cron.statusแสดงว่าเปิดใช้งานพร้อมเวลาปลุกถัดไปcron runsแสดงรายการokล่าสุด- Heartbeat เปิดใช้งานอยู่และไม่ได้อยู่นอกเวลาที่ใช้งาน
รูปแบบล็อกที่พบบ่อย:
cron: scheduler disabled; jobs will not run automatically→ Cron ถูกปิดใช้งานheartbeat skippedพร้อมreason=quiet-hours→ อยู่นอกเวลาที่ใช้งานที่กำหนดค่าไว้heartbeat skippedพร้อมreason=empty-heartbeat-file→ มีHEARTBEAT.mdอยู่ แต่มีเพียงโครงเปล่า เช่น บรรทัดว่าง ความเห็น ส่วนหัว fence หรือ checklist ว่างheartbeat skippedพร้อมreason=no-tasks-due→ โหมดงานของHEARTBEAT.mdทำงานอยู่ แต่ยังไม่มีช่วงเวลางานใดถึงกำหนดheartbeat skippedพร้อมreason=alerts-disabled→ การมองเห็น Heartbeat ทั้งหมดถูกปิดใช้งาน (showOk,showAlertsและuseIndicatorปิดทั้งหมด)requests-in-flight→ เลนหลักไม่ว่าง การปลุกของ Heartbeat จึงถูกเลื่อนออกไปunknown accountId→ บัญชีเป้าหมายสำหรับการส่ง Heartbeat ไม่มีอยู่
หน้าเชิงลึก:
Node จับคู่แล้วแต่เครื่องมือ camera canvas screen exec ล้มเหลว
openclaw statusopenclaw gateway statusopenclaw nodes statusopenclaw nodes describe --node <idOrNameOrIp>openclaw logs --followเอาต์พุตที่ดีมีลักษณะดังนี้:
- Node ถูกแสดงว่าเชื่อมต่อแล้วและจับคู่สำหรับบทบาท
node - มีความสามารถสำหรับคำสั่งที่คุณกำลังเรียกใช้
- สถานะสิทธิ์ได้รับอนุญาตสำหรับเครื่องมือแล้ว
รูปแบบล็อกที่พบบ่อย:
NODE_BACKGROUND_UNAVAILABLE→ นำแอป Node มาไว้ด้านหน้า*_PERMISSION_REQUIRED→ สิทธิ์ของ OS ถูกปฏิเสธ/ขาดหายSYSTEM_RUN_DENIED: approval required→ การอนุมัติ exec กำลังรอดำเนินการSYSTEM_RUN_DENIED: allowlist miss→ คำสั่งไม่ได้อยู่ใน exec allowlist
หน้าเชิงลึก:
Exec ขออนุมัติขึ้นมาอย่างกะทันหัน
openclaw config get tools.exec.hostopenclaw config get tools.exec.securityopenclaw config get tools.exec.askopenclaw gateway restartสิ่งที่เปลี่ยนไป:
- หากไม่ได้ตั้งค่า
tools.exec.hostค่าเริ่มต้นคือauto host=autoจะแปลงเป็นsandboxเมื่อ runtime แบบ sandbox ทำงานอยู่ มิฉะนั้นจะเป็นgatewayhost=autoเป็นเพียงการกำหนดเส้นทางเท่านั้น; พฤติกรรม "YOLO" แบบไม่ถามยืนยันมาจากsecurity=fullร่วมกับask=offบน gateway/node- บน
gatewayและnodeหากไม่ได้ตั้งค่าtools.exec.securityค่าเริ่มต้นคือfull - หากไม่ได้ตั้งค่า
tools.exec.askค่าเริ่มต้นคือoff - ผลลัพธ์: หากคุณเห็นการขออนุมัติ แสดงว่านโยบายเฉพาะโฮสต์หรือเฉพาะเซสชันบางอย่างได้จำกัด exec ให้เข้มงวดกว่าค่าเริ่มต้นปัจจุบัน
คืนค่าพฤติกรรมเริ่มต้นปัจจุบันแบบไม่ต้องอนุมัติ:
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask offopenclaw gateway restartทางเลือกที่ปลอดภัยกว่า:
- ตั้งค่าเฉพาะ
tools.exec.host=gatewayหากคุณต้องการเพียงการกำหนดเส้นทางโฮสต์ที่เสถียร - ใช้
security=allowlistกับask=on-missหากคุณต้องการ host exec แต่ยังต้องการให้ตรวจทานเมื่อไม่พบใน allowlist - เปิดใช้งานโหมด sandbox หากคุณต้องการให้
host=autoแปลงกลับเป็นsandbox
รูปแบบล็อกที่พบบ่อย:
Approval required.→ คำสั่งกำลังรอ/approve ...SYSTEM_RUN_DENIED: approval required→ การอนุมัติ exec บนโฮสต์ node กำลังรอดำเนินการexec host=sandbox requires a sandbox runtime for this session→ มีการเลือก sandbox โดยนัย/โดยตรง แต่โหมด sandbox ปิดอยู่
หน้าเชิงลึก:
เครื่องมือ Browser ล้มเหลว
openclaw statusopenclaw gateway statusopenclaw browser statusopenclaw logs --followopenclaw doctorเอาต์พุตที่ดีมีลักษณะดังนี้:
- สถานะ Browser แสดง
running: trueและ browser/profile ที่เลือก openclawเริ่มทำงาน หรือuserมองเห็นแท็บ Chrome ในเครื่อง
รูปแบบล็อกที่พบบ่อย:
unknown command "browser"หรือunknown command 'browser'→ ตั้งค่าplugins.allowไว้และไม่ได้รวมbrowserFailed to start Chrome CDP on port→ การเปิดเบราว์เซอร์ในเครื่องล้มเหลวbrowser.executablePath not found→ เส้นทางไบนารีที่กำหนดค่าไว้ไม่ถูกต้องbrowser.cdpUrl must be http(s) or ws(s)→ URL ของ CDP ที่กำหนดค่าไว้ใช้ scheme ที่ไม่รองรับbrowser.cdpUrl has invalid port→ URL ของ CDP ที่กำหนดค่าไว้มีพอร์ตไม่ถูกต้องหรืออยู่นอกช่วงNo Chrome tabs found for profile="user"→ โปรไฟล์ Chrome MCP attach ไม่มีแท็บ Chrome ในเครื่องที่เปิดอยู่Remote CDP for profile "<name>" is not reachable→ endpoint ของ CDP ระยะไกลที่กำหนดค่าไว้ไม่สามารถเข้าถึงได้จากโฮสต์นี้Browser attachOnly is enabled ... not reachableหรือBrowser attachOnly is enabled and CDP websocket ... is not reachable→ โปรไฟล์แบบ attach-only ไม่มีเป้าหมาย CDP ที่ยังทำงานอยู่- การ override viewport / dark-mode / locale / offline ที่ค้างอยู่บนโปรไฟล์ attach-only หรือ CDP ระยะไกล → เรียกใช้
openclaw browser stop --browser-profile <name>เพื่อปิดเซสชันควบคุมที่ใช้งานอยู่และปล่อยสถานะ emulation โดยไม่ต้องรีสตาร์ท Gateway
หน้าเชิงลึก:
ที่เกี่ยวข้อง
- FAQ — คำถามที่พบบ่อย
- การแก้ไขปัญหา Gateway — ปัญหาเฉพาะ Gateway
- Doctor — การตรวจสุขภาพและการซ่อมแซมอัตโนมัติ
- การแก้ไขปัญหา Channel — ปัญหาการเชื่อมต่อ Channel
- การแก้ไขปัญหา Automation — ปัญหา Cron และ Heartbeat