52 lines
1.4 KiB
Markdown
52 lines
1.4 KiB
Markdown
# session-memory-cus
|
|
|
|
Custom OpenClaw session-memory hook.
|
|
|
|
## Requirements
|
|
|
|
- Clone this repo to **exactly** `~/.openclaw/hooks/session-memory-cus`
|
|
- The bundled `session-memory` hook must stay **off**
|
|
- Only the **npm install** method of OpenClaw is supported here
|
|
|
|
## What it does
|
|
|
|
- Triggers on `command:new` and `command:reset`
|
|
- Saves the **full** user/assistant session context into `workspace/memory/`
|
|
- Uses `agents.defaults.userTimezone` for date/time formatting
|
|
- Uses a slugged filename, with slug generation based on a small excerpt
|
|
- Avoids overwriting existing files: if a filename already exists the hook
|
|
appends `-1`, `-2`, ... to produce a unique filename.
|
|
|
|
## Disable the bundled hook
|
|
|
|
If you still have the default hook enabled, turn it off:
|
|
|
|
```bash
|
|
openclaw hooks disable session-memory
|
|
```
|
|
|
|
Or set it false in config:
|
|
|
|
```json
|
|
{
|
|
"hooks": {
|
|
"internal": {
|
|
"entries": {
|
|
"session-memory": {
|
|
"enabled": false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Notes
|
|
|
|
This repo is intentionally lightweight, it exists so the custom hook can live in the managed hooks directory and stay separate from the bundled one.
|
|
|
|
If you prefer atomic creation to fully eliminate a race window (two processes
|
|
creating the same new filename simultaneously), replace the simple existence
|
|
check with an atomic open/write using `fs.open(..., 'wx')` or write to a
|
|
temporary file and `fs.rename()` it into place.
|