auto: sync OpenClaw config 2026-09-16 16:13

This commit is contained in:
2026-09-16 16:13:36 +08:00
parent c51006a57d
commit 5ac4289f66
35 changed files with 4827 additions and 65 deletions
@@ -0,0 +1,68 @@
---
name: self-improvement
description: "Injects self-improvement reminder at bootstrap and sweeps ended sessions for errors"
metadata: {"openclaw":{"emoji":"🧠","events":["agent:bootstrap","command:new","command:reset"]}}
---
# Self-Improvement Hook
Injects a reminder to evaluate learnings during agent bootstrap, and detects
errors from ended sessions.
OpenClaw has no per-tool-call hook event, so errors cannot be detected in
real time after each command. This hook detects them with a session-end
error sweep instead.
## What It Does
**On `agent:bootstrap`** (before workspace files are injected):
- Adds a reminder block to check `.learnings/` for relevant entries
- Prompts the agent to log corrections, errors, and discoveries
- If auto-detected errors are awaiting triage, includes a pending-triage note
**On `command:new` / `command:reset`** (session end):
- Locates the transcript of the session that just ended
(`context.previousSessionEntry.sessionFile`, falling back to
`<workspace>/sessions/<sessionId>.jsonl`)
- Scans it against a fixed error-pattern list
(`Error:`, `command not found`, `Traceback`, `npm ERR!`, …)
- Appends a `pending` entry to `<workspace>/.learnings/ERRORS.md` with short,
truncated, redacted excerpts (max 5 per sweep) for the next session to triage
- Stamps each entry with deterministic `Pattern-Key` values derived from the
matched pattern (e.g. `deps.module-not-found`, `shell.command-not-found`),
so auto-detected errors can be deduplicated and recurrence-counted by key
(see the Pattern-Key Taxonomy in `SKILL.md`)
## Opt-In and Safety
- The sweep only runs when `<workspace>/.learnings/` exists — create that
directory to enable it, delete it to disable it
- `ERRORS.md` is created only if missing and is otherwise appended to, never
overwritten
- Excerpts are truncated to 200 characters and common secret shapes (bearer
tokens, API keys, GitHub/Slack/AWS tokens, JWTs, long opaque blobs) are
redacted before writing; excerpts already present in `ERRORS.md` are skipped
- Hook failures are swallowed so the gateway is never affected; set
`SELF_IMPROVEMENT_HOOK_DEBUG=1` to log failures
## Configuration
No configuration needed. Enable with:
```bash
openclaw hooks enable self-improvement
```
Enable the error sweep by creating the learnings directory:
```bash
mkdir -p ~/.openclaw/workspace/.learnings
```
## Testing
```bash
node --test hooks/openclaw/handler.test.js
```