核心功能
Clever Compact 是面向 OpenClaw 重度用户的原生内存连续性插件,专门修复三种典型"失忆"场景:
/new新建会话后代理不认识用户- compaction 触发后丢失进行中任务上下文
- 跨会话记忆漂移导致重复决策失误
实现机制
读取侧(自动):每次会话启动时(含 /new 和 compaction 后),插件检查 72 小时内生成的状态文件,在首条消息注入系统上下文,后续对话无额外 token 开销。
写入侧(显式触发):OpenClaw 暂未开放 pre-compaction 生命周期钩子,需通过三种方式主动触发:
1. 指令触发:对代理说 "Run a Clever Compact flush"
2. Cron 定时:在 compaction 前 5 分钟自动执行
3. Heartbeat 阈值:上下文占用 >75% 时写入
暴露 api.fn("clever-compact:write") 供工具链程序化调用。
显著优点
- 零持续开销:状态注入仅限会话首条,v2.2 修复了 v2.0/v2.1 的每轮注入缺陷
- 本地隐私:状态文件为本地纯文本 Markdown,不上传云端
- 即插即用:4 步安装,无需修改系统级配置
- 向后兼容:v1/v2 早期版本状态文件可直接迁移
局限性与注意事项
- 写入非全自动:依赖用户设置 cron 或 heartbeat,需一定技术动手能力
- 敏感内容风险:状态文件为明文,可能捕获 API 密钥、密码等,需定期审计
memory/compact-state-*.md - 72 小时过期:超期状态被忽略,长期项目需配合其他记忆方案
- 版本依赖:需 OpenClaw ≥ 2026.3.7,推荐 2026.3.12+ 避免双压缩循环 bug
适合人群
- 每日与 OpenClaw 进行多轮、长周期复杂任务的专业用户
- 厌烦重复交代背景信息的"上下文疲劳"受害者
- 需要 compaction 后任务不中断的自动化工作流搭建者
常规风险
- 凭证泄露:明文存储机制天然不适合敏感信息,务必排除 secrets 于状态外
- 自动化依赖:cron/heartbeat 配置失误可能导致关键状态未保存
- 插件权限:
plugins.allow白名单机制本身安全,但需确认来源为官方 ClaWHub
配置建议
推荐将 reserveTokens 从默认 50000 调至 15000,可将 compaction 触发点从 ~150k 推至 ~185k,重度使用场景下减少 3-4 倍压缩频率。