CLI commands
ฮุก
openclaw hooks
จัดการฮุกของเอเจนต์ (ระบบอัตโนมัติที่ขับเคลื่อนด้วยเหตุการณ์สำหรับคำสั่ง เช่น /new, /reset และการเริ่มต้น Gateway) การใช้ openclaw hooks โดยไม่มีอาร์กิวเมนต์เทียบเท่ากับ openclaw hooks list
ที่เกี่ยวข้อง: ฮุก - ฮุกของ Plugin
แสดงรายการฮุก
openclaw hooks list [--eligible] [--json] [-v|--verbose]แสดงรายการฮุกที่ค้นพบจากไดเรกทอรีเวิร์กสเปซ ไดเรกทอรีที่มีการจัดการ ไดเรกทอรีเพิ่มเติม และไดเรกทอรีที่รวมมาให้
--eligible: แสดงเฉพาะฮุกที่มีคุณสมบัติตามข้อกำหนดครบถ้วน--json: แสดงผลลัพธ์แบบมีโครงสร้าง-v, --verbose: เพิ่มคอลัมน์ Missing ซึ่งแสดงข้อกำหนดที่ยังไม่ครบถ้วน
ฮุก (พร้อมใช้งาน 4/5) พร้อมใช้งาน: 🚀 boot-md ✓ - เรียกใช้ BOOT.md เมื่อ Gateway เริ่มต้น 📎 bootstrap-extra-files ✓ - แทรกไฟล์บูตสแตรปเพิ่มเติมของเวิร์กสเปซระหว่างการบูตสแตรปเอเจนต์ 📝 command-logger ✓ - บันทึกเหตุการณ์คำสั่งทั้งหมดลงในไฟล์ตรวจสอบแบบรวมศูนย์ 💾 session-memory ✓ - บันทึกบริบทเซสชันลงในหน่วยความจำเมื่อมีการเรียกใช้คำสั่ง /new หรือ /resetดูข้อมูลฮุก
openclaw hooks info <name> [--json]<name> คือชื่อฮุกหรือคีย์ฮุก (ตัวอย่างเช่น session-memory) แสดงแหล่งที่มา พาธไฟล์/ตัวจัดการ โฮมเพจ เหตุการณ์ และสถานะของข้อกำหนดแต่ละรายการ (ไบนารี สภาพแวดล้อม การกำหนดค่า ระบบปฏิบัติการ)
ตรวจสอบคุณสมบัติ
openclaw hooks check [--json]แสดงสรุปจำนวนที่พร้อมใช้งาน/ไม่พร้อมใช้งาน หากมีฮุกที่ไม่พร้อมใช้งาน จะแสดงแต่ละฮุกพร้อมเหตุผลที่ทำให้ไม่สามารถใช้งานได้
เปิดใช้งานฮุก
openclaw hooks enable <name>เพิ่ม/อัปเดต hooks.internal.entries.<name>.enabled = true ในการกำหนดค่า และเปิดสวิตช์หลัก hooks.internal.enabled ด้วย (Gateway จะไม่โหลดตัวจัดการฮุกภายในใด ๆ จนกว่าจะกำหนดค่าอย่างน้อยหนึ่งรายการ) คำสั่งจะล้มเหลวหากไม่มีฮุกดังกล่าว ฮุกอยู่ภายใต้การจัดการของ Plugin หรือฮุกมีคุณสมบัติไม่ครบถ้วน (ขาดข้อกำหนด)
ฮุกที่อยู่ภายใต้การจัดการของ Plugin จะแสดง plugin:<id> ใน hooks list และไม่สามารถเปิด/ปิดใช้งานได้ที่นี่ ให้เปิดหรือปิดใช้งาน Plugin ที่เป็นเจ้าของแทน
รีสตาร์ต Gateway หลังจากเปิดใช้งาน (รีสตาร์ตแอปแถบเมนู macOS หรือรีสตาร์ตกระบวนการ Gateway ในสภาพแวดล้อมการพัฒนา) เพื่อให้โหลดฮุกใหม่
ปิดใช้งานฮุก
openclaw hooks disable <name>ตั้งค่า hooks.internal.entries.<name>.enabled = false จากนั้นรีสตาร์ต Gateway
ติดตั้งและอัปเดตแพ็กฮุก
openclaw plugins install <package> # ใช้ npm ตามค่าเริ่มต้นopenclaw plugins install npm:<package> # ใช้ npm เท่านั้นopenclaw plugins install <package> --pin # ตรึงเวอร์ชันที่แก้ไขแล้วopenclaw plugins install <path> # ไดเรกทอรีหรือไฟล์บีบอัดในเครื่องopenclaw plugins install -l <path> # ลิงก์ไดเรกทอรีในเครื่องแทนการคัดลอก openclaw plugins update <id>openclaw plugins update --allopenclaw plugins update --dry-runแพ็กฮุกติดตั้งผ่านตัวติดตั้ง/ตัวอัปเดต Plugin แบบรวมศูนย์ ส่วน openclaw hooks install / openclaw hooks update ยังคงใช้งานได้ในฐานะนามแฝงที่เลิกแนะนำแล้ว ซึ่งจะแสดงคำเตือนและส่งต่อไปยังคำสั่ง plugins
- ข้อกำหนด Npm รองรับเฉพาะรีจิสทรี: ชื่อแพ็กเกจและเวอร์ชันแบบเจาะจงหรือ dist-tag ที่เป็นตัวเลือก ข้อกำหนด Git/URL/ไฟล์และช่วง semver จะถูกปฏิเสธ การติดตั้งการพึ่งพาจะทำงานภายในโปรเจกต์ด้วย
--ignore-scripts - ข้อกำหนดเปล่าและ
@latestจะอยู่บนช่องทางเสถียร หาก npm แก้ไขไปยังรุ่นก่อนเผยแพร่ OpenClaw จะหยุดและขอให้คุณยินยอมอย่างชัดเจน (@beta,@rcหรือเวอร์ชันก่อนเผยแพร่แบบเจาะจง) - ไฟล์บีบอัดที่รองรับ:
.zip,.tgz,.tar.gz,.tar -l, --linkลิงก์ไดเรกทอรีในเครื่องแทนการคัดลอก (เพิ่มลงในhooks.internal.load.extraDirs) แพ็กฮุกที่ลิงก์ไว้เป็นฮุกที่มีการจัดการจากไดเรกทอรีที่ผู้ดำเนินการกำหนดค่า ไม่ใช่ฮุกของเวิร์กสเปซ--pinบันทึกการติดตั้ง npm เป็นname@versionของเวอร์ชันที่แก้ไขแล้วแบบเจาะจงในhooks.internal.installs- การติดตั้งจะคัดลอกแพ็กไปยัง
~/.openclaw/hooks/<id>เปิดใช้งานฮุกภายใต้hooks.internal.entries.*และบันทึกการติดตั้งภายใต้hooks.internal.installs - หากแฮชความสมบูรณ์ที่จัดเก็บไว้ไม่ตรงกับอาร์ติแฟกต์ที่ดึงมาอีกต่อไป OpenClaw จะแจ้งเตือนและถามยืนยันก่อนดำเนินการต่อ ให้ส่งแฟล็กส่วนกลาง
--yesเพื่อข้ามคำถามยืนยัน (ตัวอย่างเช่นใน CI)
ฮุกที่รวมมาให้
| ฮุก | เหตุการณ์ | การทำงาน |
|---|---|---|
| boot-md | gateway:startup |
เรียกใช้ BOOT.md เมื่อ Gateway เริ่มต้นสำหรับขอบเขตเอเจนต์แต่ละรายการที่กำหนดค่าไว้ |
| bootstrap-extra-files | agent:bootstrap |
แทรกไฟล์บูตสแตรปเพิ่มเติม (ตัวอย่างเช่น AGENTS.md/TOOLS.md ของ monorepo) ระหว่างการบูตสแตรปเอเจนต์ |
| command-logger | command |
บันทึกเหตุการณ์คำสั่งลงใน ~/.openclaw/logs/commands.log |
| compaction-notifier | session:compact:before, session:compact:after |
ส่งข้อความแจ้งเตือนที่มองเห็นได้ในแชตเมื่อ Compaction ของเซสชันเริ่มต้นและเสร็จสิ้น |
| session-memory | command:new, command:reset |
บันทึกบริบทเซสชันลงในหน่วยความจำเมื่อใช้ /new หรือ /reset |
เปิดใช้งานฮุกที่รวมมาให้รายการใดก็ได้ด้วย openclaw hooks enable <hook-name> รายละเอียดทั้งหมด คีย์การกำหนดค่า และค่าเริ่มต้น: ฮุกที่รวมมาให้
ไฟล์บันทึกของ command-logger
tail -n 20 ~/.openclaw/logs/commands.log # คำสั่งล่าสุดcat ~/.openclaw/logs/commands.log | jq . # แสดงผลให้อ่านง่ายgrep '"action":"new"' ~/.openclaw/logs/commands.log | jq . # กรองตามการดำเนินการหมายเหตุ
hooks list --json,info --jsonและcheck --jsonเขียน JSON แบบมีโครงสร้างไปยัง stdout โดยตรง