核心用法
context-compression 是一套 OpenClaw 生态的上下文管理技能,通过定时任务自动压缩过长的会话文件,同时提取关键信息持久化到本地记忆库。核心工作流包括:
1. 会话截断:truncate-sessions-safe.sh 按配置的字数限制(默认 40,000 字符)裁剪 .jsonl 会话文件,采用 priority-first 策略优先保留含关键词的行
2. 事实提取:双轨策略——关键词模式(identify-facts.sh)完全本地运行;AI 辅助模式(identify-facts-enhanced.sh)调用本地 openclaw CLI 进行语义分析,默认关闭
3. 偏好管理:check-preferences-expiry.sh 按 @YYYY-MM-DD 标签清理过期偏好,支持短期/中期/长期三级生命周期
4. 会话钩子:session-start-hook.sh 与 session-end-hook.sh 实现对话启停时的上下文加载与保存
显著优点
- 数据安全优先:截断前自动创建
.pre-trim备份,操作原子化;活动会话通过.lock文件保护,零误删风险 - 零外部依赖:除可选 AI 模式外,核心脚本仅使用标准 Unix 工具(bash/jq/sed/grep 等),无网络调用
- 精细化控制:用户完全掌控 crontab 调度与配置参数,无后台守护进程
- 本地化设计:所有数据滞留
~/.openclaw/目录内,不触碰系统文件或其他用户数据
潜在局限
- AI 模式的隐私权衡:启用
useAiIdentification后,会话内容可能经openclawCLI 流向远程 LLM,需用户主动评估 - 关键词策略的天花板:依赖预设词表(中/英双语),可能遗漏语义重要但无关键词的上下文
- 无可视化界面:纯 CLI 工具链,状态查看依赖
check-context-health.sh等脚本输出 - cron 的静默风险:无人值守执行时,异常仅通过退出码体现,缺乏主动告警机制
适合人群
- 长期使用 OpenClaw 进行多轮深度对话、频繁遭遇上下文长度限制的用户
- 对数据驻留有合规要求、偏好本地化工具链的隐私敏感型用户
- 熟悉 Linux 环境、能自主维护 crontab 的技术用户
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 配置误操作 | `maxChars` 设置过小导致过度截断 | 默认 40,000 字符较保守,首次使用建议手动测试 |
| AI 数据外泄 | `useAiIdentification: true` 可能暴露会话内容 | 保持默认关闭,启用前审查 OpenClaw 网络配置 |
| 备份堆积 | `.pre-trim` 备份在异常中断后残留 | 定期检查 `~/.openclaw/agents/main/sessions/` 目录 |
| 权限越界 | 错误配置 `permissions` 可能扩大文件访问范围 | 严格遵循默认权限模板,不手动放宽路径通配 |
---
来源说明:由 OpenClaw 社区贡献者 lifei68801 维护,MIT-0 许可证,无商业背书。安全认证报告为系统占位文本,未含实际扫描结果。