🦀 ClawHub
OC Context Optimizer
by @penghang1223
Optimize conversation context by deduplicating, compressing messages, summarizing long chats, and parallelizing tool calls to save tokens and speed execution.
TERMINAL
clawhub install oc-context-optimizer📖 About This Skill
SKILL.md - Context Optimizer
> OpenClaw运行时优化系统 — 系级级安装,所有Agent统一受益
类型
Runtime Optimizer(运行时优化)
工作原理
Agent A ←┐
Agent B ←┼── OpenClaw运行时(统一优化) ← context-optimizer
Agent C ←┘
所有Agent间接受益,但不需要单独配置。
功能
1. 微压缩 (microcompact)
2. 自动压缩 (autocompact)
3. 流式并行执行 (streaming_executor)
4. Token预算管理 (token_budget)
5. 工具延迟加载 (tool_defer)
用法
直接调用(Python)
# 微压缩测试
python3 scripts/microcompact.py --test自动压缩测试
python3 scripts/auto_compactor.py --test流式执行器测试
python3 scripts/streaming_executor.py --testToken预算测试
python3 scripts/token_budget.py --test工具延迟加载测试
python3 scripts/tool_defer.py --test处理消息文件
python3 scripts/microcompact.py messages.json
python3 scripts/auto_compactor.py messages.json
python3 scripts/streaming_executor.py tools.json
python3 scripts/token_budget.py status
python3 scripts/tool_defer.py --search "飞书"
集成到Agent工作流
from scripts.microcompact import MicroCompactor
from scripts.auto_compactor import AutoCompactor
from scripts.streaming_executor import StreamingToolExecutor微压缩
compactor = MicroCompactor()
result = compactor.compact(messages)
print(f"节省 {result.savings_percent:.1f}% token")自动压缩
auto = AutoCompactor(context_window=200_000)
if auto.should_compact(current_tokens):
result = auto.compact(messages)
messages = result.messages流式执行
executor = StreamingToolExecutor(max_concurrent=5)
for tool in tool_calls:
await executor.add_tool(tool)
results = await executor.wait_all()
配置参数
| 参数 | 默认值 | 说明 | |------|--------|------| | similarity_threshold | 0.85 | 消息相似度阈值 | | min_message_length | 100 | 最小合并长度 | | context_window | 200_000 | 上下文窗口大小 | | safety_margin | 0.8 | 压缩触发比例 | | max_concurrent | 5 | 最大并行工具数 | | timeout_seconds | 30.0 | 工具执行超时 |
依赖
许可
MIT License