Advanced setup

การตั้งค่า

สรุปย่อ

เลือกเวิร์กโฟลว์การตั้งค่าตามความถี่ที่ต้องการอัปเดตและว่าต้องการเรียกใช้ Gateway ด้วยตนเองหรือไม่:

  • การปรับแต่งอยู่นอกรีโพ: เก็บการกำหนดค่าและเวิร์กสเปซไว้ใน ~/.openclaw/openclaw.json และ ~/.openclaw/workspace/ เพื่อไม่ให้การอัปเดตรีโพแตะต้องรายการเหล่านั้น
  • เวิร์กโฟลว์เสถียร (แนะนำสำหรับผู้ใช้ส่วนใหญ่): ติดตั้งแอป macOS และให้แอปเรียกใช้ Gateway ที่รวมมาให้
  • เวิร์กโฟลว์รุ่นล่าสุดสำหรับนักพัฒนา: เรียกใช้ Gateway ด้วยตนเองผ่าน pnpm gateway:watch แล้วให้แอป macOS เชื่อมต่อในโหมด Local

ข้อกำหนดเบื้องต้น (จากซอร์ส)

  • แนะนำ Node 24.15+ (ยังรองรับ Node 22 LTS ซึ่งขณะนี้คือ 22.22.3+)
  • จำเป็นต้องมี pnpm สำหรับการเช็กเอาต์ซอร์ส OpenClaw โหลด Plugin ที่รวมมาให้จากแพ็กเกจ pnpm workspace extensions/* ในโหมดพัฒนา ดังนั้น npm install ที่รูทจึง ไม่ได้เตรียมซอร์สทรีทั้งหมด
  • Docker (ไม่บังคับ ใช้เฉพาะการตั้งค่าแบบคอนเทนเนอร์/e2e โปรดดู Docker)

กลยุทธ์การปรับแต่ง (เพื่อไม่ให้การอัปเดตสร้างปัญหา)

หากต้องการให้ "ปรับแต่งตามความต้องการของฉัน 100%" และ อัปเดตได้ง่าย ให้เก็บการปรับแต่งไว้ใน:

  • การกำหนดค่า: ~/.openclaw/openclaw.json (คล้าย JSON/JSON5)
  • เวิร์กสเปซ: ~/.openclaw/workspace (Skills, พรอมต์, ความทรงจำ แนะนำให้สร้างเป็นรีโพ git ส่วนตัว)

บูตสแตรปโฟลเดอร์การกำหนดค่า/เวิร์กสเปซหนึ่งครั้ง โดยไม่เรียกใช้วิซาร์ดเริ่มต้นใช้งานแบบเต็ม:

bash
openclaw setup --baseline

หากยังไม่ได้ติดตั้งแบบส่วนกลาง ให้เรียกใช้จากรีโพนี้แทน:

bash
pnpm openclaw setup --baseline

(openclaw setup ที่ไม่มี --baseline เป็นนามแฝงของ openclaw onboard และจะเรียกใช้วิซาร์ดแบบโต้ตอบเต็มรูปแบบ)

เรียกใช้ Gateway จากรีโพนี้

หลังจาก pnpm build สามารถเรียกใช้ CLI ที่แพ็กเกจไว้ได้โดยตรง:

bash
node openclaw.mjs gateway --port 18789 --verbose

เวิร์กโฟลว์เสถียร (เริ่มจากแอป macOS)

  1. ติดตั้งและเปิด OpenClaw.app (แถบเมนู)
  2. ดำเนินการตามรายการตรวจสอบการเริ่มต้นใช้งาน/สิทธิ์ให้ครบถ้วน (พรอมต์ TCC)
  3. ตรวจสอบว่า Gateway เป็น Local และกำลังทำงานอยู่ (แอปเป็นผู้จัดการ)
  4. เชื่อมโยงช่องทางต่างๆ (ตัวอย่าง: WhatsApp):
bash
openclaw channels login
  1. ตรวจสอบความพร้อมเบื้องต้น:
bash
openclaw health

หากบิลด์ไม่มีการเริ่มต้นใช้งาน:

  • เรียกใช้ openclaw setup ตามด้วย openclaw channels login แล้วเริ่ม Gateway ด้วยตนเอง (openclaw gateway)

เวิร์กโฟลว์รุ่นล่าสุดสำหรับนักพัฒนา (Gateway ในเทอร์มินัล)

เป้าหมาย: ทำงานกับ Gateway ที่เขียนด้วย TypeScript ใช้การรีโหลดอัตโนมัติ และคงการเชื่อมต่อ UI ของแอป macOS ไว้

0) (ไม่บังคับ) เรียกใช้แอป macOS จากซอร์สด้วย

หากต้องการใช้แอป macOS รุ่นล่าสุดสำหรับนักพัฒนาด้วย:

bash
./scripts/restart-mac.sh

1) เริ่ม Gateway สำหรับการพัฒนา

bash
pnpm install# เฉพาะการเรียกใช้ครั้งแรก (หรือหลังรีเซ็ตการกำหนดค่า/เวิร์กสเปซ OpenClaw ภายในเครื่อง)pnpm openclaw setuppnpm gateway:watch

gateway:watch เริ่มหรือรีสตาร์ตกระบวนการเฝ้าดู Gateway ในเซสชัน tmux ที่มีชื่อ (openclaw-gateway-watch-main) และเชื่อมต่อโดยอัตโนมัติจาก เทอร์มินัลแบบโต้ตอบ เชลล์ที่ไม่โต้ตอบจะยังคงแยกการทำงานและแสดง tmux attach -t openclaw-gateway-watch-main; ใช้ OPENCLAW_GATEWAY_WATCH_ATTACH=0 pnpm gateway:watch เพื่อให้การเรียกใช้แบบโต้ตอบ ยังคงแยกการทำงาน หรือใช้ pnpm gateway:watch:raw สำหรับโหมดเฝ้าดูเบื้องหน้า ตัวเฝ้าดู จะหยุดบริการ Gateway ที่ติดตั้งไว้ของโปรไฟล์ที่ใช้งานอยู่ก่อนเข้าควบคุม พอร์ตที่กำหนดค่าไว้/พอร์ตเริ่มต้น เพื่อป้องกันไม่ให้ตัวควบคุมบริการแทนที่ กระบวนการจากซอร์ส บริการจะยังคงติดตั้งอยู่ ให้เรียกใช้ pnpm openclaw gateway start เมื่อเลิกใช้งานโหมดเฝ้าดู พาเนล tmux จะยังคงเปิดอยู่หลังการเริ่มต้นล้มเหลว เพื่อให้เทอร์มินัลหรือเอเจนต์อื่นเชื่อมต่อหรือบันทึกล็อกได้ ตัวเฝ้าดู จะรีโหลดเมื่อซอร์ส การกำหนดค่า และข้อมูลเมตาของ Plugin ที่รวมมาให้มีการเปลี่ยนแปลงที่เกี่ยวข้อง หาก Gateway ที่กำลังเฝ้าดูหยุดทำงานระหว่างการเริ่มต้น gateway:watch จะเรียกใช้ openclaw doctor --fix --non-interactive หนึ่งครั้งแล้วลองใหม่ ตั้งค่า OPENCLAW_GATEWAY_WATCH_AUTO_DOCTOR=0 เพื่อปิดการซ่อมแซมรอบนี้ซึ่งใช้เฉพาะการพัฒนา pnpm gateway:watch จะไม่สร้าง dist/control-ui ใหม่ ดังนั้นให้เรียกใช้ pnpm ui:build อีกครั้งหลังจาก ui/ เปลี่ยนแปลง หรือใช้ pnpm ui:dev ขณะพัฒนา Control UI

2) กำหนดให้แอป macOS เชื่อมต่อกับ Gateway ที่กำลังทำงาน

ใน OpenClaw.app:

  • Connection Mode: Local แอปจะเชื่อมต่อกับ Gateway ที่กำลังทำงานบนพอร์ตที่กำหนดค่าไว้

3) ตรวจสอบ

  • สถานะ Gateway ในแอปควรแสดง "Using existing gateway …"
  • หรือตรวจสอบผ่าน CLI:
bash
openclaw health

จุดที่มักทำให้เกิดข้อผิดพลาด

  • พอร์ตไม่ถูกต้อง: Gateway WS ใช้ ws://127.0.0.1:18789 เป็นค่าเริ่มต้น ให้แอปและ CLI ใช้พอร์ตเดียวกัน
  • ตำแหน่งจัดเก็บสถานะ:
    • สถานะช่องทาง/ผู้ให้บริการ: ~/.openclaw/credentials/
    • โปรไฟล์การยืนยันตัวตนของโมเดล: ~/.openclaw/agents/<agentId>/agent/auth-profiles.json
    • เซสชันและบทถอดเสียง: ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite
    • อาร์ติแฟกต์เซสชันแบบเดิม/ที่เก็บถาวร: ~/.openclaw/agents/<agentId>/sessions/
    • ล็อก: /tmp/openclaw/

แผนผังการจัดเก็บข้อมูลประจำตัว

ใช้ข้อมูลนี้เมื่อแก้ไขข้อบกพร่องของการยืนยันตัวตนหรือตัดสินใจว่าจะสำรองข้อมูลใด:

  • WhatsApp: ~/.openclaw/credentials/whatsapp/<accountId>/creds.json
  • โทเค็นบอต Telegram: การกำหนดค่า/ตัวแปรสภาพแวดล้อม หรือ channels.telegram.tokenFile (ต้องเป็นไฟล์ปกติเท่านั้น ไม่ยอมรับลิงก์สัญลักษณ์)
  • โทเค็นบอต Discord: การกำหนดค่า/ตัวแปรสภาพแวดล้อม หรือ SecretRef (ผู้ให้บริการ env/file/exec)
  • โทเค็น Slack: การกำหนดค่า/ตัวแปรสภาพแวดล้อม (channels.slack.*)
  • รายการอนุญาตการจับคู่:
    • ~/.openclaw/credentials/<channel>-allowFrom.json (บัญชีเริ่มต้น)
    • ~/.openclaw/credentials/<channel>-<accountId>-allowFrom.json (บัญชีที่ไม่ใช่ค่าเริ่มต้น)
  • โปรไฟล์การยืนยันตัวตนของโมเดล: ~/.openclaw/agents/<agentId>/agent/auth-profiles.json
  • เพย์โหลดข้อมูลลับที่จัดเก็บในไฟล์ (ไม่บังคับ): ~/.openclaw/secrets.json
  • การนำเข้า OAuth แบบเดิม: ~/.openclaw/credentials/oauth.json รายละเอียดเพิ่มเติม: ความปลอดภัย

การอัปเดต (โดยไม่ทำลายการตั้งค่า)

  • เก็บ ~/.openclaw/workspace และ ~/.openclaw/ เป็น "ข้อมูลของคุณ" อย่าใส่พรอมต์/การกำหนดค่าส่วนตัวไว้ในรีโพ openclaw
  • การอัปเดตซอร์ส: git pull + pnpm install + ใช้ pnpm gateway:watch ต่อไป

Linux (บริการผู้ใช้ systemd)

การติดตั้งบน Linux ใช้บริการ ผู้ใช้ ของ systemd โดยค่าเริ่มต้น systemd จะหยุด บริการของผู้ใช้เมื่อออกจากระบบ/ไม่มีการใช้งาน ซึ่งทำให้ Gateway หยุดทำงาน การเริ่มต้นใช้งานจะพยายามเปิดใช้ การคงบริการหลังออกจากระบบให้ (อาจขอให้ใช้ sudo) หากยังปิดอยู่ ให้เรียกใช้:

bash
sudo loginctl enable-linger $USER

สำหรับเซิร์ฟเวอร์ที่ทำงานตลอดเวลาหรือมีผู้ใช้หลายคน ให้พิจารณาใช้บริการระดับ ระบบ แทน บริการผู้ใช้ (ไม่จำเป็นต้องเปิดการคงบริการหลังออกจากระบบ) โปรดดูหมายเหตุเกี่ยวกับ systemd ใน คู่มือการใช้งาน Gateway

เอกสารที่เกี่ยวข้อง

Was this useful?
On this page

On this page