重构仓库目录为统一的 runtime 分层并清理历史 openclaw 残留。

本次迁移将网关/通道/工具/技能/脚本与协议资源集中到新结构,统一路径常量与脚本转发机制,减少顶层噪音并保证运行与测试行为一致。

Made-with: Cursor
This commit is contained in:
oliver 2026-04-25 01:24:23 +08:00
parent ba3836f00f
commit 4a23b715a2
498 changed files with 2760 additions and 2200 deletions

View file

@ -1,30 +0,0 @@
## `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"
```