Generates sidecar-delta artifacts after each turn by running the digester asynchronously.
After each assistant message is sent, this plugin:
- Captures the outgoing message content
- Spawns a Python digester script asynchronously (fire-and-forget)
- Produces structured JSON artifacts organized by date
- Hook:
message_sent— triggered after each assistant turn - Commands:
sidecar-artifacts— list recent artifactssidecar-read <filename>— read specific artifact
- Tools:
sidecar_list_artifacts— list artifacts with count parametersidecar_read_artifact— read artifact by filename
- Async: Digester runs detached; never blocks message delivery
- Deduplication: Uses SHA-256 hash; avoids processing identical messages within 60s window
Artifacts are JSON files saved to:
~/.openclaw/workspace/projects/reflective-sidecar/artifacts/
└── YYYY-MM-DD/
└── HH-MM-SS.json
Each artifact contains the turn transcript and metadata.
Lists the 20 most recent artifacts with filename, size, and modification time.
/sidecar-artifacts
Reads and displays a specific artifact file.
/sidecar-read 2026-03-31-08-30-00.json
// Parameters
{ count?: number } // default: 10// Parameters
{ filename: string } // requiredplugins.entries.reflective-sidecar.config:
| Key | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable artifact generation |
artifactsDir |
string | ~/.openclaw/workspace/projects/reflective-sidecar/artifacts |
Base output directory |
digesterScript |
string | ~/.openclaw/workspace/scripts/sidecar_digest.py |
Path to digester script |
Example config:
plugins:
entries:
reflective-sidecar:
config:
enabled: true
artifactsDir: ~/.openclaw/workspace/projects/reflective-sidecar/artifacts
digesterScript: ~/.openclaw/workspace/scripts/sidecar_digest.py- Python 3 (
sidecar_digest.pydigester script) - Output directory must exist or be creatable
Build TypeScript:
npx tsc index.ts --target ES2022 --module NodeNext --moduleResolution NodeNext --outDir . --esModuleInterop --skipLibCheckOr with tsconfig:
npx tscThis plugin is installed at:
~/.openclaw/plugins/reflective-sidecar/