Skip to main content

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 hooks

จัดการฮุกของเอเจนต์ (ระบบอัตโนมัติแบบขับเคลื่อนด้วยเหตุการณ์สำหรับคำสั่งอย่าง /new, /reset และการเริ่มต้น Gateway) การรัน openclaw hooks โดยไม่มีคำสั่งย่อยจะเทียบเท่ากับ openclaw hooks list ที่เกี่ยวข้อง:

แสดงฮุกทั้งหมด

openclaw hooks list
แสดงฮุกทั้งหมดที่ค้นพบจากไดเรกทอรีเวิร์กสเปซ ไดเรกทอรีที่มีการจัดการ ไดเรกทอรีเพิ่มเติม และไดเรกทอรีที่รวมมาให้ การเริ่มต้น Gateway จะไม่โหลดตัวจัดการฮุกภายในจนกว่าจะมีการกำหนดค่าฮุกภายในอย่างน้อยหนึ่งรายการ ตัวเลือก:
  • --eligible: แสดงเฉพาะฮุกที่ใช้งานได้ (ตรงตามข้อกำหนด)
  • --json: ส่งออกเป็น JSON
  • -v, --verbose: แสดงข้อมูลโดยละเอียดรวมถึงข้อกำหนดที่ขาดหายไป
ตัวอย่างเอาต์พุต:
Hooks (4/4 ready)

Ready:
  🚀 boot-md ✓ - Run BOOT.md on gateway startup
  📎 bootstrap-extra-files ✓ - Inject extra workspace bootstrap files during agent bootstrap
  📝 command-logger ✓ - Log all command events to a centralized audit file
  💾 session-memory ✓ - Save session context to memory when /new or /reset command is issued
ตัวอย่าง (แบบละเอียด):
openclaw hooks list --verbose
แสดงข้อกำหนดที่ขาดหายไปสำหรับฮุกที่ยังใช้งานไม่ได้ ตัวอย่าง (JSON):
openclaw hooks list --json
คืนค่า JSON ที่มีโครงสร้างสำหรับการใช้งานเชิงโปรแกรม

ดูข้อมูลฮุก

openclaw hooks info <name>
แสดงข้อมูลโดยละเอียดเกี่ยวกับฮุกเฉพาะรายการ อาร์กิวเมนต์:
  • <name>: ชื่อฮุกหรือคีย์ฮุก (เช่น session-memory)
ตัวเลือก:
  • --json: ส่งออกเป็น JSON
ตัวอย่าง:
openclaw hooks info session-memory
เอาต์พุต:
💾 session-memory ✓ Ready

Save session context to memory when /new or /reset command is issued

Details:
  Source: openclaw-bundled
  Path: /path/to/openclaw/hooks/bundled/session-memory/HOOK.md
  Handler: /path/to/openclaw/hooks/bundled/session-memory/handler.ts
  Homepage: https://docs.openclaw.ai/automation/hooks#session-memory
  Events: command:new, command:reset

Requirements:
  Config: ✓ workspace.dir

ตรวจสอบความพร้อมใช้งานของฮุก

openclaw hooks check
แสดงสรุปสถานะความพร้อมใช้งานของฮุก (จำนวนที่พร้อมเทียบกับไม่พร้อม) ตัวเลือก:
  • --json: ส่งออกเป็น JSON
ตัวอย่างเอาต์พุต:
Hooks Status

Total hooks: 4
Ready: 4
Not ready: 0

เปิดใช้งานฮุก

openclaw hooks enable <name>
เปิดใช้งานฮุกเฉพาะรายการโดยเพิ่มลงในการกำหนดค่าของคุณ (ค่าเริ่มต้นคือ ~/.openclaw/openclaw.json) หมายเหตุ: ฮุกของเวิร์กสเปซจะถูกปิดใช้งานโดยค่าเริ่มต้นจนกว่าจะเปิดใช้งานที่นี่หรือในการกำหนดค่า ฮุกที่จัดการโดย Plugin จะแสดง plugin:<id> ใน openclaw hooks list และไม่สามารถเปิด/ปิดใช้งานได้ที่นี่ ให้เปิด/ปิดใช้งาน Plugin แทน อาร์กิวเมนต์:
  • <name>: ชื่อฮุก (เช่น session-memory)
