Skip to content

Nostoi/reflective-sidecar

Repository files navigation

reflective-sidecar

Generates sidecar-delta artifacts after each turn by running the digester asynchronously.

What it does

After each assistant message is sent, this plugin:

  1. Captures the outgoing message content
  2. Spawns a Python digester script asynchronously (fire-and-forget)
  3. Produces structured JSON artifacts organized by date

Architecture

  • Hook: message_sent — triggered after each assistant turn
  • Commands:
    • sidecar-artifacts — list recent artifacts
    • sidecar-read <filename> — read specific artifact
  • Tools:
    • sidecar_list_artifacts — list artifacts with count parameter
    • sidecar_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

Artifact structure

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.

Commands

/sidecar-artifacts

Lists the 20 most recent artifacts with filename, size, and modification time.

/sidecar-artifacts

/sidecar-read <filename>

Reads and displays a specific artifact file.

/sidecar-read 2026-03-31-08-30-00.json

Tools

sidecar_list_artifacts

// Parameters
{ count?: number } // default: 10

sidecar_read_artifact

// Parameters
{ filename: string } // required

Configuration

plugins.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

Dependencies

  • Python 3 (sidecar_digest.py digester script)
  • Output directory must exist or be creatable

Development

Build TypeScript:

npx tsc index.ts --target ES2022 --module NodeNext --moduleResolution NodeNext --outDir . --esModuleInterop --skipLibCheck

Or with tsconfig:

npx tsc

Installation

This plugin is installed at:

~/.openclaw/plugins/reflective-sidecar/

About

Generates sidecar-delta artifacts after each turn by running the digester asynchronously

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors