360 Secure SkillHub
360 安全技能中心

Cc Publish

面向 OpenClaw 的上下文压缩 Skill:按配置截断会话 JSONL,跳过活动会话,提取重要事实与偏好写入分层记忆,并检查偏好过期与上下文健康;脚本与配置文件未随包提供。

lifei68801
lifei68801
热度 16.02
最近更新 2026-03-22 18:56:47
分类:知识依赖:代码执行 / 读写文件 / 内部调用大模型应用场景:摘要总结 / 笔记整理 / 工作流 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add cc-publish
Metadata
name
context-compression
version
3.10.2
description
Prevent context overflow with automatic session truncation and memory preservation. Never lose important conversations again. Features: char-based trimming, AI-powered fact identification, preference lifecycle management. Use when: (1) context window exceeds limit (2) setting up memory hierarchy (3) managing user preferences with expiry.
license
MIT-0
author
lifei68801
metadata
{"openclaw":{"requires":{"bins":["bash","jq","sed","grep","head","tail","wc","mkdir","date","tr","cut"]},"permissions":["file:read:~/.openclaw/agents/main/sessions/*.jsonl","file:write:~/.openclaw/agents/main/sessions/*.jsonl","file:read:~/.openclaw/workspace/memory/*.md","file:write:~/.openclaw/workspace/memory/*.md","file:write:~/.openclaw/workspace/MEMORY.md"],"behavior":{"modifiesLocalFiles":true,"network":"none","telemetry":"none","settings":"none","description":"Local file operations for session trimming and memory storage. Uses built-in system tools. No external network activity from scripts. Optional AI-powered fact identification uses local OpenClaw installation."}}}

Memory Compression

Prevent context overflow. Never lose important conversations.

The Problem

OpenClaw sessions grow indefinitely. When context exceeds the model's limit:

  • New sessions fail to load
  • Important information is lost
  • Cron tasks inherit huge context and crash

The Solution

Automatic session truncation + hierarchical memory preservation:

  1. Trim sessions before they exceed limits
  2. Identify facts (preferences, decisions, tasks) before trimming
  3. Preserve memory through layered storage (MEMORY.md, daily notes, summaries)

🚀 Quick Start

Step 1: Check Configuration

cat ~/.openclaw/workspace/.context-compression-config.json 2>/dev/null

Step 2: Configure (Interactive)

When this spurge loads, it guides you through:

Question Options Recommended
Context preservation 20k/40k/60k chars 40k
Truncation frequency 10min/30min/1h 10min
Skip active sessions Yes/No Yes
Daily summaries Yes/No No

Step 3: Verify

ls -la ~/.openclaw/workspace/.context-compression-config.json
ls -la ~/.openclaw/workspace/spurges/context-compression/scripts/truncate-sessions-safe.sh

🏗️ Architecture

┌─────────────────────────────────────────────────────────────┐
│                    Context Budget: ~80k chars              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  L4: MEMORY.md (~5k)      ← User preferences, key facts    │
│  L3: Daily summaries (~10k) ← Compressed older sessions    │
│  L2: Recent sessions (~25k) ← Last N session files         │
│  L1: Current session (~40k) ← Active conversation          │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Key principle: L4 > L3 > L2 in priority. Always preserve MEMORY.md.


🔧 How It Works

Session Truncation

  • Runs in background (independent of agent)
  • Trims to last N chars per session
  • Skips active sessions (.lock files)
  • Preserves JSONL line integrity

Fact Identification

  • Detects keywords: 重要/决定/TODO/偏好, important/decision/must
  • Preserves to MEMORY.md before truncation
  • Categories: [偏好], [决策], [任务], [时间], [关系], [重要]

Preference Lifecycle

  • Short-term (1-7 days): Tag with @YYYY-MM-DD
  • Mid-term (1-4 weeks): Auto-expire via daily check
  • Long-term: Permanent in MEMORY.md

📜 Scripts

Script Purpose
truncate-sessions-safe.sh Trim session files safely
Fact identification (enhanced) AI-powered
check-preferences-expiry.sh Remove expired preferences
check-context-health.sh Report context status

⚙️ Configuration File

~/.openclaw/workspace/.context-compression-config.json:

{
  "version": "2.3",
  "maxChars": 40000,
  "frequencyMinutes": 10,
  "skipActive": true,
  "enableSummaries": false,
  "strategy": "priority-first",
  "priorityKeywords": [
    "重要", "决定", "记住", "TODO", "偏好",
    "important", "remember", "must", "deadline", "decision"
  ]
}

✅ Verification Checklist

  • Config file exists
  • Scripts are executable
  • MEMORY.md exists and is current
  • Truncation log shows recent runs: tail ~/.openclaw/logs/truncation.log

🔍 Troubleshooting

Problem Solution
Context still exceeded Reduce maxChars, check truncation log
Memory not persisting Verify real-time writing in AGENTS.md
Summaries not generated Check daily notes exist in memory/

📚 Related