Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openclaw doctor
การตรวจสอบสุขภาพ + การแก้ไขด่วนสำหรับ Gateway และช่องทาง
ที่เกี่ยวข้อง:
- การแก้ไขปัญหา: การแก้ไขปัญหา
- การตรวจสอบความปลอดภัย: ความปลอดภัย
ตัวอย่าง
doctor:
ตัวเลือก
--no-workspace-suggestions: ปิดใช้งานคำแนะนำหน่วยความจำ/การค้นหาของเวิร์กสเปซ--yes: ยอมรับค่าเริ่มต้นโดยไม่ถาม--repair: ใช้การซ่อมแซมที่แนะนำซึ่งไม่ใช่บริการโดยไม่ถาม; การติดตั้งและการเขียนบริการ Gateway ใหม่ยังต้องมีการยืนยันแบบโต้ตอบหรือคำสั่ง Gateway อย่างชัดเจน--fix: นามแฝงของ--repair--force: ใช้การซ่อมแซมเชิงรุก รวมถึงการเขียนทับการกำหนดค่าบริการแบบกำหนดเองเมื่อจำเป็น--non-interactive: เรียกใช้โดยไม่มีพรอมป์; เฉพาะการย้ายข้อมูลที่ปลอดภัยและการซ่อมแซมที่ไม่ใช่บริการเท่านั้น--generate-gateway-token: สร้างและกำหนดค่าโทเค็น Gateway--deep: สแกนบริการระบบเพื่อหาการติดตั้ง Gateway เพิ่มเติมและรายงานการส่งต่องานรีสตาร์ทล่าสุดของตัวควบคุม Gateway
- ในโหมด Nix (
OPENCLAW_NIX_MODE=1) การตรวจสอบ doctor แบบอ่านอย่างเดียวยังทำงานได้ แต่doctor --fix,doctor --repair,doctor --yesและdoctor --generate-gateway-tokenถูกปิดใช้งานเพราะopenclaw.jsonเป็นแบบเปลี่ยนแปลงไม่ได้ ให้แก้ไขซอร์ส Nix สำหรับการติดตั้งนี้แทน; สำหรับ nix-openclaw ให้ใช้ เริ่มต้นอย่างรวดเร็ว แบบ agent-first - พรอมป์แบบโต้ตอบ (เช่น การแก้ไข keychain/OAuth) จะทำงานเฉพาะเมื่อ stdin เป็น TTY และ ไม่ได้ ตั้งค่า
--non-interactiveการรันแบบไม่มีหน้าจอ (cron, Telegram, ไม่มีเทอร์มินัล) จะข้ามพรอมป์ - ประสิทธิภาพ: การรัน
doctorแบบไม่โต้ตอบจะข้ามการโหลด Plugin แบบล่วงหน้า เพื่อให้การตรวจสอบสุขภาพแบบไม่มีหน้าจอยังคงเร็ว เซสชันแบบโต้ตอบจะยังโหลด Plugin เต็มรูปแบบเมื่อการตรวจสอบต้องใช้การมีส่วนร่วมของ Plugin --fix(นามแฝงของ--repair) เขียนข้อมูลสำรองไปที่~/.openclaw/openclaw.json.bakและทิ้งคีย์การกำหนดค่าที่ไม่รู้จัก โดยแสดงรายการการนำออกแต่ละรายการdoctor --fix --non-interactiveรายงานนิยามบริการ Gateway ที่หายไปหรือล้าสมัย แต่จะไม่ติดตั้งหรือเขียนใหม่ภายนอกโหมดซ่อมแซมการอัปเดต เรียกใช้openclaw gateway installสำหรับบริการที่หายไป หรือopenclaw gateway install --forceเมื่อคุณตั้งใจต้องการแทนที่ตัวเปิด- การตรวจสอบความสมบูรณ์ของสถานะตอนนี้ตรวจพบไฟล์ทรานสคริปต์กำพร้าในไดเรกทอรีเซสชัน การเก็บถาวรไฟล์เหล่านั้นเป็น
.deleted.<timestamp>ต้องมีการยืนยันแบบโต้ตอบ;--fix,--yesและการรันแบบไม่มีหน้าจอจะปล่อยไฟล์เหล่านั้นไว้ที่เดิม - Doctor ยังสแกน
~/.openclaw/cron/jobs.json(หรือcron.store) เพื่อหารูปแบบงาน Cron แบบเดิมและสามารถเขียนใหม่ในที่เดิมก่อนที่ตัวกำหนดเวลาจะต้องปรับให้เป็นมาตรฐานอัตโนมัติขณะรันไทม์ - บน Linux, doctor จะเตือนเมื่อ crontab ของผู้ใช้ยังเรียกใช้
~/.openclaw/bin/ensure-whatsapp.shแบบเดิมอยู่; สคริปต์นั้นไม่ได้รับการดูแลแล้วและอาจบันทึกเหตุขัดข้องของ WhatsApp Gateway แบบผิดพลาดเมื่อ cron ไม่มีสภาพแวดล้อม systemd user-bus - เมื่อเปิดใช้งาน WhatsApp, doctor จะตรวจสอบลูปเหตุการณ์ Gateway ที่เสื่อมสภาพโดยมีไคลเอนต์
openclaw-tuiในเครื่องยังทำงานอยู่doctor --fixจะหยุดเฉพาะไคลเอนต์ TUI ในเครื่องที่ยืนยันแล้ว เพื่อไม่ให้การตอบกลับ WhatsApp ถูกจัดคิวอยู่หลังลูปรีเฟรช TUI ที่ค้างอยู่ - Doctor เขียน refs โมเดล
openai-codex/*แบบเดิมใหม่เป็น refs มาตรฐานopenai/*ในโมเดลหลัก, fallback, การ override heartbeat/subagent/compaction, hooks, การ override โมเดลช่องทาง และ route pins ของเซสชันที่ล้าสมัย--fixย้ายเจตนา Codex ไปไว้ในรายการagentRuntime.id: "codex"ที่ผูกกับ provider/model, รักษา auth-profile pins ของเซสชัน เช่นopenai-codex:..., ลบ runtime pins ทั้ง agent/เซสชันที่ล้าสมัย และคง refs agent OpenAI ที่ซ่อมแล้วไว้บนการกำหนดเส้นทาง auth ของ Codex แทนการใช้ auth ด้วย OpenAI API-key โดยตรง - Doctor ล้างสถานะ staging ของการพึ่งพา Plugin แบบเดิมที่สร้างโดย OpenClaw เวอร์ชันเก่า และลิงก์แพ็กเกจ
openclawของโฮสต์ใหม่สำหรับ Plugin npm ที่มีการจัดการซึ่งประกาศว่าเป็น peer dependency นอกจากนี้ยังซ่อม Plugin ที่ดาวน์โหลดได้ซึ่งหายไปแต่ถูกอ้างอิงโดยการกำหนดค่า เช่นplugins.entries, ช่องทางที่กำหนดค่าไว้, การตั้งค่า provider/search ที่กำหนดค่าไว้ หรือ runtime ของ agent ที่กำหนดค่าไว้ ระหว่างการอัปเดตแพ็กเกจ doctor จะข้ามการซ่อม Plugin ของ package-manager จนกว่าการสลับแพ็กเกจจะเสร็จสมบูรณ์; เรียกใช้openclaw doctor --fixอีกครั้งหลังจากนั้นหาก Plugin ที่กำหนดค่าไว้ยังต้องกู้คืน หากการดาวน์โหลดล้มเหลว doctor จะรายงานข้อผิดพลาดการติดตั้งและเก็บรายการ Plugin ที่กำหนดค่าไว้สำหรับความพยายามซ่อมครั้งถัดไป - Doctor ซ่อมการกำหนดค่า Plugin ที่ล้าสมัยโดยลบ ids ของ Plugin ที่หายไปจาก
plugins.allow/plugins.deny/plugins.entriesรวมถึงการกำหนดค่าช่องทางที่ค้างอยู่, เป้าหมาย Heartbeat และการ override โมเดลช่องทางที่ตรงกัน เมื่อการค้นพบ Plugin อยู่ในสถานะปกติ - Doctor กักกันการกำหนดค่า Plugin ที่ไม่ถูกต้องโดยปิดใช้งานรายการ
plugins.entries.<id>ที่ได้รับผลกระทบและลบ payloadconfigที่ไม่ถูกต้องออก การเริ่มต้น Gateway ข้ามเฉพาะ Plugin ที่เสียหายนั้นอยู่แล้ว เพื่อให้ Plugin และช่องทางอื่นยังทำงานต่อได้ - ตั้งค่า
OPENCLAW_SERVICE_REPAIR_POLICY=externalเมื่อตัวควบคุมอื่นเป็นเจ้าของวงจรชีวิตของ Gateway Doctor ยังรายงานสุขภาพของ Gateway/บริการและใช้การซ่อมแซมที่ไม่ใช่บริการ แต่จะข้ามการติดตั้ง/เริ่ม/รีสตาร์ท/บูตสแตรปบริการและการล้างบริการแบบเดิม - บน Linux, doctor จะละเว้นหน่วย systemd เพิ่มเติมที่คล้าย Gateway ซึ่งไม่ได้ใช้งาน และจะไม่เขียน metadata ของคำสั่ง/entrypoint ใหม่สำหรับบริการ Gateway systemd ที่กำลังทำงานอยู่ระหว่างการซ่อม หยุดบริการก่อน หรือใช้
openclaw gateway install --forceเมื่อคุณตั้งใจต้องการแทนที่ตัวเปิดที่ใช้งานอยู่ - Doctor ย้ายข้อมูลการกำหนดค่า Talk แบบแบนเดิม (
talk.voiceId,talk.modelIdและรายการที่เกี่ยวข้อง) ไปเป็นtalk.provider+talk.providers.<provider>โดยอัตโนมัติ - การรัน
doctor --fixซ้ำจะไม่รายงาน/ใช้การปรับ Talk ให้เป็นมาตรฐานอีกต่อไป เมื่อความแตกต่างมีเพียงลำดับคีย์ของออบเจ็กต์ - Doctor มีการตรวจสอบความพร้อมของการค้นหาหน่วยความจำและสามารถแนะนำ
openclaw configure --section modelเมื่อไม่มีข้อมูลรับรองสำหรับ embedding - Doctor เตือนเมื่อไม่มีการกำหนดค่าเจ้าของคำสั่ง เจ้าของคำสั่งคือบัญชีผู้ปฏิบัติการที่เป็นมนุษย์ซึ่งได้รับอนุญาตให้เรียกใช้คำสั่งเฉพาะเจ้าของและอนุมัติการดำเนินการอันตราย การจับคู่ DM เพียงทำให้บางคนคุยกับบอทได้เท่านั้น; หากคุณอนุมัติผู้ส่งก่อนที่การบูตสแตรปเจ้าของคนแรกจะมีอยู่ ให้ตั้งค่า
commands.ownerAllowFromอย่างชัดเจน - Doctor เตือนเมื่อมีการกำหนดค่า agent โหมด Codex และมีสินทรัพย์ Codex CLI ส่วนบุคคลอยู่ใน Codex home ของผู้ปฏิบัติการ การเปิด Codex app-server ในเครื่องใช้ home แยกต่อ agent ดังนั้นให้ใช้
openclaw migrate codex --dry-runเพื่อทำบัญชีสินทรัพย์ที่ควรเลื่อนระดับอย่างตั้งใจ - Doctor ลบ
plugins.entries.codex.config.codexDynamicToolsProfileที่เลิกใช้แล้ว; Codex app-server จะคงเครื่องมือเวิร์กสเปซแบบ Codex-native ให้เป็น native เสมอ - Doctor เตือนเมื่อ skills ที่อนุญาตสำหรับ agent เริ่มต้นไม่พร้อมใช้งานในสภาพแวดล้อมรันไทม์ปัจจุบัน เพราะขาด bins, env vars, config หรือข้อกำหนดของ OS
doctor --fixสามารถปิดใช้งาน skills ที่ไม่พร้อมใช้งานเหล่านั้นด้วยskills.entries.<skill>.enabled=false; ให้ติดตั้ง/กำหนดค่าข้อกำหนดที่ขาดหายแทนเมื่อคุณต้องการให้ skill ยังทำงานอยู่ - หากเปิดใช้งานโหมด sandbox แต่ Docker ไม่พร้อมใช้งาน doctor จะรายงานคำเตือนที่มีสัญญาณชัดเจนพร้อมวิธีแก้ไข (
install Dockerหรือopenclaw config set agents.defaults.sandbox.mode off) - หากมีไฟล์ registry sandbox แบบเดิม (
~/.openclaw/sandbox/containers.jsonหรือ~/.openclaw/sandbox/browsers.json) doctor จะรายงานไฟล์เหล่านั้น;openclaw doctor --fixจะย้ายรายการที่ถูกต้องไปยังไดเรกทอรี registry แบบแบ่งส่วนและกักกันไฟล์เดิมที่ไม่ถูกต้อง - หาก
gateway.auth.token/gateway.auth.passwordถูกจัดการโดย SecretRef และไม่พร้อมใช้งานในเส้นทางคำสั่งปัจจุบัน doctor จะรายงานคำเตือนแบบอ่านอย่างเดียวและจะไม่เขียนข้อมูลรับรอง plaintext fallback - หากการตรวจสอบ SecretRef ของช่องทางล้มเหลวในเส้นทางแก้ไข doctor จะดำเนินการต่อและรายงานคำเตือนแทนการออกก่อนกำหนด
- หลังการย้ายข้อมูลไดเรกทอรีสถานะ doctor จะเตือนเมื่อบัญชี Telegram หรือ Discord เริ่มต้นที่เปิดใช้งานพึ่งพา env fallback และ
TELEGRAM_BOT_TOKENหรือDISCORD_BOT_TOKENไม่พร้อมใช้งานสำหรับโปรเซส doctor - การ auto-resolution ของชื่อผู้ใช้
allowFromของ Telegram (doctor --fix) ต้องมีโทเค็น Telegram ที่ resolve ได้ในเส้นทางคำสั่งปัจจุบัน หากการตรวจสอบโทเค็นไม่พร้อมใช้งาน doctor จะรายงานคำเตือนและข้าม auto-resolution สำหรับรอบนั้น
macOS: การ override env ของ launchctl
หากก่อนหน้านี้คุณเคยรัน launchctl setenv OPENCLAW_GATEWAY_TOKEN ... (หรือ ...PASSWORD) ค่านั้นจะ override ไฟล์ config ของคุณและอาจทำให้เกิดข้อผิดพลาด “unauthorized” ต่อเนื่อง