8.4 KiB
| read_when | summary | title | x-i18n | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Referensi CLI untuk `openclaw hooks` (hook agen) | Hook |
|
openclaw hooks
Kelola hook agen (otomasi berbasis peristiwa untuk perintah seperti /new, /reset, dan startup gateway).
Menjalankan openclaw hooks tanpa subperintah setara dengan openclaw hooks list.
Terkait:
- Hook: Hook
- Hook plugin: Hook plugin
Daftar Semua Hook
openclaw hooks list
Daftarkan semua hook yang ditemukan dari direktori workspace, managed, extra, dan bawaan. Startup gateway tidak memuat handler hook internal sampai setidaknya satu hook internal dikonfigurasi.
Opsi:
--eligible: Tampilkan hanya hook yang memenuhi syarat (persyaratan terpenuhi)--json: Keluarkan sebagai JSON-v, --verbose: Tampilkan informasi detail termasuk persyaratan yang belum terpenuhi
Contoh output:
Hooks (4/4 ready)
Ready:
🚀 boot-md ✓ - Jalankan BOOT.md saat startup gateway
📎 bootstrap-extra-files ✓ - Sisipkan file bootstrap workspace tambahan selama bootstrap agen
📝 command-logger ✓ - Catat semua peristiwa perintah ke file audit terpusat
💾 session-memory ✓ - Simpan konteks sesi ke memori saat perintah /new atau /reset dijalankan
Contoh (verbose):
openclaw hooks list --verbose
Menampilkan persyaratan yang belum terpenuhi untuk hook yang tidak memenuhi syarat.
Contoh (JSON):
openclaw hooks list --json
Mengembalikan JSON terstruktur untuk penggunaan terprogram.
Dapatkan Informasi Hook
openclaw hooks info <name>
Tampilkan informasi detail tentang hook tertentu.
Argumen:
<name>: Nama hook atau kunci hook (misalnya,session-memory)
Opsi:
--json: Keluarkan sebagai JSON
Contoh:
openclaw hooks info session-memory
Output:
💾 session-memory ✓ Siap
Simpan konteks sesi ke memori saat perintah /new atau /reset dijalankan
Detail:
Sumber: openclaw-bundled
Path: /path/to/openclaw/hooks/bundled/session-memory/HOOK.md
Handler: /path/to/openclaw/hooks/bundled/session-memory/handler.ts
Halaman utama: https://docs.openclaw.ai/automation/hooks#session-memory
Peristiwa: command:new, command:reset
Persyaratan:
Config: ✓ workspace.dir
Periksa Kelayakan Hook
openclaw hooks check
Tampilkan ringkasan status kelayakan hook (berapa banyak yang siap vs. tidak siap).
Opsi:
--json: Keluarkan sebagai JSON
Contoh output:
Status Hook
Total hook: 4
Siap: 4
Tidak siap: 0
Aktifkan Hook
openclaw hooks enable <name>
Aktifkan hook tertentu dengan menambahkannya ke config Anda (default ~/.openclaw/openclaw.json).
Catatan: Hook workspace dinonaktifkan secara default sampai diaktifkan di sini atau di config. Hook yang dikelola oleh plugin menampilkan plugin:<id> di openclaw hooks list dan tidak dapat diaktifkan/dinonaktifkan di sini. Aktifkan/nonaktifkan plugin sebagai gantinya.
Argumen:
<name>: Nama hook (misalnya,session-memory)
Contoh:
openclaw hooks enable session-memory
Output:
✓ Hook diaktifkan: 💾 session-memory
Yang dilakukan:
- Memeriksa apakah hook ada dan memenuhi syarat
- Memperbarui
hooks.internal.entries.<name>.enabled = truedi config Anda - Menyimpan config ke disk
Jika hook berasal dari <workspace>/hooks/, langkah opt-in ini diperlukan sebelum
Gateway akan memuatnya.
Setelah mengaktifkan:
- Mulai ulang gateway agar hook dimuat ulang (restart aplikasi menu bar di macOS, atau restart proses gateway Anda dalam dev).
Nonaktifkan Hook
openclaw hooks disable <name>
Nonaktifkan hook tertentu dengan memperbarui config Anda.
Argumen:
<name>: Nama hook (misalnya,command-logger)
Contoh:
openclaw hooks disable command-logger
Output:
⏸ Hook dinonaktifkan: 📝 command-logger
Setelah menonaktifkan:
- Mulai ulang gateway agar hook dimuat ulang
Catatan
openclaw hooks list --json,info --json, dancheck --jsonmenulis JSON terstruktur langsung ke stdout.- Hook yang dikelola plugin tidak dapat diaktifkan atau dinonaktifkan di sini; aktifkan atau nonaktifkan plugin pemiliknya sebagai gantinya.
Instal Paket Hook
openclaw plugins install <package> # ClawHub terlebih dahulu, lalu npm
openclaw plugins install <package> --pin # sematkan versi
openclaw plugins install <path> # path lokal
Instal paket hook melalui installer plugin terpadu.
openclaw hooks install masih berfungsi sebagai alias kompatibilitas, tetapi mencetak
peringatan deprecation dan meneruskan ke openclaw plugins install.
Spesifikasi npm bersifat khusus registry (nama paket + versi exact opsional atau
dist-tag). Spesifikasi Git/URL/file dan rentang semver ditolak. Instalasi dependensi dijalankan dengan --ignore-scripts demi keamanan.
Spesifikasi kosong dan @latest tetap berada di jalur stabil. Jika npm menyelesaikan salah satunya ke prerelease, OpenClaw akan berhenti dan meminta Anda opt in secara eksplisit dengan
tag prerelease seperti @beta/@rc atau versi prerelease exact.
Yang dilakukan:
- Menyalin paket hook ke
~/.openclaw/hooks/<id> - Mengaktifkan hook yang diinstal di
hooks.internal.entries.* - Mencatat instalasi di bawah
hooks.internal.installs
Opsi:
-l, --link: Tautkan direktori lokal alih-alih menyalin (menambahkannya kehooks.internal.load.extraDirs)--pin: Catat instalasi npm sebagainame@versionexact yang telah diselesaikan dihooks.internal.installs
Arsip yang didukung: .zip, .tgz, .tar.gz, .tar
Contoh:
# Direktori lokal
openclaw plugins install ./my-hook-pack
# Arsip lokal
openclaw plugins install ./my-hook-pack.zip
# Paket NPM
openclaw plugins install @openclaw/my-hook-pack
# Tautkan direktori lokal tanpa menyalin
openclaw plugins install -l ./my-hook-pack
Paket hook yang ditautkan diperlakukan sebagai hook managed dari direktori yang dikonfigurasi operator, bukan sebagai hook workspace.
Perbarui Paket Hook
openclaw plugins update <id>
openclaw plugins update --all
Perbarui paket hook berbasis npm yang dilacak melalui updater plugin terpadu.
openclaw hooks update masih berfungsi sebagai alias kompatibilitas, tetapi mencetak
peringatan deprecation dan meneruskan ke openclaw plugins update.
Opsi:
--all: Perbarui semua paket hook yang dilacak--dry-run: Tampilkan apa yang akan berubah tanpa menulis
Saat hash integritas tersimpan ada dan hash artefak yang diambil berubah,
OpenClaw mencetak peringatan dan meminta konfirmasi sebelum melanjutkan. Gunakan
--yes global untuk melewati prompt pada eksekusi CI/non-interaktif.
Hook Bawaan
session-memory
Menyimpan konteks sesi ke memori saat Anda menjalankan /new atau /reset.
Aktifkan:
openclaw hooks enable session-memory
Output: ~/.openclaw/workspace/memory/YYYY-MM-DD-slug.md
Lihat: dokumentasi session-memory
bootstrap-extra-files
Menyisipkan file bootstrap tambahan (misalnya AGENTS.md / TOOLS.md lokal monorepo) selama agent:bootstrap.
Aktifkan:
openclaw hooks enable bootstrap-extra-files
Lihat: dokumentasi bootstrap-extra-files
command-logger
Mencatat semua peristiwa perintah ke file audit terpusat.
Aktifkan:
openclaw hooks enable command-logger
Output: ~/.openclaw/logs/commands.log
Lihat log:
# Perintah terbaru
tail -n 20 ~/.openclaw/logs/commands.log
# Cetak rapi
cat ~/.openclaw/logs/commands.log | jq .
# Filter berdasarkan aksi
grep '"action":"new"' ~/.openclaw/logs/commands.log | jq .
Lihat: dokumentasi command-logger
boot-md
Menjalankan BOOT.md saat gateway dimulai (setelah saluran dimulai).
Peristiwa: gateway:startup
Aktifkan:
openclaw hooks enable boot-md
Lihat: dokumentasi boot-md