核心用法
Context Compression 是 OpenClaw 生态的上下文管理技能,通过自动化脚本解决大模型对话中的上下文窗口溢出问题。核心流程包含三个环节:会话截断(truncate-sessions-safe.sh)定期扫描 ~/.openclaw/agents/*/sessions/*.jsonl,将超长的会话文件按配置字符数裁剪;事实识别(identify-facts.sh / identify-facts-enhanced.sh)在截断前提取含关键词(重要、TODO、deadline 等)或经 AI 语义分析判定为重要的内容;偏好管理(check-preferences-expiry.sh)按 @YYYY-MM-DD 标签清理过期偏好。用户通过 configure.sh 交互式配置后,将截断脚本加入 crontab(建议每 10 分钟)即可无人值守运行。
显著优点
- 零数据丢失设计:截断前创建
.pre-trim备份,严格按 JSONL 行边界裁剪,绝不拆分消息;活跃会话通过.lock文件保护,默认跳过 - 智能优先级保留:
priority-first策略先扫描保留含关键词的行,再截断旧内容,关键决策信息不易丢失 - 灵活扩展:支持纯关键词与 AI 辅助两种事实识别模式,后者调用本地
openclawCLI 进行语义理解 - 完全本地化:除可选 AI 模式依赖本地 OpenClaw CLI 外,所有脚本仅操作本地文件,无直接网络请求
- 用户主权:不自动安装 crontab、不驻留后台进程,用户完全控制启停与配置
潜在局限
- 配置门槛:需用户手动编辑 crontab 并确保 PATH 包含必要二进制(node/openclaw),对非技术用户不够友好
- AI 模式依赖:增强型事实识别需本地 OpenClaw 环境,若未配置则回退到关键词模式,语义理解能力受限
- 关键词盲区:若重要信息未命中预设关键词且未启用 AI 模式,存在被截断风险
- 单文件限制:仅按字符数截断单个会话文件,不处理跨会话的冗余信息聚合
- 备份清理:
.pre-trim备份在成功写入后清理,若进程中断可能残留临时文件
适合人群
- 使用 OpenClaw 进行长会话、多轮对话的知识工作者
- 需在本地持久化关键决策、待办事项、用户偏好的场景
- 具备基础 Linux/Unix 操作能力,能配置 crontab 和 JSON 配置的用户
- 注重数据隐私、偏好完全本地处理的团队
常规风险
- 配置误操作:
maxChars设置过小导致过度截断,或priorityKeywords遗漏关键领域术语 - 并发冲突:虽通过
.lock文件保护活跃会话,但若外部强制删除锁文件可能导致截断冲突 - 权限问题:脚本需对
~/.openclaw/目录有读写权限,多用户环境需确保隔离 - 依赖可用性:依赖
bash、jq、sed等系统工具,精简容器环境可能缺失