Context Manager - 无感会话切换版
智能上下文管理技能,自动监控上下文使用率,达到阈值时自动保存记忆并创建新会话,用户完全无感知。
🎯 核心特性
⭐ 三大优化策略(v7.0新功能)⭐⭐⭐⭐⭐
1. 自适应监控频率 ⭐
- 高活跃:2分钟(>5条消息/10分钟)
- 中活跃:5分钟(1-5条消息)
- 低活跃:10分钟(0条消息)
- Token节省:78%+(减少无效检查)
2. Token预算监控 💰
- 每小时5000 tokens预算
- 80%预警,100%超限
- 工具调用优化建议
- 自动生成优化报告
3. 意图指纹识别 🎯
- 快速意图分类(6大类别)
- Warm层按需加载
- 缓存机制(1小时有效)
- 智能决策:是否加载历史
⭐ 三级预警系统(v3.0)⭐⭐⭐⭐⭐
- ✅ 轻度预警(70%/80%/90%):根据活跃度动态调整阈值
- LOW活跃:90%触发
- MEDIUM活跃:80%触发
- HIGH活跃:70%触发
- ✅ 重量预警(80%):建议优化,飞书通知
- ✅ 严重预警(90%):立即行动,QQ + 飞书通知
- ✅ 动态阈值:自动适应会话活跃度
⭐ 智能清理策略(v3.0新功能)⭐⭐⭐⭐⭐
- ✅ 轻度清理:临时文件清理(<5秒)
- ✅ 中度清理:活动历史压缩(<10秒)
- ✅ 重度清理:完全重置(<15秒)
- ✅ 自动触发:根据预警级别自动清理
- ✅ 压缩算法:
- 对话历史压缩(保留关键信息)
- 工具调用历史压缩(只保留最近10次)
- 重复内容去重(标记重复段落)
⭐ 预测性监控(v3.0新功能)⭐⭐⭐⭐
- ✅ 活动趋势分析:INCREASING/STABLE/DECREASING
- ✅ 预测超限时间:1-2小时提前预警
- ✅ 会话时长监控:2小时预警,4小时严重
- ✅ 工具调用监控:30次/小时预警,50次/小时严重
⭐ 启动优化(v2.1新功能)⭐⭐⭐⭐⭐
- ✅ 分层读取:核心层<5KB + 摘要层<10KB + 详情QMD检索
- ✅ 启动占用:从40%+降低到<10%(节省75%空间)
- ✅ MEMORY-LITE:精简版记忆(2.5KB),启动专用
- ✅ 启动检测:session_status自动检查,>30%预警
⭐ 无感自动切换(v2.0功能)
- ✅ 自动触发:上下文达到85%自动切换
- ✅ 零操作:用户无需任何干预
- ✅ 无缝体验:新会话自动加载记忆
- ✅ 自然接续:对话连续,就像没切换
📊 智能监控(v2.2新功能)⭐⭐⭐⭐⭐
- ✅ 真实API监控:调用OpenClaw API获取会话信息
- ✅ 准确计算:totalTokens / contextTokens = 真实使用率
- ✅ stop_reason监控:检测"model_context_window_exceeded"错误
- ✅ 双重预警机制:
- 使用率监控:85%阈值(对话中)/ 30%阈值(启动后)
- 错误监控:检测到"model_context_window_exceeded"立即告警
- ✅ 每10分钟自动检查(可配置为5分钟)
- ✅ 1小时冷却期(避免重复通知)
- ✅ 飞书通知提醒用户
- ✅ 详细日志记录
💾 记忆传递
- ✅ 自动更新MEMORY.md(完整版)
- ✅ 自动更新MEMORY-LITE.md(精简版)
- ✅ 自动更新daily log
- ✅ 保存当前任务状态
🚀 使用方式
超简单 - 零配置
你只需要正常聊天,其他的一切自动完成:
- 继续对话(监控在后台运行)
- 达到85%阈值(自动保存记忆)
- 创建新会话(agentTurn机制)
- 新会话加载记忆(继续工作)
用户视角:对话从未中断,就像什么都没发生
📋 工作原理
双重监控机制(v2.2.1新增)⭐⭐⭐⭐⭐
监控1:上下文使用率
每10分钟检查
↓
调用OpenClaw API
↓
计算使用率 = totalTokens / contextTokens
↓
使用率 >= 85%? → 预警通知
监控2:stop_reason错误 ⭐
AI每次回复后检测
↓
检查stop_reason字段
↓
发现"model_context_window_exceeded"?
↓
立即告警 + 自动切换
为什么需要双重监控?
- 使用率监控:提前预防(85%阈值)
- stop_reason监控:兜底保障(实际超限)
- 场景:工具调用可能占用大量隐藏上下文
- 例子:上下文显示15%,但实际已超限
stop_reason错误监控策略:
{
"monitoring": {
"target": "stop_reason",
"error": "model_context_window_exceeded",
"action": "immediate_alert",
"auto_switch": true,
"notification": {
"channel": "feishu",
"priority": "high",
"message": "🚨 紧急:模型上下文超限!\n\n错误:model_context_window_exceeded\n原因:隐藏上下文(工具调用)导致实际超限\n\n💡 立即自动切换会话..."
}
}
}
启动流程(v2.1新增)
新会话启动
↓
读取核心层(<5KB)
├── SOUL.md(身份)
└── USER.md(用户)
↓
读取摘要层(<10KB)
└── MEMORY-LITE.md(精简记忆)
↓
启动检测(session_status)
↓
Context <10%?✅ 优秀
Context 10-20%?✅ 良好
Context 20-30%?⚠️ 注意
Context >30%?🚨 需要优化
↓
需要详情时 → QMD精准检索
会话管理流程
开始对话
↓
后台监控(每10分钟)
↓
上下文达到85%
↓
自动提取会话信息
↓
保存到MEMORY.md
↓
更新MEMORY-LITE.md
↓
更新daily log
↓
触发agentTurn
↓
创建新会话
↓
新会话加载记忆(分层读取)
↓
自然继续工作
🔄 无感切换设计
agentTurn消息
{
"kind": "agentTurn",
"message": "【无缝接续】请从MEMORY.md加载完整记忆,自然继续对话。不要提及新会话、不要解释切换,就像什么都没发生。继续之前的任务。",
"deliver": true,
"channel": "qqbot",
"to": "USER_ID"
}
新会话行为
- ✅ 自动读取MEMORY.md
- ✅ 加载当前任务进度
- ✅ 自然接续对话
- ❌ 不说"新会话"
- ❌ 不说"已切换"
- ❌ 不说"请继续"
🛠️ 安装配置
安装
# 从ClawHub安装
clawhub install miliger-context-manager
# 或从本地安装
cd ~/.openclaw/skills
tar -xzf context-manager-v2.1.0.tar.gz
cd context-manager
bash install.sh
配置定时任务
# 添加到crontab(每5分钟检查 - v3.0新频率)
*/5 * * * * ~/.openclaw/skills/miliger-context-manager/scripts/context-monitor-v6.sh
自定义阈值
# 编辑脚本,修改阈值(v3.0动态阈值)
# 三级预警阈值
LOW_ACTIVITY_THRESHOLD=90 # 低活跃度:90%
MEDIUM_ACTIVITY_THRESHOLD=80 # 中活跃度:80%
HIGH_ACTIVITY_THRESHOLD=70 # 高活跃度:70%
# 工具调用阈值
LIGHT_TOOL_THRESHOLD=10 # 轻量级:5分钟10次
HEAVY_TOOL_THRESHOLD=30 # 重量级:1小时30次
CRITICAL_TOOL_THRESHOLD=50 # 严重级:1小时50次
# 会话时长阈值(小时)
LONG_SESSION_WARNING=2 # 长会话预警:2小时
LONG_SESSION_CRITICAL=4 # 长会话严重:4小时
手动压缩
# 轻度压缩(清理临时文件)
~/.openclaw/skills/miliger-context-manager/scripts/context-compressor.sh light
# 中度压缩(压缩历史 + 去重)
~/.openclaw/skills/miliger-context-manager/scripts/context-compressor.sh medium
# 重度压缩(生成精简版 + 全面压缩)
~/.openclaw/skills/miliger-context-manager/scripts/context-compressor.sh heavy
创建MEMORY-LITE.md
# 手动创建精简版记忆(<10KB)
# 从MEMORY.md提取核心内容:
# - 用户画像(<1KB)
# - 当前状态(<1KB)
# - 关键决策(<3KB)
# - 待办事项(<1KB)
# - 核心洞察(<2KB)
📊 性能指标
| 指标 | 目标 | 实际 | |------|------|------| | 检测延迟 | < 10分钟 | 10分钟 ✅ | | 记忆保存 | < 5秒 | < 5秒 ✅ | | 切换时间 | < 1秒 | 即时 ✅ | | 用户感知 | 零感知 | 完全无感 ✅ |
🎯 使用场景
场景1:长时间对话
- 用户:和我聊聊项目管理
- AI:好的,项目管理有...
- [自动切换]
- 用户:继续深入
- AI:刚才说到项目管理...(自然接续)
场景2:多任务处理
- 用户:帮我做旅行客测试
- AI:好的,开始测试...
- [自动切换]
- AI:继续旅行客测试...(任务未中断)
场景3:学习讨论
- 用户:学习系统化思维
- AI:系统化思维是...
- [自动切换]
- AI:继续说系统化思维...(学习继续)
💡 核心优势
启动优化效果(v2.1)
| 指标 | 优化前 | 优化后 | 提升 | |------|--------|--------|------| | 启动占用 | 40%+ | <10% | 75%+ | | 剩余空间 | 60% | 90% | 50% | | Token浪费 | 高 | 低 | 节省90% | | 数据完整性 | 完整 | 完整 | 不丢失 |
vs 手动切换
| 特性 | 手动 | 自动 | |------|------|------| | 用户操作 | 需要/new | 零操作 | | 时机把握 | 可能忘记 | 自动检测 | | 记忆连续 | 需手动保存 | 自动保存 | | 体验连续性 | 有中断感 | 完全无感 |
vs 其他方案
- ✅ 比"提醒用户"更进一步:直接自动切换
- ✅ 比"外部监控"更智能:内置AI检测
- ✅ 比"手动操作"更便捷:完全自动化
- ✅ 比"全量读取"更高效:分层读取策略 ⭐
🔧 技术实现
双重保险机制
- 外部监控:定时任务每10分钟检查
- 内部检测:AI每次回复前检查(未来)
记忆传递系统
当前会话
↓
提取关键信息
↓
├── MEMORY.md(长期记忆)
├── daily log(工作日志)
└── HEARTBEAT.md(任务进度)
↓
新会话加载
↓
继续工作
agentTurn机制
- 使用cron tool的agentTurn
- 创建isolated会话
- 自动传递消息
- 新会话自动启动
📝 版本历史
v4.0.0 (2026-03-07 21:55) 🌟🌟🌟🌟🌟
- ✅ Session-Memory 联动:与 session-memory-enhanced v3.0.0 深度整合
- ✅ 自动记忆固化:
- 轻度预警(70%):预防性固化
- 重量预警(80%):建议性固化
- 严重预警(90%):强制性固化
- 预测分析:活动趋势增加时自动固化
- 长会话:2/4小时自动固化
- 工具过频:30/50次自动固化
- ✅ 双重优化:Token节省90%+(不可变分片)+ 上下文优化
- ✅ 无缝体验:预警 → 固化 → 清理 → 切换(全自动)
- ✅ 通知优化:所有通知都包含"已自动触发记忆固化"状态
- ✅ 预防性策略:在超限前主动固化,避免数据丢失
v3.0.0 (2026-03-07 14:35) ⭐⭐⭐⭐⭐
- ✅ 全功能整合:6大优化全部实现
- ✅ 三级预警系统:70%/80%/90%分级预警
- ✅ 智能清理策略:light/medium/heavy三级清理
- ✅ 预测性监控:计算对话增长速度,提前1小时预警
- ✅ 动态阈值:根据活跃度自动调整(LOW/MEDIUM/HIGH)
- ✅ 压缩算法:对话历史压缩 + 工具历史压缩 + 去重
- ✅ 会话时长监控:2小时预警,4小时严重
- ✅ 冷却期优化:30分钟(更快速响应)
- ✅ 监控频率提升:10分钟 → 5分钟
- 📊 参考来源:Moltbook社区最佳实践 + Hazel_OC的token优化经验
- 🎯 预期效果:
- 预警准确率:95%+
- 误报率:<5%
- Token节省:90%+
- 上下文利用率:提升50%
v2.2.2 (2026-03-06 21:15) ⭐⭐⭐⭐⭐
- ✅ 修复监控盲区:ai-responses.log不存在问题
- ✅ 新日志源:直接读取OpenClaw实时日志(/tmp/openclaw/*.log)
- ✅ 双重通知:飞书(紧急)+ QQ(用户友好)
- ✅ 冷却机制优化:1小时冷却期,避免重复通知
- ✅ 监控脚本v2:scripts/stop-reason-monitor-v2.sh
- ✅ 测试通过:成功检测到错误并通知
v2.2.1 (2026-03-06 10:39) ⭐⭐⭐⭐⭐
- ✅ stop_reason错误监控:检测"model_context_window_exceeded"
- ✅ 双重监控机制:使用率监控 + 错误监控
- ✅ 紧急告警:发现错误立即通知(不等使用率阈值)
- ✅ 隐藏上下文识别:工具调用可能占用大量隐藏上下文
- ✅ 监控脚本:scripts/stop-reason-monitor.sh
- ✅ 文档更新:MEMORY.md补充错误监控策略
v2.2.0 (2026-03-05 13:33) ⭐⭐⭐⭐⭐
- ✅ 真实API监控:调用OpenClaw API获取会话信息
- ✅ 准确计算:totalTokens / contextTokens = 真实使用率
- ✅ 修复假监控:从"数文件"改为"调API"(解决超限问题)
- ✅ 冷却机制:1小时冷却期(避免重复通知)
- ✅ 详细日志:记录会话、模型、tokens信息
- ✅ 监控脚本:scripts/context-monitor.sh
v2.1.0 (2026-03-05 09:11) ⭐⭐⭐⭐⭐
- ✅ 启动优化:分层读取策略
- ✅ MEMORY-LITE:精简版记忆(2.5KB)
- ✅ 启动占用:40%+ → <10%(节省75%)
- ✅ 启动检测:session_status自动检查
- ✅ 双阈值:启动30% + 对话85%
v2.0.0 (2026-03-04) ⭐
- ✅ 无感自动切换:agentTurn创建新会话
- ✅ 零用户干预:完全自动化
- ✅ 无缝体验:对话连续
- ✅ 智能保存:自动提取关键信息
- ✅ 阈值降低:从95%到85%
v1.0.0 (2026-03-03)
- ✅ 基础上下文监控
- ✅ 手动提醒功能
- ✅ 记忆传递系统
🚀 未来规划
✅ 已实现(v3.0.0)
- ✅ 三级预警系统(70%/80%/90%)
- ✅ 智能清理策略(light/medium/heavy)
- ✅ 预测性监控(提前1小时预警)
- ✅ 动态阈值(根据活跃度调整)
- ✅ 压缩算法(对话 + 工具 + 去重)
- ✅ 会话时长监控(2/4小时阈值)
短期(本周)
- [ ] 优化压缩算法(AI智能摘要)
- [ ] 完善去重机制(自动化处理)
- [ ] 测试分级预警效果
✅ 已实现(v4.0.0)
- ✅ Session-Memory 联动(自动记忆固化)
- ✅ 预防性固化策略(70%/80%/90%阈值)
- ✅ 通知优化(包含固化状态)
- ✅ 双重 Token 优化(上下文 + 记忆)
中期(本月)
- [ ] 智能任务识别(避免关键任务中断)
- [ ] 用户自定义配置
- [ ] 多会话管理
长期(未来)
- [ ] 机器学习预测最佳切换时机
- [ ] 会话状态追踪
- [ ] 性能优化
📞 技术支持
遇到问题?
- 查看日志:
tail -50 ~/.openclaw/workspace/logs/seamless-switch.log - 检查定时任务:
crontab -l | grep seamless - 验证记忆保存:
cat ~/.openclaw/workspace/MEMORY.md
社区资源:
- GitHub: https://github.com/openclaw/openclaw
- Discord: https://discord.com/invite/clawd
- ClawHub: https://clawhub.com
Context Manager v4.0.0 - Session-Memory联动版 让上下文管理 + 记忆固化完全自动化,双重优化 Token 消耗 版本:4.0.0 发布时间:2026-03-07 21:55
核心突破:
- v2.0:无感自动切换(零用户干预)
- v2.1:启动优化(分层读取,节省75%空间)
- v2.2:真实API监控(解决超限问题)
- v3.0:三重监控 + 主动预防(会话时长 + 工具调用 + 使用率)⭐⭐⭐⭐⭐
- v3.0.2:跨天检测 + 更保守阈值 + 分级预警 ⭐⭐⭐⭐⭐
- v4.0:Session-Memory 联动 + 自动记忆固化(双重优化 Token)🌟🌟🌟🌟🌟
Scan to join WeChat group