ตัวอย่าง:
openclaw hooks enable session-memory
เอาต์พุต:
✓ Enabled hook: 💾 session-memory
สิ่งที่คำสั่งนี้ทำ:
  • ตรวจสอบว่าฮุกมีอยู่และใช้งานได้
  • อัปเดต hooks.internal.entries.<name>.enabled = true ในการกำหนดค่าของคุณ
  • บันทึกการกำหนดค่าลงดิสก์
หากฮุกมาจาก <workspace>/hooks/ ขั้นตอนการเลือกเปิดใช้งานนี้จำเป็นก่อนที่ Gateway จะโหลดฮุกนั้น หลังจากเปิดใช้งาน:
  • รีสตาร์ท Gateway เพื่อให้ฮุกโหลดใหม่ (รีสตาร์ทแอปบนแถบเมนูใน macOS หรือรีสตาร์ทกระบวนการ Gateway ของคุณในโหมดพัฒนา)

ปิดใช้งานฮุก

openclaw hooks disable <name>
ปิดใช้งานฮุกเฉพาะรายการโดยอัปเดตการกำหนดค่าของคุณ อาร์กิวเมนต์:
  • <name>: ชื่อฮุก (เช่น command-logger)
ตัวอย่าง:
openclaw hooks disable command-logger
เอาต์พุต:
⏸ Disabled hook: 📝 command-logger
หลังจากปิดใช้งาน:
  • รีสตาร์ท Gateway เพื่อให้ฮุกโหลดใหม่

หมายเหตุ

  • openclaw hooks list --json, info --json และ check --json เขียน JSON ที่มีโครงสร้างไปยัง stdout โดยตรง
  • ฮุกที่จัดการโดย Plugin ไม่สามารถเปิดหรือปิดใช้งานได้ที่นี่ ให้เปิดหรือปิดใช้งาน Plugin ที่เป็นเจ้าของแทน

ติดตั้งชุดฮุก

openclaw plugins install <package>        # npm by default
openclaw plugins install npm:<package>    # npm only
openclaw plugins install <package> --pin  # pin version
openclaw plugins install <path>           # local path
ติดตั้งชุดฮุกผ่านตัวติดตั้ง plugins แบบรวมศูนย์ openclaw hooks install ยังคงทำงานในฐานะชื่อแทนเพื่อความเข้ากันได้ แต่จะแสดง คำเตือนการเลิกใช้และส่งต่อไปยัง openclaw plugins install สเปก npm เป็นแบบ registry-only (ชื่อแพ็กเกจ + เวอร์ชันที่แน่นอน หรือ dist-tag ที่เลือกได้) สเปก Git/URL/file และช่วง semver จะถูกปฏิเสธ การติดตั้ง dependency จะรันแบบภายในโปรเจกต์พร้อม --ignore-scripts เพื่อความปลอดภัย แม้ว่า shell ของคุณจะมีการตั้งค่าการติดตั้ง npm แบบโกลบอลก็ตาม สเปกเปล่าและ @latest จะอยู่บนสายเสถียร หาก npm resolve รายการใดรายการหนึ่ง ไปเป็น prerelease OpenClaw จะหยุดและขอให้คุณเลือกเข้าร่วมอย่างชัดเจนด้วยแท็ก prerelease เช่น @beta/@rc หรือเวอร์ชัน prerelease ที่แน่นอน สิ่งที่คำสั่งนี้ทำ:
  • คัดลอกชุดฮุกไปยัง ~/.openclaw/hooks/<id>
  • เปิดใช้งานฮุกที่ติดตั้งใน hooks.internal.entries.*
  • บันทึกการติดตั้งไว้ภายใต้ hooks.internal.installs
