Context Compression

🗜️ 智能截断会话,自动留存关键记忆

本地会话智能截断与记忆持久化工具,通过关键词优先策略保留关键信息,防止上下文溢出,零网络依赖。

收藏
8.9k
安装
2.8k
版本
3.11.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

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 开源可审计 |

Context Compression 内容

scripts文件夹
手动下载zip · 36.4 kB
auto-identify-on-session.shtext/x-shellscript
请选择文件