核心用法
Context Compression 是一套面向 OpenClaw 智能体工作流的上下文管理解决方案,通过自动化脚本实现会话文件的定期截断与重要信息持久化。其核心架构包含三个协同组件:
1. 会话截断引擎(truncate-sessions-safe.sh):以 10 分钟为周期(可配置)扫描 ~/.openclaw/agents/*/sessions/*.jsonl 会话文件,将超过阈值(默认 40000 字符)的文件进行尾部裁剪。采用 JSONL 行级完整性保护,绝不截断半行;通过 .lock 文件机制识别活跃会话,避免误删正在使用的上下文。
2. 事实识别层:提供双模态关键信息提取
识别结果按日期归档至 memory/YYYY-MM-DD.md
- 关键词模式(
identify-facts.sh):基于预设关键词表(重要/决定/TODO/偏好/deadline 等)进行正则匹配 - AI 增强模式(
identify-facts-enhanced.sh):调用本地openclaw agent进行语义理解,提取隐含关键信息
3. 偏好生命周期管理(check-preferences-expiry.sh):解析 MEMORY.md 中带 @YYYY-MM-DD 时间戳的偏好条目,按短期(1-7 天)、中期(1-4 周)、长期三级策略自动清理过期内容。
显著优点
- 零网络攻击面:纯本地文件操作,无外部依赖、无遥测、无凭据管理,物理隔离网络风险
- 数据安全第一性:每次截断前强制创建
.pre-trim备份,失败可回滚;行级原子操作保证 JSONL 结构完整 - 智能优先级策略:
priority-first模式在裁剪前优先保留含关键词的上下文行,相比简单 FIFO 截断显著降低信息损失 - Unix 原生工具链:仅依赖 bash/jq/sed/grep 等标准工具,无额外运行时,兼容 POSIX 系统
- 用户完全主权:crontab 由用户自主配置,无守护进程,配置交互式生成,随时可卸载
潜在局限
- 关键词依赖陷阱:基础模式对关键词列表敏感,重要信息若未命中关键词仍可能被截断;AI 增强模式虽可缓解,但依赖本地 openclaw CLI 可用性
- 语义理解边界:AI 模式受限于本地模型能力,复杂推理链中的隐含依赖关系可能识别不全
- 存储膨胀风险:每日记忆文件持续累积,长期运行需配合偏好清理机制,否则磁盘占用线性增长
- 单用户架构:配置与数据路径硬编码为
~/.openclaw/,无多用户隔离设计 - 无版本回溯:
.pre-trim备份在成功写入后即删除,不支持历史版本对比或任意时点恢复
适合人群
- 高频使用长会话上下文的 OpenClaw 开发者与高级用户
- 对数据主权敏感、拒绝云端记忆方案的企业场景
- 需要在离线/隔离网络环境中维持 AI 工作流连续性的用户
- 具备基础 Unix 运维能力,能自主配置 crontab 的技术人员
常规风险
| 风险类别 | 描述 | 缓解措施 |
|---------|------|---------|
| 配置误操作 | maxChars 设置过小导致过度截断 | 默认 40000 字符保守值,交互式配置向导 |
| 并发冲突 | 脚本与活跃会话写入竞态 | `.lock` 文件检测 + 活跃会话跳过机制 |
| 备份失败 | 磁盘空间不足导致 `.pre-trim` 创建失败 | 前置磁盘空间检查(脚本隐含) |
| 关键词遗漏 | 关键信息未含预设关键词 | 建议开启 AI 增强模式 + 定期人工审计 MEMORY.md |
| 权限提升 | 若 openclaw 目录被篡改,脚本可能读写恶意文件 | 严格限定 `~/.openclaw/` 作用域,MIT-0 开源可审计 |