ตัวเลือก:
  • -l, --link: ลิงก์ไดเรกทอรีภายในเครื่องแทนการคัดลอก (เพิ่มลงใน hooks.internal.load.extraDirs)
  • --pin: บันทึกการติดตั้ง npm เป็น name@version ที่ resolve แล้วแบบแน่นอนใน hooks.internal.installs
อาร์ไคฟ์ที่รองรับ: .zip, .tgz, .tar.gz, .tar ตัวอย่าง:
# Local directory
openclaw plugins install ./my-hook-pack

# Local archive
openclaw plugins install ./my-hook-pack.zip

# NPM package
openclaw plugins install @openclaw/my-hook-pack

# Link a local directory without copying
openclaw plugins install -l ./my-hook-pack
ชุดฮุกที่ลิงก์ไว้จะถูกถือว่าเป็นฮุกที่มีการจัดการจากไดเรกทอรีที่โอเปอเรเตอร์กำหนดค่า ไม่ใช่ฮุกของเวิร์กสเปซ

อัปเดตชุดฮุก

openclaw plugins update <id>
openclaw plugins update --all
อัปเดตชุดฮุกที่ติดตามอยู่และอิงตาม npm ผ่านตัวอัปเดต plugins แบบรวมศูนย์ openclaw hooks update ยังคงทำงานในฐานะชื่อแทนเพื่อความเข้ากันได้ แต่จะแสดง คำเตือนการเลิกใช้และส่งต่อไปยัง openclaw plugins update ตัวเลือก:
  • --all: อัปเดตชุดฮุกทั้งหมดที่ติดตามอยู่
  • --dry-run: แสดงสิ่งที่จะเปลี่ยนแปลงโดยไม่เขียนข้อมูล
เมื่อมีแฮช integrity ที่จัดเก็บไว้และแฮชของอาร์ติแฟกต์ที่ดึงมาเปลี่ยนไป OpenClaw จะแสดงคำเตือนและขอการยืนยันก่อนดำเนินการต่อ ใช้ --yes แบบโกลบอลเพื่อข้ามพรอมต์ใน CI/การรันแบบไม่โต้ตอบ

ฮุกที่รวมมาให้

session-memory

บันทึกบริบทเซสชันลงในหน่วยความจำเมื่อคุณออกคำสั่ง /new หรือ /reset เปิดใช้งาน:
openclaw hooks enable session-memory
เอาต์พุต: ค่าเริ่มต้นคือ ~/.openclaw/workspace/memory/YYYY-MM-DD-HHMM.md ตั้งค่า hooks.internal.entries.session-memory.llmSlug: true สำหรับ slug ชื่อไฟล์ที่สร้างโดยโมเดล ดู: เอกสาร session-memory

bootstrap-extra-files

แทรกไฟล์ bootstrap เพิ่มเติม (เช่น AGENTS.md / TOOLS.md ภายใน monorepo) ระหว่าง agent:bootstrap เปิดใช้งาน:
openclaw hooks enable bootstrap-extra-files
ดู: เอกสาร bootstrap-extra-files

command-logger

บันทึกเหตุการณ์คำสั่งทั้งหมดลงในไฟล์ audit แบบรวมศูนย์ เปิดใช้งาน:
openclaw hooks enable command-logger
เอาต์พุต: ~/.openclaw/logs/commands.log ดูบันทึก:
# Recent commands
tail -n 20 ~/.openclaw/logs/commands.log

# Pretty-print
cat ~/.openclaw/logs/commands.log | jq .

# Filter by action
grep '"action":"new"' ~/.openclaw/logs/commands.log | jq .
ดู: เอกสาร command-logger

boot-md

รัน BOOT.md เมื่อ Gateway เริ่มทำงาน (หลังจาก channels เริ่มทำงาน) เหตุการณ์: gateway:startup เปิดใช้งาน:
openclaw hooks enable boot-md
ดู: เอกสาร boot-md

ที่เกี่ยวข้อง