AGENT SKILL

context-optimizer

暂无简介

License 许可
MIT
最近更新
2026-04-05
Stars
★ 7
Forks
1

02 资源文件 2

03 SKILL.md 正文

Context Pruner / Context Optimizer

Advanced context management for DeepSeek's 64k token limit

Overview

A skill module for Clawdbot that provides intelligent pruning, compression, and token optimization to prevent context overflow while preserving important information.

Primary Components

Core Features

  • Multiple compaction strategies: semantic, temporal, extractive, adaptive
  • Query-aware relevance scoring
  • Hierarchical memory with archive retrieval
  • Real-time context health monitoring
  • Chat event logging

Architecture

The tool implements a two-tier memory system:

Tier Capacity Speed Behavior
Current Context (RAM) 64k tokens Fast Auto-compacted
Archive (Storage) 100MB Slower Searchable

Pruning Strategies

1. Semantic Pruning

Removes semantically similar/duplicate messages using embeddings.

2. Temporal Pruning

Removes older messages while preserving recent conversation.

3. Extractive Pruning

Summarizes message groups to reduce token count.

4. Adaptive Pruning

Automatically selects strategy based on context usage level.

Configuration

context_optimizer:
  context_limit: 64000
  auto_prune: true
  thresholds:
    warning: 0.70      # 70% - show warning
    prune: 0.80        # 80% - trigger pruning
    emergency: 0.95    # 95% - aggressive pruning
  relevance_decay: 0.05
  batch_size: 5
  max_compaction_ratio: 0.50
  archive_search_limit: 10

Health Status Levels

Status Usage Action
Healthy < 70% Normal operation
Warning 70-80% Alert user
Prune 80-95% Auto-compact
Emergency > 95% Aggressive pruning

Installation

npm install context-optimizer
# Or via ClawHub
clawdhub install context-optimizer

Dependencies

  • tiktoken
  • @xenova/transformers

Usage

const { ContextOptimizer } = require('context-optimizer');

const optimizer = new ContextOptimizer({
  contextLimit: 64000,
  strategy: 'adaptive'
});

// Check health
const health = optimizer.getHealth();

// Prune if needed
if (health.status === 'prune') {
  const pruned = await optimizer.prune(messages);
}

CLI Usage

# Check status
context-optimizer status

# Test pruning
context-optimizer test --file conversation.json

# Process file
context-optimizer process --input chat.json --output optimized.json

Chat Logging Format

? Context optimized: Compacted 15 messages → 8

License

MIT

04 同仓库更多 Skills