คำตอบด่วนพร้อมการแก้ปัญหาเชิงลึกสำหรับการตั้งค่าใช้งานจริง (การพัฒนาในเครื่อง, VPS, หลายเอเจนต์, OAuth/API keys, การสลับโมเดลเมื่อล้มเหลว) สำหรับการวินิจฉัยขณะรันไทม์ ดู การแก้ปัญหา สำหรับข้อมูลอ้างอิงการตั้งค่าทั้งหมด ดู การตั้งค่า.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.
60 วินาทีแรกเมื่อมีบางอย่างเสีย
-
สถานะด่วน (ตรวจสอบเป็นอย่างแรก)
สรุปในเครื่องอย่างรวดเร็ว: OS + การอัปเดต, การเข้าถึง gateway/service, เอเจนต์/เซสชัน, การตั้งค่า provider + ปัญหารันไทม์ (เมื่อเข้าถึง Gateway ได้)
-
รายงานที่วางได้ทันที (แชร์ได้อย่างปลอดภัย)
การวินิจฉัยแบบอ่านอย่างเดียวพร้อมส่วนท้ายของล็อก (ปกปิดโทเค็นแล้ว)
-
สถานะ Daemon + พอร์ต
แสดงรันไทม์ของ supervisor เทียบกับการเข้าถึง RPC, URL เป้าหมายของ probe และไฟล์ตั้งค่าที่ service น่าจะใช้
-
การตรวจสอบเชิงลึก
รันการตรวจสุขภาพ Gateway แบบสด รวมถึงการตรวจสอบช่องทางเมื่อรองรับ (ต้องมี Gateway ที่เข้าถึงได้) ดู สุขภาพ
-
ติดตามล็อกล่าสุด
หาก RPC ล่ม ให้ใช้วิธีสำรอง:ไฟล์ล็อกแยกจากล็อกของ service; ดู การบันทึกล็อก และ การแก้ปัญหา
-
รัน doctor (ซ่อมแซม)
ซ่อมแซม/ย้ายข้อมูลการตั้งค่า/สถานะ + รันการตรวจสุขภาพ ดู Doctor
-
สแนปช็อต Gateway
ขอให้ Gateway ที่กำลังรันอยู่ส่งสแนปช็อตฉบับเต็ม (เฉพาะ WS) ดู สุขภาพ
การเริ่มต้นอย่างรวดเร็วและการตั้งค่าครั้งแรก
คำถามและคำตอบสำหรับการรันครั้งแรก — การติดตั้ง, การเริ่มใช้งาน, เส้นทาง auth, การสมัครรับข้อมูล, ความล้มเหลวแรกเริ่ม — อยู่ใน FAQ การรันครั้งแรกOpenClaw คืออะไร?
OpenClaw คืออะไรในหนึ่งย่อหน้า?
OpenClaw คืออะไรในหนึ่งย่อหน้า?
คุณค่าที่เสนอ
คุณค่าที่เสนอ
- อุปกรณ์ของคุณ ข้อมูลของคุณ: รัน Gateway ที่ไหนก็ได้ตามต้องการ (Mac, Linux, VPS) และเก็บ workspace + ประวัติเซสชันไว้ในเครื่อง
- ช่องทางจริง ไม่ใช่ sandbox บนเว็บ: WhatsApp/Telegram/Slack/Discord/Signal/iMessage/ฯลฯ รวมถึงเสียงบนมือถือและ Canvas บนแพลตฟอร์มที่รองรับ
- ไม่ผูกกับโมเดลใดโมเดลหนึ่ง: ใช้ Anthropic, OpenAI, MiniMax, OpenRouter ฯลฯ พร้อมการกำหนดเส้นทาง และ failover ต่อเอเจนต์
- ตัวเลือกเฉพาะในเครื่อง: รันโมเดลในเครื่องเพื่อให้ ข้อมูลทั้งหมดอยู่บนอุปกรณ์ของคุณได้ หากต้องการ
- การกำหนดเส้นทางหลายเอเจนต์: แยกเอเจนต์ตามช่องทาง, บัญชี หรืองาน โดยแต่ละตัวมี workspace และค่าเริ่มต้นของตัวเอง
- โอเพนซอร์สและปรับแต่งได้: ตรวจสอบ, ขยาย และโฮสต์เองโดยไม่ติด vendor lock-in
ฉันเพิ่งตั้งค่าเสร็จ - ควรทำอะไรก่อน?
ฉันเพิ่งตั้งค่าเสร็จ - ควรทำอะไรก่อน?
- สร้างเว็บไซต์ (WordPress, Shopify หรือเว็บ static แบบง่าย)
- ทำต้นแบบแอปมือถือ (โครงร่าง, หน้าจอ, แผน API)
- จัดระเบียบไฟล์และโฟลเดอร์ (ล้างข้อมูล, ตั้งชื่อ, ติดแท็ก)
- เชื่อมต่อ Gmail และทำสรุปหรือการติดตามผลอัตโนมัติ
กรณีใช้งานประจำวันห้าอันดับแรกของ OpenClaw คืออะไร?
กรณีใช้งานประจำวันห้าอันดับแรกของ OpenClaw คืออะไร?
- บรีฟส่วนตัว: สรุป inbox, ปฏิทิน และข่าวที่คุณสนใจ
- การค้นคว้าและร่างเอกสาร: ค้นคว้าเร็ว, สรุป และร่างฉบับแรกสำหรับอีเมลหรือเอกสาร
- ตัวเตือนและการติดตามผล: การสะกิดและเช็กลิสต์ที่ขับเคลื่อนด้วย Cron หรือ Heartbeat
- ระบบอัตโนมัติบนเบราว์เซอร์: กรอกฟอร์ม, เก็บข้อมูล และทำงานเว็บซ้ำ ๆ
- การประสานงานข้ามอุปกรณ์: ส่งงานจากโทรศัพท์ ให้ Gateway รันบนเซิร์ฟเวอร์ แล้วรับผลลัพธ์กลับมาในแชต
OpenClaw ช่วยเรื่อง lead gen, outreach, ads และ blogs สำหรับ SaaS ได้ไหม?
OpenClaw ช่วยเรื่อง lead gen, outreach, ads และ blogs สำหรับ SaaS ได้ไหม?
ข้อได้เปรียบเมื่อเทียบกับ Claude Code สำหรับการพัฒนาเว็บคืออะไร?
ข้อได้เปรียบเมื่อเทียบกับ Claude Code สำหรับการพัฒนาเว็บคืออะไร?
- memory + workspace แบบคงอยู่ ข้ามเซสชัน
- การเข้าถึงหลายแพลตฟอร์ม (WhatsApp, Telegram, TUI, WebChat)
- การประสานเครื่องมือ (เบราว์เซอร์, ไฟล์, การตั้งเวลา, hooks)
- Gateway ที่เปิดตลอดเวลา (รันบน VPS, โต้ตอบได้จากทุกที่)
- Nodes สำหรับเบราว์เซอร์/หน้าจอ/กล้อง/exec ในเครื่อง
Skills และระบบอัตโนมัติ
ฉันจะปรับแต่ง Skills โดยไม่ทำให้ repo สกปรกได้อย่างไร?
ฉันจะปรับแต่ง Skills โดยไม่ทำให้ repo สกปรกได้อย่างไร?
~/.openclaw/skills/<name>/SKILL.md (หรือเพิ่มโฟลเดอร์ผ่าน skills.load.extraDirs ใน ~/.openclaw/openclaw.json) ลำดับความสำคัญคือ <workspace>/skills → <workspace>/.agents/skills → ~/.agents/skills → ~/.openclaw/skills → bundled → skills.load.extraDirs ดังนั้น managed overrides ยังชนะ skills ที่มาพร้อมกันโดยไม่แตะ git หากคุณต้องติดตั้ง skill แบบ global แต่ให้มองเห็นได้เฉพาะบางเอเจนต์ ให้เก็บสำเนาที่ใช้ร่วมกันไว้ใน ~/.openclaw/skills และควบคุมการมองเห็นด้วย agents.defaults.skills และ agents.list[].skills เฉพาะการแก้ไขที่สมควรส่ง upstream เท่านั้นที่ควรอยู่ใน repo และส่งออกเป็น PRฉันโหลด Skills จากโฟลเดอร์กำหนดเองได้ไหม?
ฉันโหลด Skills จากโฟลเดอร์กำหนดเองได้ไหม?
skills.load.extraDirs ใน ~/.openclaw/openclaw.json (ลำดับความสำคัญต่ำสุด) ลำดับความสำคัญเริ่มต้นคือ <workspace>/skills → <workspace>/.agents/skills → ~/.agents/skills → ~/.openclaw/skills → bundled → skills.load.extraDirs clawhub ติดตั้งลงใน ./skills โดยค่าเริ่มต้น ซึ่ง OpenClaw จะถือว่าเป็น <workspace>/skills ในเซสชันถัดไป หาก skill ควรมองเห็นได้เฉพาะบางเอเจนต์ ให้ใช้ร่วมกับ agents.defaults.skills หรือ agents.list[].skillsฉันใช้โมเดลต่างกันสำหรับงานต่างกันได้อย่างไร?
ฉันใช้โมเดลต่างกันสำหรับงานต่างกันได้อย่างไร?
- งาน Cron: งานที่แยกกันสามารถตั้งค่า override
modelต่อหนึ่งงานได้ - เอเจนต์ย่อย: กำหนดเส้นทางงานไปยังเอเจนต์แยกที่มีโมเดลเริ่มต้นต่างกัน
- สลับเมื่อต้องการ: ใช้
/modelเพื่อสลับโมเดลของเซสชันปัจจุบันได้ทุกเวลา
บอตค้างระหว่างทำงานหนัก ฉันจะ offload งานนั้นได้อย่างไร?
บอตค้างระหว่างทำงานหนัก ฉันจะ offload งานนั้นได้อย่างไร?
/subagents
ใช้ /status ในแชตเพื่อดูว่า Gateway กำลังทำอะไรอยู่ตอนนี้ (และกำลังยุ่งอยู่หรือไม่)เคล็ดลับเรื่องโทเค็น: งานยาวและเอเจนต์ย่อยต่างก็ใช้โทเค็น หากกังวลเรื่องค่าใช้จ่าย ให้ตั้งค่า
โมเดลที่ถูกกว่าสำหรับเอเจนต์ย่อยผ่าน agents.defaults.subagents.modelเอกสาร: เอเจนต์ย่อย, งานเบื้องหลังเซสชัน subagent ที่ผูกกับเธรดทำงานอย่างไรบน Discord?
เซสชัน subagent ที่ผูกกับเธรดทำงานอย่างไรบน Discord?
- สร้างด้วย
sessions_spawnโดยใช้thread: true(และเลือกใช้mode: "session"สำหรับการติดตามผลแบบคงอยู่) - หรือผูกเองด้วย
/focus <target> - ใช้
/agentsเพื่อตรวจสอบสถานะการผูก - ใช้
/session idle <duration|off>และ/session max-age <duration|off>เพื่อควบคุม auto-unfocus - ใช้
/unfocusเพื่อแยกเธรดออก
- ค่าเริ่มต้น global:
session.threadBindings.enabled,session.threadBindings.idleHours,session.threadBindings.maxAgeHours - Overrides ของ Discord:
channels.discord.threadBindings.enabled,channels.discord.threadBindings.idleHours,channels.discord.threadBindings.maxAgeHours - ผูกอัตโนมัติเมื่อ spawn:
channels.discord.threadBindings.spawnSessionsค่าเริ่มต้นเป็นtrue; ตั้งเป็นfalseเพื่อปิดการ spawn เซสชันที่ผูกกับเธรด
subagent เสร็จแล้ว แต่การอัปเดตเมื่อเสร็จสิ้นไปผิดที่หรือไม่เคยโพสต์ ฉันควรตรวจอะไร?
subagent เสร็จแล้ว แต่การอัปเดตเมื่อเสร็จสิ้นไปผิดที่หรือไม่เคยโพสต์ ฉันควรตรวจอะไร?
- การส่งมอบ subagent แบบ completion-mode จะให้ความสำคัญกับเธรดที่ผูกไว้หรือเส้นทาง conversation เมื่อมีอยู่
- หาก origin ของ completion มีเพียงช่องทาง OpenClaw จะ fallback ไปยังเส้นทางที่เก็บไว้ของเซสชัน requester (
lastChannel/lastTo/lastAccountId) เพื่อให้การส่งโดยตรงยังสำเร็จได้ - หากไม่มีทั้งเส้นทางที่ผูกไว้และเส้นทางที่เก็บไว้ซึ่งใช้งานได้ การส่งโดยตรงอาจล้มเหลว และผลลัพธ์จะ fallback ไปยังการส่งมอบเซสชันที่เข้าคิวแทนที่จะโพสต์ลงแชตทันที
- เป้าหมายที่ไม่ถูกต้องหรือ stale ยังสามารถบังคับให้ fallback ไปคิวหรือทำให้การส่งมอบสุดท้ายล้มเหลวได้
- หากคำตอบผู้ช่วยล่าสุดที่มองเห็นได้ของ child เป็นโทเค็นเงียบตรงตัว
NO_REPLY/no_replyหรือเท่ากับANNOUNCE_SKIPทุกประการ OpenClaw จะตั้งใจไม่ประกาศ แทนการโพสต์ความคืบหน้าเก่าที่ stale - หาก child หมดเวลาหลังจากมีเฉพาะ tool calls การประกาศอาจยุบสิ่งนั้นเป็นสรุปความคืบหน้าบางส่วนสั้น ๆ แทนการเล่นซ้ำเอาต์พุตเครื่องมือดิบ
Cron หรือ reminders ไม่ทำงาน ฉันควรตรวจอะไร?
Cron หรือ reminders ไม่ทำงาน ฉันควรตรวจอะไร?
- ยืนยันว่า cron เปิดใช้งานอยู่ (
cron.enabled) และไม่ได้ตั้งค่าOPENCLAW_SKIP_CRON - ตรวจว่า Gateway รัน 24/7 (ไม่มี sleep/รีสตาร์ต)
- ตรวจสอบการตั้งค่าเขตเวลาของงาน (
--tzเทียบกับเขตเวลาของ host)
Cron ทำงานแล้ว แต่ไม่มีอะไรถูกส่งไปยังช่อง ทำไม?
Cron ทำงานแล้ว แต่ไม่มีอะไรถูกส่งไปยังช่อง ทำไม?
--no-deliver/delivery.mode: "none"หมายความว่าไม่คาดหวังให้มีการส่งสำรองจากตัวรัน- เป้าหมายประกาศหายไปหรือไม่ถูกต้อง (
channel/to) หมายความว่าตัวรันข้ามการส่งออกไปภายนอก - ความล้มเหลวในการยืนยันตัวตนของช่อง (
unauthorized,Forbidden) หมายความว่าตัวรันพยายามส่งแล้ว แต่ข้อมูลรับรองขัดขวางไว้ - ผลลัพธ์แบบแยกที่เงียบ (
NO_REPLY/no_replyเท่านั้น) จะถือว่าจงใจไม่ให้ส่งได้ ดังนั้นตัวรันจึงระงับการส่งสำรองที่เข้าคิวไว้ด้วย
message
ได้เมื่อมีเส้นทางแชทให้ใช้ --announce ควบคุมเฉพาะเส้นทางสำรองของตัวรัน
สำหรับข้อความสุดท้ายที่ agent ยังไม่ได้ส่งเองเท่านั้นดีบัก:ทำไมการรัน cron แบบแยกจึงสลับโมเดลหรือลองซ้ำหนึ่งครั้ง?
ทำไมการรัน cron แบบแยกจึงสลับโมเดลหรือลองซ้ำหนึ่งครั้ง?
LiveSessionModelSwitchError การลองซ้ำจะคง provider/model ที่สลับไปใช้ไว้
และถ้าการสลับพา auth profile override ใหม่มาด้วย cron
จะคงค่านั้นไว้ก่อนลองซ้ำด้วยกฎการเลือกที่เกี่ยวข้อง:- การ override โมเดลของ Gmail hook ชนะก่อนเมื่อใช้ได้
- จากนั้นคือ
modelต่อแต่ละงาน - จากนั้นคือ override โมเดลของ cron-session ที่จัดเก็บไว้
- จากนั้นคือการเลือกโมเดล agent/ค่าเริ่มต้นตามปกติ
ฉันจะติดตั้ง Skills บน Linux ได้อย่างไร?
ฉันจะติดตั้ง Skills บน Linux ได้อย่างไร?
openclaw skills แบบเนทีฟหรือวาง Skills ลงใน workspace ของคุณ UI ของ Skills บน macOS ไม่มีให้ใช้บน Linux
เรียกดู Skills ได้ที่ https://clawhub.ai.openclaw skills install แบบเนทีฟจะเขียนลงในไดเรกทอรี skills/
ของ workspace ที่ใช้งานอยู่ ติดตั้ง CLI clawhub แยกต่างหากเฉพาะเมื่อคุณต้องการเผยแพร่หรือ
ซิงค์ Skills ของคุณเอง สำหรับการติดตั้งที่ใช้ร่วมกันข้าม agents ให้วาง skill ไว้ใต้
~/.openclaw/skills และใช้ agents.defaults.skills หรือ
agents.list[].skills หากคุณต้องการจำกัดว่า agents ใดมองเห็นได้OpenClaw สามารถรันงานตามกำหนดเวลาหรือรันต่อเนื่องในเบื้องหลังได้ไหม?
OpenClaw สามารถรันงานตามกำหนดเวลาหรือรันต่อเนื่องในเบื้องหลังได้ไหม?
- งาน Cron สำหรับงานที่ตั้งเวลาไว้หรืองานที่เกิดซ้ำ (คงอยู่ข้ามการรีสตาร์ท)
- Heartbeat สำหรับการตรวจสอบเป็นระยะของ “เซสชันหลัก”
- งานแบบแยก สำหรับ agents อัตโนมัติที่โพสต์สรุปหรือส่งไปยังแชท
ฉันสามารถรัน Skills ที่ใช้ได้เฉพาะ Apple macOS จาก Linux ได้ไหม?
ฉันสามารถรัน Skills ที่ใช้ได้เฉพาะ Apple macOS จาก Linux ได้ไหม?
metadata.openclaw.os รวมถึงไบนารีที่ต้องใช้ และ Skills จะปรากฏใน system prompt เฉพาะเมื่อมีสิทธิ์บน โฮสต์ Gateway เท่านั้น บน Linux Skills ที่ใช้ได้เฉพาะ darwin (เช่น apple-notes, apple-reminders, things-mac) จะไม่โหลดเว้นแต่คุณจะ override การจำกัดนั้นคุณมีรูปแบบที่รองรับสามแบบ:ตัวเลือก A - รัน Gateway บน Mac (ง่ายที่สุด)
รัน Gateway ในที่ที่มีไบนารีของ macOS อยู่ จากนั้นเชื่อมต่อจาก Linux ในโหมดระยะไกล หรือผ่าน Tailscale Skills จะโหลดตามปกติเพราะโฮสต์ Gateway เป็น macOSตัวเลือก B - ใช้โหนด macOS (ไม่ใช้ SSH)
รัน Gateway บน Linux, จับคู่โหนด macOS (แอปแถบเมนู) และตั้ง คำสั่งรัน Node เป็น “ถามเสมอ” หรือ “อนุญาตเสมอ” บน Mac OpenClaw สามารถถือว่า Skills ที่ใช้ได้เฉพาะ macOS มีสิทธิ์เมื่อไบนารีที่ต้องใช้มีอยู่บนโหนด agent จะรัน Skills เหล่านั้นผ่านเครื่องมือ nodes หากคุณเลือก “ถามเสมอ” การอนุมัติ “อนุญาตเสมอ” ในพรอมป์จะเพิ่มคำสั่งนั้นลงใน allowlistตัวเลือก C - พร็อกซีไบนารีของ macOS ผ่าน SSH (ขั้นสูง)
ให้ Gateway อยู่บน Linux ต่อไป แต่ทำให้ไบนารี CLI ที่ต้องใช้ resolve ไปยัง SSH wrappers ที่รันบน Mac จากนั้น override skill เพื่ออนุญาต Linux เพื่อให้ยังมีสิทธิ์อยู่-
สร้าง SSH wrapper สำหรับไบนารี (ตัวอย่าง:
memoสำหรับ Apple Notes): -
วาง wrapper ไว้บน
PATHบนโฮสต์ Linux (เช่น~/bin/memo) -
Override metadata ของ skill (workspace หรือ
~/.openclaw/skills) เพื่ออนุญาต Linux: - เริ่มเซสชันใหม่เพื่อให้สแนปช็อตของ Skills รีเฟรช
มีการผสานรวมกับ Notion หรือ HeyGen ไหม?
มีการผสานรวมกับ Notion หรือ HeyGen ไหม?
- Custom skill / Plugin: ดีที่สุดสำหรับการเข้าถึง API ที่เชื่อถือได้ (Notion/HeyGen ต่างก็มี API)
- ระบบอัตโนมัติบนเบราว์เซอร์: ใช้ได้โดยไม่ต้องเขียนโค้ด แต่ช้ากว่าและเปราะบางกว่า
- หนึ่งหน้า Notion ต่อหนึ่งลูกค้า (บริบท + ค่ากำหนด + งานที่กำลังดำเนินอยู่)
- ขอให้ agent ดึงหน้านั้นตอนเริ่มเซสชัน
skills/ ของ workspace ที่ใช้งานอยู่ สำหรับ Skills ที่ใช้ร่วมกันข้าม agents ให้วางไว้ใน ~/.openclaw/skills/<name>/SKILL.md หากควรให้มีเพียงบาง agents เห็นการติดตั้งที่ใช้ร่วมกัน ให้กำหนดค่า agents.defaults.skills หรือ agents.list[].skills Skills บางรายการคาดหวังไบนารีที่ติดตั้งผ่าน Homebrew; บน Linux นั่นหมายถึง Linuxbrew (ดูรายการคำถามที่พบบ่อยของ Homebrew Linux ด้านบน) ดู Skills, การกำหนดค่า Skills, และ ClawHub.ฉันจะใช้ Chrome ที่ลงชื่อเข้าใช้อยู่แล้วกับ OpenClaw ได้อย่างไร?
ฉันจะใช้ Chrome ที่ลงชื่อเข้าใช้อยู่แล้วกับ OpenClaw ได้อย่างไร?
user ที่มีในตัว ซึ่งแนบผ่าน Chrome DevTools MCP:existing-session / user:- actions ขับเคลื่อนด้วย ref ไม่ใช่ขับเคลื่อนด้วย CSS-selector
- uploads ต้องใช้
ref/inputRefและปัจจุบันรองรับทีละหนึ่งไฟล์ responsebody, การส่งออก PDF, การดักจับการดาวน์โหลด และ actions แบบกลุ่มยังต้องใช้เบราว์เซอร์ที่จัดการอยู่หรือโปรไฟล์ CDP ดิบ
Sandboxing และหน่วยความจำ
มีเอกสารเฉพาะสำหรับ sandboxing ไหม?
มีเอกสารเฉพาะสำหรับ sandboxing ไหม?
Docker ดูเหมือนมีข้อจำกัด - ฉันจะเปิดใช้ฟีเจอร์เต็มรูปแบบได้อย่างไร?
Docker ดูเหมือนมีข้อจำกัด - ฉันจะเปิดใช้ฟีเจอร์เต็มรูปแบบได้อย่างไร?
node ดังนั้นจึงไม่
รวมแพ็กเกจระบบ, Homebrew หรือเบราว์เซอร์ที่ bundle มาให้ สำหรับการตั้งค่าที่ครบถ้วนขึ้น:- คง
/home/nodeไว้ด้วยOPENCLAW_HOME_VOLUMEเพื่อให้แคชอยู่รอด - ใส่ system deps ลงในอิมเมจด้วย
OPENCLAW_DOCKER_APT_PACKAGES - ติดตั้งเบราว์เซอร์ Playwright ผ่าน CLI ที่ bundle มา:
node /app/node_modules/playwright-core/cli.js install chromium - ตั้งค่า
PLAYWRIGHT_BROWSERS_PATHและตรวจสอบให้แน่ใจว่า path นั้นถูกคงไว้
ฉันสามารถทำให้ DM เป็นส่วนตัวแต่ทำให้กลุ่มเป็นสาธารณะ/อยู่ใน sandbox ด้วย agent เดียวได้ไหม?
ฉันสามารถทำให้ DM เป็นส่วนตัวแต่ทำให้กลุ่มเป็นสาธารณะ/อยู่ใน sandbox ด้วย agent เดียวได้ไหม?
agents.defaults.sandbox.mode: "non-main" เพื่อให้เซสชันกลุ่ม/ช่อง (คีย์ที่ไม่ใช่ main) รันใน backend sandbox ที่กำหนดค่าไว้ ขณะที่เซสชัน DM หลักยังอยู่บนโฮสต์ Docker เป็น backend เริ่มต้นหากคุณไม่ได้เลือกอย่างอื่น จากนั้นจำกัดเครื่องมือที่มีให้ใช้ในเซสชันที่อยู่ใน sandbox ผ่าน tools.sandbox.toolsคำแนะนำการตั้งค่า + ตัวอย่าง config: กลุ่ม: DM ส่วนตัว + กลุ่มสาธารณะอ้างอิง config หลัก: การกำหนดค่า Gatewayฉันจะ bind โฟลเดอร์ของโฮสต์เข้าไปใน sandbox ได้อย่างไร?
ฉันจะ bind โฟลเดอร์ของโฮสต์เข้าไปใน sandbox ได้อย่างไร?
agents.defaults.sandbox.docker.binds เป็น ["host:path:mode"] (เช่น "/home/user/src:/src:ro") bind ระดับ global + ต่อ agent จะถูกรวมกัน; bind ต่อ agent จะถูกละเว้นเมื่อ scope: "shared" ใช้ :ro สำหรับสิ่งที่ละเอียดอ่อน และจำไว้ว่า bind จะข้ามกำแพงระบบไฟล์ของ sandboxOpenClaw ตรวจสอบความถูกต้องของแหล่งที่มาของ bind เทียบกับทั้ง path ที่ normalize แล้วและ path แบบ canonical ที่ resolve ผ่าน ancestor ที่มีอยู่ลึกที่สุด นั่นหมายความว่าการหลุดออกผ่าน symlink-parent ยัง fail closed แม้ว่า path segment สุดท้ายยังไม่มีอยู่ และการตรวจสอบ allowed-root ยังคงมีผลหลังจาก symlink resolutionดู Sandboxing และ Sandbox vs Tool Policy vs Elevated สำหรับตัวอย่างและหมายเหตุด้านความปลอดภัยหน่วยความจำทำงานอย่างไร?
หน่วยความจำทำงานอย่างไร?
- บันทึกรายวันใน
memory/YYYY-MM-DD.md - บันทึกระยะยาวที่คัดสรรแล้วใน
MEMORY.md(เฉพาะเซสชันหลัก/ส่วนตัว)
หน่วยความจำลืมสิ่งต่าง ๆ อยู่เรื่อย ๆ ฉันจะทำให้มันจำได้อย่างไร?
หน่วยความจำลืมสิ่งต่าง ๆ อยู่เรื่อย ๆ ฉันจะทำให้มันจำได้อย่างไร?
MEMORY.md,
บริบทระยะสั้นอยู่ใน memory/YYYY-MM-DD.mdนี่ยังเป็นส่วนที่เรากำลังปรับปรุงอยู่ การเตือนโมเดลให้จัดเก็บความทรงจำช่วยได้;
โมเดลจะรู้ว่าต้องทำอะไร หากยังลืมอยู่ ให้ตรวจสอบว่า Gateway ใช้
workspace เดียวกันในทุกการรันเอกสาร: หน่วยความจำ, workspace ของ agent.หน่วยความจำคงอยู่ตลอดไปไหม? มีขีดจำกัดอะไรบ้าง?
หน่วยความจำคงอยู่ตลอดไปไหม? มีขีดจำกัดอะไรบ้าง?
การค้นหาหน่วยความจำเชิงความหมายต้องใช้คีย์ OpenAI API หรือไม่
การค้นหาหน่วยความจำเชิงความหมายต้องใช้คีย์ OpenAI API หรือไม่
OPENAI_API_KEY หรือ models.providers.openai.apiKey)หากคุณไม่ได้ตั้งค่าผู้ให้บริการอย่างชัดเจน OpenClaw จะเลือกผู้ให้บริการอัตโนมัติเมื่อ
สามารถแก้หาคีย์ API ได้ (โปรไฟล์ auth, models.providers.*.apiKey หรือ env vars)
โดยจะเลือก OpenAI ก่อนหากแก้หาคีย์ OpenAI ได้ ไม่เช่นนั้นจะเลือก Gemini หากแก้หา
คีย์ Gemini ได้ จากนั้น Voyage แล้วจึง Mistral หากไม่มีคีย์ระยะไกลให้ใช้ การค้นหา
หน่วยความจำจะยังคงปิดใช้งานจนกว่าคุณจะกำหนดค่า หากคุณมีพาธโมเดลภายในเครื่อง
ที่กำหนดค่าไว้และมีอยู่ OpenClaw
จะเลือก local ก่อน รองรับ Ollama เมื่อคุณตั้งค่าอย่างชัดเจนว่า
memorySearch.provider = "ollama"หากคุณต้องการให้อยู่ภายในเครื่อง ให้ตั้งค่า memorySearch.provider = "local" (และอาจตั้งค่า
memorySearch.fallback = "none" ด้วย) หากคุณต้องการ Gemini embeddings ให้ตั้งค่า
memorySearch.provider = "gemini" และระบุ GEMINI_API_KEY (หรือ
memorySearch.remote.apiKey) เรารองรับโมเดล embedding แบบ OpenAI, Gemini, Voyage, Mistral, Ollama หรือ local
ดูรายละเอียดการตั้งค่าได้ที่ Memoryสิ่งต่างๆ อยู่ที่ไหนบนดิสก์
ข้อมูลทั้งหมดที่ใช้กับ OpenClaw ถูกบันทึกไว้ภายในเครื่องหรือไม่
ข้อมูลทั้งหมดที่ใช้กับ OpenClaw ถูกบันทึกไว้ภายในเครื่องหรือไม่
- ภายในเครื่องตามค่าเริ่มต้น: เซสชัน ไฟล์หน่วยความจำ config และเวิร์กสเปซอยู่บนโฮสต์ Gateway
(
~/.openclaw+ ไดเรกทอรีเวิร์กสเปซของคุณ) - ระยะไกลตามความจำเป็น: ข้อความที่คุณส่งไปยังผู้ให้บริการโมเดล (Anthropic/OpenAI/ฯลฯ) จะไปยัง API ของผู้ให้บริการเหล่านั้น และแพลตฟอร์มแชต (WhatsApp/Telegram/Slack/ฯลฯ) จะเก็บข้อมูลข้อความไว้บน เซิร์ฟเวอร์ของตน
- คุณควบคุมขอบเขตข้อมูลได้: การใช้โมเดลภายในเครื่องจะเก็บพรอมป์ไว้บนเครื่องของคุณ แต่ทราฟฟิกของช่องทาง ยังคงผ่านเซิร์ฟเวอร์ของช่องทางนั้น
OpenClaw เก็บข้อมูลไว้ที่ไหน
OpenClaw เก็บข้อมูลไว้ที่ไหน
$OPENCLAW_STATE_DIR (ค่าเริ่มต้น: ~/.openclaw):| พาธ | วัตถุประสงค์ |
|---|---|
$OPENCLAW_STATE_DIR/openclaw.json | Config หลัก (JSON5) |
$OPENCLAW_STATE_DIR/credentials/oauth.json | การนำเข้า OAuth แบบเดิม (คัดลอกเข้าโปรไฟล์ auth เมื่อใช้ครั้งแรก) |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json | โปรไฟล์ auth (OAuth, คีย์ API และ keyRef/tokenRef ที่เลือกใช้ได้) |
$OPENCLAW_STATE_DIR/secrets.json | เพย์โหลดความลับแบบมีไฟล์หนุนที่เลือกใช้ได้สำหรับผู้ให้บริการ SecretRef แบบ file |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json | ไฟล์ความเข้ากันได้แบบเดิม (ลบรายการ api_key แบบคงที่แล้ว) |
$OPENCLAW_STATE_DIR/credentials/ | สถานะผู้ให้บริการ (เช่น whatsapp/<accountId>/creds.json) |
$OPENCLAW_STATE_DIR/agents/ | สถานะต่อเอเจนต์ (agentDir + เซสชัน) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/ | ประวัติและสถานะการสนทนา (ต่อเอเจนต์) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json | เมทาดาทาเซสชัน (ต่อเอเจนต์) |
~/.openclaw/agent/* (ย้ายโดย openclaw doctor)เวิร์กสเปซ ของคุณ (AGENTS.md, ไฟล์หน่วยความจำ, Skills ฯลฯ) แยกต่างหากและกำหนดค่าผ่าน agents.defaults.workspace (ค่าเริ่มต้น: ~/.openclaw/workspace)AGENTS.md / SOUL.md / USER.md / MEMORY.md ควรอยู่ที่ไหน
AGENTS.md / SOUL.md / USER.md / MEMORY.md ควรอยู่ที่ไหน
~/.openclaw- เวิร์กสเปซ (ต่อเอเจนต์):
AGENTS.md,SOUL.md,IDENTITY.md,USER.md,MEMORY.md,memory/YYYY-MM-DD.md,HEARTBEAT.mdที่เลือกใช้ได้ รากmemory.mdตัวพิมพ์เล็กเป็นอินพุตสำหรับการซ่อมแซมแบบเดิมเท่านั้น;openclaw doctor --fixสามารถรวมเข้าในMEMORY.mdได้เมื่อมีทั้งสองไฟล์ - ไดเรกทอรีสถานะ (
~/.openclaw): config, สถานะช่องทาง/ผู้ให้บริการ, โปรไฟล์ auth, เซสชัน, ล็อก, และ Skills ที่ใช้ร่วมกัน (~/.openclaw/skills)
~/.openclaw/workspace กำหนดค่าได้ผ่าน:กลยุทธ์การสำรองข้อมูลที่แนะนำ
กลยุทธ์การสำรองข้อมูลที่แนะนำ
~/.openclaw (credentials, เซสชัน, โทเค็น หรือเพย์โหลดความลับที่เข้ารหัส)
หากคุณต้องการกู้คืนเต็มรูปแบบ ให้สำรองทั้งเวิร์กสเปซและไดเรกทอรีสถานะ
แยกกัน (ดูคำถามเรื่องการย้ายด้านบน)เอกสาร: เวิร์กสเปซของเอเจนต์ฉันจะถอนการติดตั้ง OpenClaw อย่างสมบูรณ์ได้อย่างไร
ฉันจะถอนการติดตั้ง OpenClaw อย่างสมบูรณ์ได้อย่างไร
เอเจนต์ทำงานนอกเวิร์กสเปซได้หรือไม่
เอเจนต์ทำงานนอกเวิร์กสเปซได้หรือไม่
agents.defaults.sandbox หรือการตั้งค่า sandbox ต่อเอเจนต์ หากคุณ
ต้องการให้ repo เป็นไดเรกทอรีทำงานเริ่มต้น ให้ชี้ workspace ของเอเจนต์นั้นไปยัง
รากของ repo repo OpenClaw เป็นเพียงซอร์สโค้ด; ให้แยก
เวิร์กสเปซไว้ต่างหาก เว้นแต่คุณตั้งใจให้เอเจนต์ทำงานภายในนั้นตัวอย่าง (repo เป็น cwd เริ่มต้น):โหมดระยะไกล: ที่เก็บเซสชันอยู่ที่ไหน
โหมดระยะไกล: ที่เก็บเซสชันอยู่ที่ไหน
พื้นฐาน config
Config อยู่ในรูปแบบใด อยู่ที่ไหน
Config อยู่ในรูปแบบใด อยู่ที่ไหน
$OPENCLAW_CONFIG_PATH (ค่าเริ่มต้น: ~/.openclaw/openclaw.json):~/.openclaw/workspace)ฉันตั้งค่า gateway.bind: "lan" (หรือ "tailnet") แล้วตอนนี้ไม่มีอะไร listen / UI บอกว่าไม่ได้รับอนุญาต
ฉันตั้งค่า gateway.bind: "lan" (หรือ "tailnet") แล้วตอนนี้ไม่มีอะไร listen / UI บอกว่าไม่ได้รับอนุญาต
- auth แบบ shared-secret: token หรือ password
gateway.auth.mode: "trusted-proxy"อยู่หลัง reverse proxy ที่รับรู้อัตลักษณ์และกำหนดค่าอย่างถูกต้อง
gateway.remote.token/.passwordไม่ เปิดใช้ auth ของ gateway ภายในเครื่องด้วยตัวเอง- พาธการเรียกภายในเครื่องสามารถใช้
gateway.remote.*เป็น fallback ได้เฉพาะเมื่อไม่ได้ตั้งค่าgateway.auth.* - สำหรับ auth แบบ password ให้ตั้งค่า
gateway.auth.mode: "password"พร้อมgateway.auth.password(หรือOPENCLAW_GATEWAY_PASSWORD) แทน - หาก
gateway.auth.token/gateway.auth.passwordถูกกำหนดค่าอย่างชัดเจนผ่าน SecretRef และแก้หาไม่ได้ การแก้หาจะล้มเหลวแบบปิด (ไม่มี remote fallback มาปิดบัง) - การตั้งค่า Control UI แบบ shared-secret ยืนยันตัวตนผ่าน
connect.params.auth.tokenหรือconnect.params.auth.password(จัดเก็บในค่าตั้งแอป/UI) โหมดที่มีอัตลักษณ์ เช่น Tailscale Serve หรือtrusted-proxyใช้ส่วนหัวคำขอแทน หลีกเลี่ยงการใส่ shared secrets ใน URL - ด้วย
gateway.auth.mode: "trusted-proxy"reverse proxy แบบ loopback บนโฮสต์เดียวกันต้องใช้gateway.auth.trustedProxy.allowLoopback = trueอย่างชัดเจน และต้องมีรายการ loopback ในgateway.trustedProxies
ทำไมตอนนี้ฉันต้องใช้ token บน localhost
ทำไมตอนนี้ฉันต้องใช้ token บน localhost
gateway.auth.token, gateway.auth.password, OPENCLAW_GATEWAY_TOKEN หรือ OPENCLAW_GATEWAY_PASSWORD อย่างชัดเจนเมื่อไคลเอนต์ต้องการ secret ที่เสถียรข้ามการรีสตาร์ต วิธีนี้จะบล็อกกระบวนการภายในเครื่องอื่นไม่ให้เรียก Gatewayหากคุณต้องการพาธ auth แบบอื่น คุณสามารถเลือกโหมด password อย่างชัดเจนได้ (หรือสำหรับ reverse proxy ที่รับรู้อัตลักษณ์ ให้ใช้ trusted-proxy) หากคุณ ต้องการจริงๆ ให้ loopback เปิดอยู่ ให้ตั้งค่า gateway.auth.mode: "none" อย่างชัดเจนใน config ของคุณ Doctor สามารถสร้าง token ให้คุณได้ทุกเมื่อ: openclaw doctor --generate-gateway-tokenฉันต้องรีสตาร์ตหลังเปลี่ยน config หรือไม่
ฉันต้องรีสตาร์ตหลังเปลี่ยน config หรือไม่
gateway.reload.mode: "hybrid"(ค่าเริ่มต้น): ใช้การเปลี่ยนแปลงที่ปลอดภัยแบบ hot-apply และรีสตาร์ตสำหรับรายการสำคัญ- รองรับ
hot,restart,offด้วย
ฉันจะปิด tagline ตลกๆ ของ CLI ได้อย่างไร
ฉันจะปิด tagline ตลกๆ ของ CLI ได้อย่างไร
cli.banner.taglineMode ใน config:off: ซ่อนข้อความ tagline แต่คงบรรทัดชื่อ/เวอร์ชันของแบนเนอร์ไว้default: ใช้All your chats, one OpenClaw.ทุกครั้งrandom: tagline ตลก/ตามฤดูกาลแบบหมุนเวียน (พฤติกรรมเริ่มต้น)- หากคุณไม่ต้องการแบนเนอร์เลย ให้ตั้งค่า env
OPENCLAW_HIDE_BANNER=1
ฉันจะเปิดใช้การค้นหาเว็บ (และการดึงเว็บ) ได้อย่างไร
ฉันจะเปิดใช้การค้นหาเว็บ (และการดึงเว็บ) ได้อย่างไร
web_fetch ทำงานได้โดยไม่ต้องใช้คีย์ API web_search ขึ้นอยู่กับ
ผู้ให้บริการที่คุณเลือก:- ผู้ให้บริการที่มี API หนุนหลัง เช่น Brave, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Perplexity และ Tavily ต้องใช้การตั้งค่าคีย์ API ตามปกติ
- Ollama Web Search ไม่ต้องใช้คีย์ แต่ใช้โฮสต์ Ollama ที่คุณกำหนดค่าไว้และต้องใช้
ollama signin - DuckDuckGo ไม่ต้องใช้คีย์ แต่เป็นการผสานรวมที่ไม่เป็นทางการบนพื้นฐาน HTML
- SearXNG ไม่ต้องใช้คีย์/โฮสต์เองได้; กำหนดค่า
SEARXNG_BASE_URLหรือplugins.entries.searxng.config.webSearch.baseUrl
openclaw configure --section web แล้วเลือกผู้ให้บริการ
ทางเลือกผ่าน environment:- Brave:
BRAVE_API_KEY - Exa:
EXA_API_KEY - Firecrawl:
FIRECRAWL_API_KEY - Gemini:
GEMINI_API_KEY - Grok:
XAI_API_KEY - Kimi:
KIMI_API_KEYหรือMOONSHOT_API_KEY - MiniMax Search:
MINIMAX_CODE_PLAN_KEY,MINIMAX_CODING_API_KEYหรือMINIMAX_API_KEY - Perplexity:
PERPLEXITY_API_KEYหรือOPENROUTER_API_KEY - SearXNG:
SEARXNG_BASE_URL - Tavily:
TAVILY_API_KEY
plugins.entries.<plugin>.config.webSearch.*
เส้นทางผู้ให้บริการ tools.web.search.* แบบเดิมยังโหลดได้ชั่วคราวเพื่อความเข้ากันได้ แต่ไม่ควรใช้สำหรับ config ใหม่
config สำรองสำหรับดึงข้อมูลเว็บของ Firecrawl อยู่ภายใต้ plugins.entries.firecrawl.config.webFetch.*หมายเหตุ:- หากคุณใช้ allowlists ให้เพิ่ม
web_search/web_fetch/x_searchหรือgroup:web web_fetchเปิดใช้งานตามค่าเริ่มต้น (เว้นแต่จะปิดใช้งานอย่างชัดเจน)- หากละไว้ไม่ระบุ
tools.web.fetch.providerOpenClaw จะตรวจหา fetch fallback provider รายแรกที่พร้อมใช้งานโดยอัตโนมัติจากข้อมูลรับรองที่มีอยู่ ปัจจุบันผู้ให้บริการที่รวมมาให้คือ Firecrawl - Daemons อ่าน env vars จาก
~/.openclaw/.env(หรือสภาพแวดล้อมของบริการ)
config.apply ล้าง config ของฉัน ฉันจะกู้คืนและหลีกเลี่ยงปัญหานี้ได้อย่างไร
config.apply ล้าง config ของฉัน ฉันจะกู้คืนและหลีกเลี่ยงปัญหานี้ได้อย่างไร
config.apply จะแทนที่ config ทั้งหมด หากคุณส่งออบเจกต์บางส่วน ทุกอย่าง
ที่เหลือจะถูกลบออกOpenClaw ปัจจุบันป้องกันการเขียนทับโดยไม่ตั้งใจหลายกรณี:- การเขียน config ที่ OpenClaw เป็นเจ้าของจะตรวจสอบ config ทั้งหมดหลังการเปลี่ยนแปลงก่อนเขียน
- การเขียนที่ไม่ถูกต้องหรือทำลายข้อมูลซึ่ง OpenClaw เป็นเจ้าของจะถูกปฏิเสธและบันทึกเป็น
openclaw.json.rejected.* - หากการแก้ไขโดยตรงทำให้การเริ่มต้นหรือ hot reload เสียหาย Gateway จะปิดอย่างปลอดภัยหรือข้ามการโหลดใหม่ โดยจะไม่เขียน
openclaw.jsonใหม่ openclaw doctor --fixเป็นผู้รับผิดชอบการซ่อมแซม และสามารถกู้คืนค่า last-known-good พร้อมบันทึกไฟล์ที่ถูกปฏิเสธเป็นopenclaw.json.clobbered.*
- ตรวจสอบ
openclaw logs --followเพื่อหาInvalid config at,Config write rejected:หรือconfig reload skipped (invalid config) - ตรวจดู
openclaw.json.clobbered.*หรือopenclaw.json.rejected.*ล่าสุดที่อยู่ข้าง config ที่ใช้งานอยู่ - รัน
openclaw config validateและopenclaw doctor --fix - คัดลอกกลับเฉพาะคีย์ที่ต้องการด้วย
openclaw config setหรือconfig.patch - หากคุณไม่มี last-known-good หรือ payload ที่ถูกปฏิเสธ ให้กู้คืนจากข้อมูลสำรอง หรือรัน
openclaw doctorอีกครั้งแล้วตั้งค่า channels/models ใหม่ - หากสิ่งนี้เกิดขึ้นโดยไม่คาดคิด ให้แจ้งบั๊กและแนบ config ล่าสุดที่ทราบหรือข้อมูลสำรองใด ๆ
- เอเจนต์เขียนโค้ดแบบ local มักสามารถสร้าง config ที่ใช้งานได้ใหม่จาก logs หรือประวัติ
- ใช้
openclaw config setสำหรับการเปลี่ยนแปลงเล็ก ๆ - ใช้
openclaw configureสำหรับการแก้ไขแบบโต้ตอบ - ใช้
config.schema.lookupก่อนเมื่อคุณไม่แน่ใจเกี่ยวกับ path ที่แน่นอนหรือรูปทรงของ field โดยจะคืนค่า shallow schema node พร้อมสรุป child ทันทีสำหรับเจาะลึกต่อ - ใช้
config.patchสำหรับการแก้ไข RPC บางส่วน; เก็บconfig.applyไว้สำหรับการแทนที่ config ทั้งหมดเท่านั้น - หากคุณใช้เครื่องมือ
gatewayเฉพาะเจ้าของจากการรันเอเจนต์ เครื่องมือนี้จะยังคงปฏิเสธการเขียนไปยังtools.exec.ask/tools.exec.security(รวมถึง alias เดิมtools.bash.*ที่ normalize ไปยัง exec paths ที่ได้รับการป้องกันเดียวกัน)
ฉันจะรัน Gateway ส่วนกลางพร้อม worker เฉพาะทางข้ามอุปกรณ์ได้อย่างไร
ฉันจะรัน Gateway ส่วนกลางพร้อม worker เฉพาะทางข้ามอุปกรณ์ได้อย่างไร
- Gateway (ส่วนกลาง): เป็นเจ้าของ channels (Signal/WhatsApp), routing และ sessions
- Nodes (อุปกรณ์): Macs/iOS/Android เชื่อมต่อเป็น peripherals และเปิดเผยเครื่องมือ local (
system.run,canvas,camera) - Agents (workers): สมอง/workspaces แยกกันสำหรับบทบาทพิเศษ (เช่น “Hetzner ops”, “Personal data”)
- Sub-agents: สร้างงานเบื้องหลังจาก agent หลักเมื่อคุณต้องการการทำงานแบบขนาน
- TUI: เชื่อมต่อกับ Gateway และสลับ agents/sessions
เบราว์เซอร์ OpenClaw รันแบบ headless ได้หรือไม่
เบราว์เซอร์ OpenClaw รันแบบ headless ได้หรือไม่
false (headful) Headless มีโอกาสกระตุ้นการตรวจสอบ anti-bot ในบางเว็บไซต์มากกว่า ดู เบราว์เซอร์Headless ใช้ Chromium engine เดียวกัน และทำงานได้กับ automation ส่วนใหญ่ (forms, clicks, scraping, logins) ความแตกต่างหลักคือ:- ไม่มีหน้าต่างเบราว์เซอร์ที่มองเห็นได้ (ใช้ screenshots หากคุณต้องการภาพ)
- บางเว็บไซต์เข้มงวดกับ automation ในโหมด headless มากกว่า (CAPTCHAs, anti-bot) ตัวอย่างเช่น X/Twitter มักบล็อก sessions แบบ headless
ฉันจะใช้ Brave สำหรับควบคุมเบราว์เซอร์ได้อย่างไร
ฉันจะใช้ Brave สำหรับควบคุมเบราว์เซอร์ได้อย่างไร
browser.executablePath เป็น binary ของ Brave ของคุณ (หรือเบราว์เซอร์ที่ใช้ Chromium อื่นใด) แล้วรีสตาร์ท Gateway
ดูตัวอย่าง config แบบเต็มใน เบราว์เซอร์Gateway และ nodes ระยะไกล
คำสั่งแพร่กระจายระหว่าง Telegram, gateway และ nodes อย่างไร
คำสั่งแพร่กระจายระหว่าง Telegram, gateway และ nodes อย่างไร
node.* → Node → Gateway → TelegramNodes จะไม่เห็นทราฟฟิก provider ขาเข้า แต่จะรับเฉพาะการเรียก RPC ของ node เท่านั้นagent ของฉันจะเข้าถึงคอมพิวเตอร์ของฉันได้อย่างไรหาก Gateway โฮสต์อยู่ระยะไกล
agent ของฉันจะเข้าถึงคอมพิวเตอร์ของฉันได้อย่างไรหาก Gateway โฮสต์อยู่ระยะไกล
node.* (screen, camera, system) บนเครื่อง local ของคุณผ่าน Gateway WebSocket ได้การตั้งค่าทั่วไป:- รัน Gateway บนโฮสต์ที่เปิดตลอดเวลา (VPS/home server)
- ใส่โฮสต์ Gateway + คอมพิวเตอร์ของคุณไว้ใน tailnet เดียวกัน
- ตรวจให้แน่ใจว่า Gateway WS เข้าถึงได้ (tailnet bind หรือ SSH tunnel)
- เปิดแอป macOS ในเครื่องและเชื่อมต่อในโหมด Remote over SSH (หรือ direct tailnet) เพื่อให้ลงทะเบียนเป็น node ได้
-
อนุมัติ node บน Gateway:
system.run บนเครื่องนั้น จับคู่
เฉพาะอุปกรณ์ที่คุณไว้วางใจ และอ่าน ความปลอดภัยเอกสาร: Nodes, โปรโตคอล Gateway, โหมดระยะไกลของ macOS, ความปลอดภัย.Tailscale เชื่อมต่อแล้วแต่ฉันไม่ได้รับการตอบกลับ ควรทำอย่างไรต่อ
Tailscale เชื่อมต่อแล้วแต่ฉันไม่ได้รับการตอบกลับ ควรทำอย่างไรต่อ
- Gateway กำลังรันอยู่:
openclaw gateway status - สถานะสุขภาพของ Gateway:
openclaw status - สถานะสุขภาพของ channel:
openclaw channels status
- หากคุณใช้ Tailscale Serve ให้ตรวจสอบว่า
gateway.auth.allowTailscaleตั้งค่าไว้อย่างถูกต้อง - หากคุณเชื่อมต่อผ่าน SSH tunnel ให้ยืนยันว่า tunnel local เปิดอยู่และชี้ไปยังพอร์ตที่ถูกต้อง
- ยืนยันว่า allowlists ของคุณ (DM หรือ group) มีบัญชีของคุณอยู่
OpenClaw สองอินสแตนซ์คุยกันได้หรือไม่ (local + VPS)
OpenClaw สองอินสแตนซ์คุยกันได้หรือไม่ (local + VPS)
openclaw agent --message ... --deliver โดยกำหนดเป้าหมายไปยังแชทที่บอทอีกตัว
คอยฟังอยู่ หากบอทตัวหนึ่งอยู่บน VPS ระยะไกล ให้ชี้ CLI ของคุณไปยัง Gateway ระยะไกลนั้น
ผ่าน SSH/Tailscale (ดู การเข้าถึงระยะไกล)รูปแบบตัวอย่าง (รันจากเครื่องที่เข้าถึง Gateway เป้าหมายได้):ฉันต้องใช้ VPS แยกกันสำหรับหลาย agents หรือไม่
ฉันต้องใช้ VPS แยกกันสำหรับหลาย agents หรือไม่
มีประโยชน์หรือไม่หากใช้ node บนแล็ปท็อปส่วนตัวแทน SSH จาก VPS
มีประโยชน์หรือไม่หากใช้ node บนแล็ปท็อปส่วนตัวแทน SSH จาก VPS
- ไม่ต้องใช้ SSH ขาเข้า Nodes เชื่อมต่อออกไปยัง Gateway WebSocket และใช้การจับคู่อุปกรณ์
- การควบคุมการดำเนินการที่ปลอดภัยกว่า
system.runถูกควบคุมด้วย allowlists/approvals ของ node บนแล็ปท็อปนั้น - เครื่องมืออุปกรณ์มากขึ้น Nodes เปิดเผย
canvas,cameraและscreenเพิ่มเติมจากsystem.run - การทำงานอัตโนมัติของเบราว์เซอร์ local เก็บ Gateway ไว้บน VPS แต่รัน Chrome ในเครื่องผ่าน node host บนแล็ปท็อป หรือแนบกับ Chrome local บนโฮสต์ผ่าน Chrome MCP
nodes รันบริการ gateway หรือไม่
nodes รันบริการ gateway หรือไม่
gateway, discovery และ Plugin ที่โฮสต์อยู่มีวิธีใช้ API / RPC เพื่อ apply config หรือไม่
มีวิธีใช้ API / RPC เพื่อ apply config หรือไม่
config.schema.lookup: ตรวจสอบ subtree หนึ่งของ config พร้อมโหนด schema ระดับตื้น, UI hint ที่ตรงกัน, และสรุปลูกโดยตรงก่อนเขียนconfig.get: ดึง snapshot + hash ปัจจุบันconfig.patch: อัปเดตบางส่วนอย่างปลอดภัย (แนะนำสำหรับการแก้ไข RPC ส่วนใหญ่); hot-reload เมื่อทำได้ และรีสตาร์ตเมื่อจำเป็นconfig.apply: ตรวจสอบความถูกต้อง + แทนที่ config ทั้งหมด; hot-reload เมื่อทำได้ และรีสตาร์ตเมื่อจำเป็น- เครื่องมือ runtime
gatewayสำหรับเจ้าของเท่านั้นยังคงปฏิเสธการเขียนทับtools.exec.ask/tools.exec.security; alias เดิมtools.bash.*จะ normalize ไปยัง path exec ที่ได้รับการป้องกันเดียวกัน
config ขั้นต่ำที่สมเหตุสมผลสำหรับการติดตั้งครั้งแรก
config ขั้นต่ำที่สมเหตุสมผลสำหรับการติดตั้งครั้งแรก
ฉันจะตั้งค่า Tailscale บน VPS และเชื่อมต่อจาก Mac ได้อย่างไร?
ฉันจะตั้งค่า Tailscale บน VPS และเชื่อมต่อจาก Mac ได้อย่างไร?
-
ติดตั้ง + เข้าสู่ระบบบน VPS
-
ติดตั้ง + เข้าสู่ระบบบน Mac ของคุณ
- ใช้แอป Tailscale และลงชื่อเข้าใช้ tailnet เดียวกัน
-
เปิดใช้ MagicDNS (แนะนำ)
- ในคอนโซลผู้ดูแลระบบของ Tailscale ให้เปิดใช้ MagicDNS เพื่อให้ VPS มีชื่อที่คงที่
-
ใช้ชื่อโฮสต์ของ tailnet
- SSH:
ssh user@your-vps.tailnet-xxxx.ts.net - Gateway WS:
ws://your-vps.tailnet-xxxx.ts.net:18789
- SSH:
ฉันจะเชื่อมต่อ node ของ Mac กับ Gateway ระยะไกล (Tailscale Serve) ได้อย่างไร?
ฉันจะเชื่อมต่อ node ของ Mac กับ Gateway ระยะไกล (Tailscale Serve) ได้อย่างไร?
- ตรวจสอบให้แน่ใจว่า VPS + Mac อยู่ใน tailnet เดียวกัน
- ใช้แอป macOS ในโหมด Remote (เป้าหมาย SSH สามารถเป็นชื่อโฮสต์ของ tailnet ได้) แอปจะ tunnel พอร์ต Gateway และเชื่อมต่อเป็น node
-
อนุมัติ node บน gateway:
ฉันควรติดตั้งบนแล็ปท็อปเครื่องที่สอง หรือแค่เพิ่ม node?
ฉันควรติดตั้งบนแล็ปท็อปเครื่องที่สอง หรือแค่เพิ่ม node?
Env vars และการโหลด .env
OpenClaw โหลด environment variables อย่างไร?
OpenClaw โหลด environment variables อย่างไร?
.envจาก current working directory- fallback
.envแบบ global จาก~/.openclaw/.env(หรือ$OPENCLAW_STATE_DIR/.env)
.env ทั้งสองไฟล์จะไม่ override env vars ที่มีอยู่คุณยังสามารถกำหนด inline env vars ใน config ได้ (ใช้เฉพาะเมื่อไม่มีใน process env):ฉันเริ่ม Gateway ผ่าน service แล้ว env vars ของฉันหายไป ตอนนี้ควรทำอย่างไร?
ฉันเริ่ม Gateway ผ่าน service แล้ว env vars ของฉันหายไป ตอนนี้ควรทำอย่างไร?
- ใส่คีย์ที่หายไปใน
~/.openclaw/.envเพื่อให้ถูกอ่านแม้ service จะไม่สืบทอด shell env ของคุณ - เปิดใช้การนำเข้า shell (ความสะดวกแบบ opt-in):
OPENCLAW_LOAD_SHELL_ENV=1, OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000ฉันตั้งค่า COPILOT_GITHUB_TOKEN แล้ว แต่ models status แสดง "Shell env: off." เพราะอะไร?
ฉันตั้งค่า COPILOT_GITHUB_TOKEN แล้ว แต่ models status แสดง "Shell env: off." เพราะอะไร?
openclaw models status รายงานว่าเปิดใช้ การนำเข้า shell env หรือไม่ “Shell env: off”
ไม่ได้ หมายความว่า env vars ของคุณหายไป - หมายความเพียงว่า OpenClaw จะไม่โหลด
login shell ของคุณโดยอัตโนมัติหาก Gateway ทำงานเป็น service (launchd/systemd) จะไม่สืบทอด
environment ของ shell ของคุณ แก้ไขโดยทำอย่างใดอย่างหนึ่ง:-
ใส่ token ใน
~/.openclaw/.env: -
หรือเปิดใช้การนำเข้า shell (
env.shellEnv.enabled: true) -
หรือเพิ่มลงในบล็อก
envของ config ของคุณ (ใช้เฉพาะเมื่อยังขาดอยู่)
COPILOT_GITHUB_TOKEN (รวมถึง GH_TOKEN / GITHUB_TOKEN)
ดู /concepts/model-providers และ /environmentSessions และหลายแชต
ฉันจะเริ่มบทสนทนาใหม่ได้อย่างไร?
ฉันจะเริ่มบทสนทนาใหม่ได้อย่างไร?
/new หรือ /reset เป็นข้อความเดี่ยว ดู การจัดการ SessionSession จะรีเซ็ตอัตโนมัติหรือไม่หากฉันไม่เคยส่ง /new?
Session จะรีเซ็ตอัตโนมัติหรือไม่หากฉันไม่เคยส่ง /new?
session.idleMinutes ได้ แต่สิ่งนี้ ปิดใช้งานโดยค่าเริ่มต้น (ค่าเริ่มต้น 0)
ตั้งค่าเป็นค่าบวกเพื่อเปิดใช้การหมดอายุเมื่อไม่มีการใช้งาน เมื่อเปิดใช้แล้ว ข้อความ ถัดไป
หลังจากช่วง idle จะเริ่ม session id ใหม่สำหรับ chat key นั้น
การดำเนินการนี้ไม่ลบ transcript - เพียงเริ่ม session ใหม่เท่านั้นมีวิธีสร้างทีมของอินสแตนซ์ OpenClaw (CEO หนึ่งคนและเอเจนต์หลายตัว) หรือไม่?
มีวิธีสร้างทีมของอินสแตนซ์ OpenClaw (CEO หนึ่งคนและเอเจนต์หลายตัว) หรือไม่?
ทำไมบริบทจึงถูกตัดกลางงาน? ฉันจะป้องกันได้อย่างไร?
ทำไมบริบทจึงถูกตัดกลางงาน? ฉันจะป้องกันได้อย่างไร?
- ขอให้บอตสรุปสถานะปัจจุบันและเขียนลงไฟล์
- ใช้
/compactก่อนงานยาว และใช้/newเมื่อเปลี่ยนหัวข้อ - เก็บบริบทสำคัญไว้ในเวิร์กสเปซและขอให้บอตอ่านกลับมา
- ใช้เอเจนต์ย่อยสำหรับงานที่ยาวหรือทำแบบขนาน เพื่อให้แชตหลักเล็กลง
- เลือกโมเดลที่มีหน้าต่างบริบทใหญ่ขึ้น หากเกิดปัญหานี้บ่อย
ฉันจะรีเซ็ต OpenClaw ทั้งหมดแต่ยังคงติดตั้งไว้ได้อย่างไร?
ฉันจะรีเซ็ต OpenClaw ทั้งหมดแต่ยังคงติดตั้งไว้ได้อย่างไร?
- การเริ่มใช้งานยังมีตัวเลือก รีเซ็ต หากพบ config ที่มีอยู่ ดู การเริ่มใช้งาน (CLI)
- หากคุณใช้โปรไฟล์ (
--profile/OPENCLAW_PROFILE) ให้รีเซ็ตไดเรกทอรีสถานะของแต่ละโปรไฟล์ (ค่าเริ่มต้นคือ~/.openclaw-<profile>) - รีเซ็ตสำหรับการพัฒนา:
openclaw gateway --dev --reset(สำหรับการพัฒนาเท่านั้น; ล้าง config สำหรับ dev + ข้อมูลประจำตัว + เซสชัน + เวิร์กสเปซ)
ฉันพบข้อผิดพลาด "context too large" - ฉันจะรีเซ็ตหรือ compact ได้อย่างไร?
ฉันพบข้อผิดพลาด "context too large" - ฉันจะรีเซ็ตหรือ compact ได้อย่างไร?
-
Compact (คงบทสนทนาไว้แต่สรุปเทิร์นเก่าๆ):
หรือ
/compact <instructions>เพื่อกำหนดแนวทางให้สรุป -
รีเซ็ต (ID เซสชันใหม่สำหรับคีย์แชตเดิม):
- เปิดใช้หรือปรับแต่ง การตัดแต่งเซสชัน (
agents.defaults.contextPruning) เพื่อตัดเอาต์พุตเครื่องมือเก่า - ใช้โมเดลที่มีหน้าต่างบริบทใหญ่ขึ้น
ทำไมฉันจึงเห็น "LLM request rejected: messages.content.tool_use.input field required"?
ทำไมฉันจึงเห็น "LLM request rejected: messages.content.tool_use.input field required"?
tool_use โดยไม่มี
input ที่จำเป็น โดยปกติหมายถึงประวัติเซสชันค้างหรือเสียหาย (มักเกิดหลังเธรดยาว
หรือหลังการเปลี่ยนแปลงเครื่องมือ/สคีมา)วิธีแก้: เริ่มเซสชันใหม่ด้วย /new (เป็นข้อความเดี่ยว)ทำไมฉันจึงได้รับข้อความ Heartbeat ทุก 30 นาที?
ทำไมฉันจึงได้รับข้อความ Heartbeat ทุก 30 นาที?
HEARTBEAT.md อยู่แต่โดยผลลัพธ์แล้วว่างเปล่า (มีเฉพาะบรรทัดว่างและส่วนหัว markdown
เช่น # Heading) OpenClaw จะข้ามการรัน Heartbeat เพื่อประหยัดการเรียก API
หากไม่มีไฟล์นี้ Heartbeat จะยังทำงานและให้โมเดลตัดสินใจว่าจะทำอะไรการ override รายเอเจนต์ใช้ agents.list[].heartbeat เอกสาร: Heartbeat.ฉันต้องเพิ่ม "บัญชีบอต" เข้าไปในกลุ่ม WhatsApp หรือไม่?
ฉันต้องเพิ่ม "บัญชีบอต" เข้าไปในกลุ่ม WhatsApp หรือไม่?
groupPolicy: "allowlist")หากคุณต้องการให้มีเพียง คุณ เท่านั้นที่สั่งให้ตอบกลับในกลุ่มได้:ฉันจะรับ JID ของกลุ่ม WhatsApp ได้อย่างไร?
ฉันจะรับ JID ของกลุ่ม WhatsApp ได้อย่างไร?
ทำไม OpenClaw จึงไม่ตอบกลับในกลุ่ม?
ทำไม OpenClaw จึงไม่ตอบกลับในกลุ่ม?
- เปิด mention gating อยู่ (ค่าเริ่มต้น) คุณต้อง @mention บอต (หรือให้ตรงกับ
mentionPatterns) - คุณกำหนดค่า
channels.whatsapp.groupsโดยไม่มี"*"และกลุ่มนั้นไม่ได้อยู่ใน allowlist
กลุ่ม/เธรดใช้บริบทร่วมกับ DM หรือไม่?
กลุ่ม/เธรดใช้บริบทร่วมกับ DM หรือไม่?
ฉันสร้างเวิร์กสเปซและเอเจนต์ได้กี่รายการ?
ฉันสร้างเวิร์กสเปซและเอเจนต์ได้กี่รายการ?
- การเพิ่มขึ้นของดิสก์: เซสชัน + ทรานสคริปต์อยู่ใต้
~/.openclaw/agents/<agentId>/sessions/ - ค่าใช้จ่ายโทเค็น: เอเจนต์มากขึ้นหมายถึงการใช้งานโมเดลพร้อมกันมากขึ้น
- ภาระงานด้าน Ops: โปรไฟล์การยืนยันตัวตน เวิร์กสเปซ และการกำหนดเส้นทางช่องทางของแต่ละเอเจนต์
- เก็บเวิร์กสเปซที่ ใช้งานอยู่ หนึ่งรายการต่อเอเจนต์ (
agents.defaults.workspace) - ตัดเซสชันเก่าออก (ลบ JSONL หรือรายการใน store) หากดิสก์โตขึ้น
- ใช้
openclaw doctorเพื่อตรวจหาเวิร์กสเปซที่หลงเหลือและโปรไฟล์ที่ไม่ตรงกัน
ฉันรันบอทหรือแชตหลายรายการพร้อมกันได้ไหม (Slack) และควรตั้งค่าอย่างไร?
ฉันรันบอทหรือแชตหลายรายการพร้อมกันได้ไหม (Slack) และควรตั้งค่าอย่างไร?
- โฮสต์ Gateway ที่เปิดตลอดเวลา (VPS/Mac mini)
- หนึ่งเอเจนต์ต่อหนึ่งบทบาท (bindings)
- ช่องทาง Slack ที่ผูกกับเอเจนต์เหล่านั้น
- เบราว์เซอร์ในเครื่องผ่าน Chrome MCP หรือโหนดเมื่อจำเป็น
โมเดล, failover และโปรไฟล์การยืนยันตัวตน
ถามตอบเกี่ยวกับโมเดล — ค่าเริ่มต้น, การเลือก, alias, การสลับ, failover, โปรไฟล์การยืนยันตัวตน — อยู่ใน คำถามที่พบบ่อยเกี่ยวกับโมเดลGateway: พอร์ต, “รันอยู่แล้ว” และโหมดระยะไกล
Gateway ใช้พอร์ตใด?
Gateway ใช้พอร์ตใด?
gateway.port ควบคุมพอร์ต multiplexed เดียวสำหรับ WebSocket + HTTP (Control UI, hooks ฯลฯ)ลำดับความสำคัญ:ทำไม openclaw gateway status จึงแสดงว่า "Runtime: running" แต่ "Connectivity probe: failed"?
ทำไม openclaw gateway status จึงแสดงว่า "Runtime: running" แต่ "Connectivity probe: failed"?
openclaw gateway status และเชื่อถือบรรทัดเหล่านี้:Probe target:(URL ที่ probe ใช้จริง)Listening:(สิ่งที่ bind อยู่บนพอร์ตจริง)Last gateway error:(สาเหตุหลักที่พบบ่อยเมื่อโปรเซสยังทำงานอยู่แต่พอร์ตไม่ได้ฟังอยู่)
ทำไม openclaw gateway status จึงแสดง "Config (cli)" และ "Config (service)" แตกต่างกัน?
ทำไม openclaw gateway status จึงแสดง "Config (cli)" และ "Config (service)" แตกต่างกัน?
--profile / OPENCLAW_STATE_DIR)วิธีแก้:--profile / สภาพแวดล้อมเดียวกับที่คุณต้องการให้ service ใช้"another gateway instance is already listening" หมายความว่าอย่างไร?
"another gateway instance is already listening" หมายความว่าอย่างไร?
ws://127.0.0.1:18789) หาก bind ล้มเหลวด้วย EADDRINUSE จะโยน GatewayLockError ซึ่งระบุว่าอีกอินสแตนซ์กำลังฟังอยู่แล้ววิธีแก้: หยุดอินสแตนซ์อื่น ปล่อยพอร์ตให้ว่าง หรือรันด้วย openclaw gateway --port <port>ฉันจะรัน OpenClaw ในโหมดระยะไกล (ไคลเอนต์เชื่อมต่อไปยัง Gateway ที่อื่น) ได้อย่างไร?
ฉันจะรัน OpenClaw ในโหมดระยะไกล (ไคลเอนต์เชื่อมต่อไปยัง Gateway ที่อื่น) ได้อย่างไร?
gateway.mode: "remote" และชี้ไปยัง URL WebSocket ระยะไกล โดยเลือกใช้ข้อมูลรับรองระยะไกลแบบ shared-secret ได้:openclaw gatewayจะเริ่มทำงานเฉพาะเมื่อgateway.modeเป็นlocal(หรือคุณส่งแฟล็ก override)- แอป macOS เฝ้าดูไฟล์ config และสลับโหมดแบบสดเมื่อค่าเหล่านี้เปลี่ยน
gateway.remote.token/.passwordเป็นข้อมูลรับรองระยะไกลฝั่งไคลเอนต์เท่านั้น โดยตัวมันเองไม่ได้เปิดใช้งานการยืนยันตัวตนของ local gateway
Control UI แสดงว่า "unauthorized" (หรือเชื่อมต่อใหม่ซ้ำ ๆ) ตอนนี้ควรทำอย่างไร?
Control UI แสดงว่า "unauthorized" (หรือเชื่อมต่อใหม่ซ้ำ ๆ) ตอนนี้ควรทำอย่างไร?
ฉันตั้งค่า gateway.bind เป็น tailnet แต่ bind ไม่ได้และไม่มีอะไรฟังอยู่
ฉันตั้งค่า gateway.bind เป็น tailnet แต่ bind ไม่ได้และไม่มีอะไรฟังอยู่
tailnet จะเลือก IP ของ Tailscale จากอินเทอร์เฟซเครือข่ายของคุณ (100.64.0.0/10) หากเครื่องไม่ได้อยู่บน Tailscale (หรืออินเทอร์เฟซไม่ทำงาน) ก็ไม่มีอะไรให้ bindวิธีแก้:- เริ่ม Tailscale บนโฮสต์นั้น (เพื่อให้มีที่อยู่ 100.x), หรือ
- สลับเป็น
gateway.bind: "loopback"/"lan"
tailnet เป็นแบบระบุชัดเจน auto จะเลือก loopback ก่อน; ใช้ gateway.bind: "tailnet" เมื่อคุณต้องการ bind เฉพาะ tailnet เท่านั้นฉันรัน Gateway หลายตัวบนโฮสต์เดียวกันได้ไหม?
ฉันรัน Gateway หลายตัวบนโฮสต์เดียวกันได้ไหม?
OPENCLAW_CONFIG_PATH(config ต่ออินสแตนซ์)OPENCLAW_STATE_DIR(state ต่ออินสแตนซ์)agents.defaults.workspace(การแยกเวิร์กสเปซ)gateway.port(พอร์ตไม่ซ้ำกัน)
- ใช้
openclaw --profile <name> ...ต่ออินสแตนซ์ (สร้าง~/.openclaw-<name>ให้อัตโนมัติ) - ตั้งค่า
gateway.portที่ไม่ซ้ำกันใน config ของแต่ละโปรไฟล์ (หรือส่ง--portสำหรับการรันด้วยตนเอง) - ติดตั้ง service ต่อโปรไฟล์:
openclaw --profile <name> gateway install
ai.openclaw.<profile>; legacy com.openclaw.*, openclaw-gateway-<profile>.service, OpenClaw Gateway (<profile>))
คู่มือฉบับเต็ม: Gateway หลายตัว"invalid handshake" / code 1008 หมายความว่าอย่างไร?
"invalid handshake" / code 1008 หมายความว่าอย่างไร?
connect หากได้รับสิ่งอื่น จะปิดการเชื่อมต่อ
ด้วย code 1008 (การละเมิดนโยบาย)สาเหตุที่พบบ่อย:- คุณเปิด URL HTTP ในเบราว์เซอร์ (
http://...) แทนที่จะใช้ไคลเอนต์ WS - คุณใช้พอร์ตหรือพาธผิด
- พร็อกซีหรือ tunnel ตัด auth headers ออก หรือส่งคำขอที่ไม่ใช่ Gateway
- ใช้ URL WS:
ws://<host>:18789(หรือwss://...หากเป็น HTTPS) - อย่าเปิดพอร์ต WS ในแท็บเบราว์เซอร์ปกติ
- หากเปิดการยืนยันตัวตน ให้ใส่ token/password ในเฟรม
connect
การบันทึก log และการดีบัก
log อยู่ที่ไหน?
log อยู่ที่ไหน?
logging.file ระดับ log ของไฟล์ควบคุมโดย logging.level ความละเอียดของคอนโซลควบคุมโดย --verbose และ logging.consoleLevelวิธี tail log ที่เร็วที่สุด:- macOS:
$OPENCLAW_STATE_DIR/logs/gateway.logและgateway.err.log(ค่าเริ่มต้น:~/.openclaw/logs/...; โปรไฟล์ใช้~/.openclaw-<profile>/logs/...) - Linux:
journalctl --user -u openclaw-gateway[-<profile>].service -n 200 --no-pager - Windows:
schtasks /Query /TN "OpenClaw Gateway (<profile>)" /V /FO LIST
ฉันจะเริ่ม/หยุด/รีสตาร์ท service ของ Gateway ได้อย่างไร?
ฉันจะเริ่ม/หยุด/รีสตาร์ท service ของ Gateway ได้อย่างไร?
openclaw gateway --force สามารถเรียกคืนพอร์ตได้ ดู Gatewayฉันปิดเทอร์มินัลบน Windows ไปแล้ว - จะรีสตาร์ท OpenClaw ได้อย่างไร?
ฉันปิดเทอร์มินัลบน Windows ไปแล้ว - จะรีสตาร์ท OpenClaw ได้อย่างไร?
Gateway เปิดอยู่แต่ไม่มีคำตอบกลับมา ฉันควรตรวจอะไร?
Gateway เปิดอยู่แต่ไม่มีคำตอบกลับมา ฉันควรตรวจอะไร?
- การยืนยันตัวตนโมเดลไม่ได้โหลดบน โฮสต์ Gateway (ตรวจสอบ
models status) - การจับคู่/allowlist ของช่องทางบล็อกการตอบกลับ (ตรวจสอบการกำหนดค่าช่องทาง + บันทึก)
- WebChat/แดชบอร์ดเปิดอยู่โดยไม่มีโทเค็นที่ถูกต้อง
"ตัดการเชื่อมต่อจาก Gateway: ไม่มีเหตุผล" - ต้องทำอย่างไรต่อ?
"ตัดการเชื่อมต่อจาก Gateway: ไม่มีเหตุผล" - ต้องทำอย่างไรต่อ?
- Gateway กำลังทำงานอยู่หรือไม่?
openclaw gateway status - Gateway สุขภาพดีหรือไม่?
openclaw status - UI มีโทเค็นที่ถูกต้องหรือไม่?
openclaw dashboard - หากอยู่ระยะไกล ลิงก์ทันเนล/Tailscale เปิดอยู่หรือไม่?
Telegram setMyCommands ล้มเหลว ฉันควรตรวจสอบอะไร?
Telegram setMyCommands ล้มเหลว ฉันควรตรวจสอบอะไร?
BOT_COMMANDS_TOO_MUCH: เมนู Telegram มีรายการมากเกินไป OpenClaw ตัดให้เหลือไม่เกินขีดจำกัดของ Telegram และลองใหม่ด้วยจำนวนคำสั่งที่น้อยลงแล้ว แต่บางรายการในเมนูยังต้องถูกลบออก ลดคำสั่ง Plugin/Skills/กำหนดเอง หรือปิดใช้channels.telegram.commands.nativeหากคุณไม่ต้องการเมนูTypeError: fetch failed,Network request for 'setMyCommands' failed!หรือข้อผิดพลาดเครือข่ายที่คล้ายกัน: หากคุณอยู่บน VPS หรือหลังพร็อกซี ให้ยืนยันว่าอนุญาต HTTPS ขาออกและ DNS ทำงานกับapi.telegram.org
TUI ไม่แสดงผลลัพธ์ ฉันควรตรวจสอบอะไร?
TUI ไม่แสดงผลลัพธ์ ฉันควรตรวจสอบอะไร?
/status เพื่อดูสถานะปัจจุบัน หากคุณคาดว่าจะได้รับการตอบกลับใน
ช่องทางแชต ตรวจสอบให้แน่ใจว่าเปิดการส่งแล้ว (/deliver on)เอกสาร: TUI, คำสั่งสแลช.ฉันจะหยุดแล้วเริ่ม Gateway ใหม่ทั้งหมดได้อย่างไร?
ฉันจะหยุดแล้วเริ่ม Gateway ใหม่ทั้งหมดได้อย่างไร?
อธิบายแบบง่าย: openclaw gateway restart เทียบกับ openclaw gateway
อธิบายแบบง่าย: openclaw gateway restart เทียบกับ openclaw gateway
openclaw gateway restart: รีสตาร์ต บริการเบื้องหลัง (launchd/systemd)openclaw gateway: รัน Gateway ในเบื้องหน้า สำหรับเซสชันเทอร์มินัลนี้
openclaw gateway เมื่อ
คุณต้องการรันครั้งเดียวแบบเบื้องหน้าวิธีที่เร็วที่สุดในการดูรายละเอียดเพิ่มเติมเมื่อมีบางอย่างล้มเหลว
วิธีที่เร็วที่สุดในการดูรายละเอียดเพิ่มเติมเมื่อมีบางอย่างล้มเหลว
--verbose เพื่อดูรายละเอียดคอนโซลเพิ่มเติม จากนั้นตรวจสอบไฟล์บันทึกเพื่อดูการยืนยันตัวตนของช่องทาง การกำหนดเส้นทางโมเดล และข้อผิดพลาด RPCสื่อและไฟล์แนบ
Skills ของฉันสร้างรูปภาพ/PDF แต่ไม่มีอะไรถูกส่ง
Skills ของฉันสร้างรูปภาพ/PDF แต่ไม่มีอะไรถูกส่ง
MEDIA:<path-or-url> (อยู่ในบรรทัดของตัวเอง) ดู การตั้งค่าผู้ช่วย OpenClaw และ การส่งของเอเจนต์การส่งผ่าน CLI:- ช่องทางเป้าหมายรองรับสื่อขาออกและไม่ได้ถูกบล็อกโดย allowlist
- ไฟล์อยู่ภายในขีดจำกัดขนาดของผู้ให้บริการ (รูปภาพจะถูกปรับขนาดให้ไม่เกิน 2048px)
tools.fs.workspaceOnly=trueจำกัดการส่งพาธภายในเครื่องให้อยู่ใน workspace, temp/media-store และไฟล์ที่ผ่านการตรวจสอบโดย sandboxtools.fs.workspaceOnly=falseทำให้MEDIA:ส่งไฟล์ภายในเครื่องของโฮสต์ที่เอเจนต์อ่านได้อยู่แล้ว แต่เฉพาะสื่อและชนิดเอกสารที่ปลอดภัยเท่านั้น (รูปภาพ เสียง วิดีโอ PDF และเอกสาร Office) ไฟล์ข้อความล้วนและไฟล์ที่ดูเหมือนมีความลับยังคงถูกบล็อก
ความปลอดภัยและการควบคุมการเข้าถึง
การเปิด OpenClaw ให้รับ DM ขาเข้าปลอดภัยหรือไม่?
การเปิด OpenClaw ให้รับ DM ขาเข้าปลอดภัยหรือไม่?
- พฤติกรรมเริ่มต้นบนช่องทางที่รองรับ DM คือ การจับคู่:
- ผู้ส่งที่ไม่รู้จักจะได้รับรหัสจับคู่ บอตจะไม่ประมวลผลข้อความของพวกเขา
- อนุมัติด้วย:
openclaw pairing approve --channel <channel> [--account <id>] <code> - คำขอที่รอดำเนินการจำกัดไว้ที่ 3 รายการต่อช่องทาง; ตรวจสอบ
openclaw pairing list --channel <channel> [--account <id>]หากรหัสไม่มาถึง
- การเปิด DM สาธารณะต้องเลือกใช้โดยชัดเจน (
dmPolicy: "open"และ allowlist"*")
openclaw doctor เพื่อแสดงนโยบาย DM ที่มีความเสี่ยงprompt injection เป็นปัญหาเฉพาะบอตสาธารณะเท่านั้นหรือไม่?
prompt injection เป็นปัญหาเฉพาะบอตสาธารณะเท่านั้นหรือไม่?
- ใช้เอเจนต์ “reader” แบบอ่านอย่างเดียวหรือปิดเครื่องมือเพื่อสรุปเนื้อหาที่ไม่น่าเชื่อถือ
- ปิด
web_search/web_fetch/browserสำหรับเอเจนต์ที่เปิดใช้เครื่องมือ - ถือว่าข้อความที่ถอดรหัสจากไฟล์/เอกสารก็ไม่น่าเชื่อถือเช่นกัน: OpenResponses
input_fileและการดึงข้อมูลจากไฟล์แนบสื่อต่างห่อข้อความที่ดึงออกมาไว้ใน เครื่องหมายขอบเขตเนื้อหาภายนอกอย่างชัดเจน แทนที่จะส่งข้อความไฟล์ดิบ - ใช้ sandbox และ allowlist เครื่องมือแบบเข้มงวด
บอตของฉันควรมีอีเมล บัญชี GitHub หรือหมายเลขโทรศัพท์ของตัวเองหรือไม่?
บอตของฉันควรมีอีเมล บัญชี GitHub หรือหมายเลขโทรศัพท์ของตัวเองหรือไม่?
ฉันให้มันมี autonomy เหนือข้อความของฉันได้ไหม และปลอดภัยหรือไม่?
ฉันให้มันมี autonomy เหนือข้อความของฉันได้ไหม และปลอดภัยหรือไม่?
- ให้ DM อยู่ใน โหมดการจับคู่ หรือใช้ allowlist ที่จำกัดมาก
- ใช้ หมายเลขหรือบัญชีแยกต่างหาก หากคุณต้องการให้มันส่งข้อความแทนคุณ
- ให้มันร่างข้อความ แล้ว อนุมัติก่อนส่ง
ฉันใช้โมเดลที่ถูกกว่าสำหรับงานผู้ช่วยส่วนตัวได้ไหม?
ฉันใช้โมเดลที่ถูกกว่าสำหรับงานผู้ช่วยส่วนตัวได้ไหม?
ฉันรัน /start ใน Telegram แต่ไม่ได้รับรหัสจับคู่
ฉันรัน /start ใน Telegram แต่ไม่ได้รับรหัสจับคู่
dmPolicy: "pairing" อยู่ /start เพียงอย่างเดียวจะไม่สร้างรหัสตรวจสอบคำขอที่รอดำเนินการ:dmPolicy: "open"
สำหรับบัญชีนั้นWhatsApp: มันจะส่งข้อความถึงรายชื่อติดต่อของฉันไหม? การจับคู่ทำงานอย่างไร?
WhatsApp: มันจะส่งข้อความถึงรายชื่อติดต่อของฉันไหม? การจับคู่ทำงานอย่างไร?
channels.whatsapp.selfChatModeคำสั่งแชต การยกเลิกงาน และ “มันไม่ยอมหยุด”
ฉันจะหยุดไม่ให้ข้อความระบบภายในแสดงในแชตได้อย่างไร?
ฉันจะหยุดไม่ให้ข้อความระบบภายในแสดงในแชตได้อย่างไร?
verboseDefault
เป็น on ใน configเอกสาร: การคิดและ verbose, ความปลอดภัย.ฉันจะหยุด/ยกเลิกงานที่กำลังรันได้อย่างไร?
ฉันจะหยุด/ยกเลิกงานที่กำลังรันได้อย่างไร?
/ แต่ช็อตคัตบางรายการ (เช่น /status) ก็ใช้แบบ inline ได้สำหรับผู้ส่งที่อยู่ใน allowlistฉันจะส่งข้อความ Discord จาก Telegram ได้อย่างไร? ("Cross-context messaging denied")
ฉันจะส่งข้อความ Discord จาก Telegram ได้อย่างไร? ("Cross-context messaging denied")
ทำไมรู้สึกเหมือนบอต "เพิกเฉย" ต่อข้อความที่ส่งถี่ ๆ?
ทำไมรู้สึกเหมือนบอต "เพิกเฉย" ต่อข้อความที่ส่งถี่ ๆ?
/queue เพื่อเปลี่ยนโหมด:steer- จัดคิวการนำทางที่รอดำเนินการทั้งหมดสำหรับขอบเขตโมเดลถัดไปในการรันปัจจุบันqueue- การนำทางแบบเดิมทีละรายการfollowup- รันข้อความทีละรายการcollect- รวมข้อความเป็นชุดและตอบครั้งเดียวsteer-backlog- นำทางตอนนี้ แล้วประมวลผล backloginterrupt- ยกเลิกการรันปัจจุบันและเริ่มใหม่
steer คุณสามารถเพิ่มตัวเลือกอย่าง debounce:0.5s cap:25 drop:summarize สำหรับโหมดติดตามผลได้ ดู คิวคำสั่ง และ คิวการควบคุมอื่นๆ
โมเดลเริ่มต้นสำหรับ Anthropic ที่ใช้คีย์ API คืออะไร?
โมเดลเริ่มต้นสำหรับ Anthropic ที่ใช้คีย์ API คืออะไร?
ANTHROPIC_API_KEY (หรือจัดเก็บคีย์ API ของ Anthropic ในโปรไฟล์การรับรองความถูกต้อง) จะเปิดใช้การรับรองความถูกต้อง แต่โมเดลเริ่มต้นจริงคือค่าที่คุณกำหนดใน agents.defaults.model.primary (เช่น anthropic/claude-sonnet-4-6 หรือ anthropic/claude-opus-4-6) หากคุณเห็น No credentials found for profile "anthropic:default" แสดงว่า Gateway ไม่พบข้อมูลรับรองของ Anthropic ใน auth-profiles.json ที่คาดไว้สำหรับเอเจนต์ที่กำลังทำงานอยู่ยังติดปัญหาอยู่หรือไม่? ถามใน Discord หรือเปิด การสนทนาใน GitHub
ที่เกี่ยวข้อง
- คำถามที่พบบ่อยสำหรับการใช้งานครั้งแรก — การติดตั้ง การเริ่มต้นใช้งาน การรับรองความถูกต้อง การสมัครใช้งาน ข้อผิดพลาดช่วงเริ่มต้น
- คำถามที่พบบ่อยเกี่ยวกับโมเดล — การเลือกโมเดล การสลับระบบเมื่อขัดข้อง โปรไฟล์การรับรองความถูกต้อง
- การแก้ไขปัญหา — การคัดแยกปัญหาโดยเริ่มจากอาการ