mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-17 22:00:50 +08:00
初始化:独立 oclaw 仓库首提交
- 在 oclaw/ 下重新初始化 Git 仓库 - 补齐子仓库 .gitignore,避免提交本地运行态数据(_local、node_modules、logs 等) - 提交当前工程代码与配置 Made-with: Cursor
This commit is contained in:
commit
ba3836f00f
579 changed files with 83112 additions and 0 deletions
30
hooks/README.md
Normal file
30
hooks/README.md
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
## `oclaw/hooks`
|
||||
|
||||
Unified Python hooks runtime and hook packages.
|
||||
|
||||
### What you get
|
||||
|
||||
- **In-process hook bus**: register on `type` or `type:action`, sync/async handlers, isolated failures.
|
||||
- **Directory discovery**: finds hooks by `HOOK.md + handler.py` (or `index.py`).
|
||||
- **Config gating**: supports `hooks.internal.enabled` and `hooks.internal.entries.<hookKey>.enabled`.
|
||||
- **Source precedence**: bundled / managed / workspace collision resolution.
|
||||
|
||||
### Hook layout
|
||||
|
||||
Put hooks in any of:
|
||||
|
||||
- **Bundled**: `oclaw/hooks/bundled/<hookName>/`
|
||||
- **Managed**: `~/.openclaw/hooks/<hookName>/`
|
||||
- **Workspace**: `<workspace>/hooks/<hookName>/` (explicit opt-in by default)
|
||||
|
||||
Each hook directory must contain:
|
||||
|
||||
- `HOOK.md` with YAML frontmatter including `metadata.openclaw.events`
|
||||
- `handler.py` (or `index.py`) exporting a callable `handle(event)`
|
||||
|
||||
### Minimal self-test
|
||||
|
||||
```bash
|
||||
python "oclaw/hooks/_selftest.py"
|
||||
```
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue