mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-09 03:13:19 +08:00
本次迁移将网关/通道/工具/技能/脚本与协议资源集中到新结构,统一路径常量与脚本转发机制,减少顶层噪音并保证运行与测试行为一致。 Made-with: Cursor
905 B
905 B
oclaw/hooks
Unified Python hooks runtime and hook packages.
What you get
- In-process hook bus: register on
typeortype:action, sync/async handlers, isolated failures. - Directory discovery: finds hooks by
HOOK.md + handler.py(orindex.py). - Config gating: supports
hooks.internal.enabledandhooks.internal.entries.<hookKey>.enabled. - Source precedence: bundled / managed / workspace collision resolution.
Hook layout
Put hooks in any of:
- Bundled:
oclaw/hooks/bundled/<hookName>/ - Managed:
~/.oclaw/hooks/<hookName>/ - Workspace:
<workspace>/hooks/<hookName>/(explicit opt-in by default)
Each hook directory must contain:
HOOK.mdwith YAML frontmatter includingmetadata.oclaw.eventshandler.py(orindex.py) exporting a callablehandle(event)
Minimal self-test
python "oclaw/hooks/_selftest.py"