Per Agent Compression Universal

Automation

Automates weekly memory compression per agent in OpenClaw, consolidating daily notes into domain-specific long-term files without manual setup.

Install

openclaw skills install per-agent-compression-universal

Per-Agent Memory Compression Skill

Overview

This skill automates weekly memory consolidation for multi-agent OpenClaw deployments. It discovers all agents with workspaces and registers staggered cron tasks that compress old daily notes into long-term memory files.

Key Features

  • Auto-discovery: Finds all agents via openclaw agents list
  • Workspace isolation: Each agent compresses its own memory
  • State persistence: Tracks processed notes in .compression_state.json
  • Deduplication: Avoids duplicate entries
  • Domain awareness: Includes DOMAIN_CONTEXT for tailored extraction
  • Zero config: Just run ./install.sh

Installation

cd /root/.openclaw/workspace/skills/per-agent-compression-universal
./install.sh

This creates 5 staggered tasks (if you have 5 agents) running Sundays 03:00-05:00 Shanghai time.

What It Does

  1. Pre-check paths and initialize state
  2. List daily notes older than 7 days (skip recent)
  3. Sort oldest first, process up to 5 notes per run
  4. For each note:
    • Read content
    • Extract factual info (preferences, decisions, personal info)
    • Append to target files with date headers
    • Move original to memory/processed/
  5. Update state file
  6. Clean working buffer
  7. Send DingTalk summary

File Structure

Each agent workspace should have:

  • memory/YYYY-MM-DD.md (daily notes)
  • USER.md, IDENTITY.md, SOUL.md, MEMORY.md (targets)

After running:

  • memory/.compression_state.json (state tracking)
  • memory/processed/ (moved old notes)

Customization

Edit install.sh to adjust:

  • Stagger offsets (OFFSETS array)
  • Domain context per agent (DOMAIN_CONTEXT associative array)
  • Cron expression (currently Sundays)

Troubleshooting

  • Task hangs: Check STATE_FILE path uses {WORKSPACE} (uppercase), not {workspace}
  • No notes processed: Ensure there are daily notes older than 7 days
  • Timeout: Increase --timeout in install.sh (default 1200s)
  • Delivery fails: Verify DingTalk connector configured with to field

Uninstall

./uninstall.sh

Removes all per_agent_compression_* tasks.

Version

Current: 1.3.4 (fixes STATE_FILE case sensitivity bug)

Support

See README.md for full documentation.