Smart Context Manager技能使用说明
2026-03-28
新闻来源:网淘吧
围观:17
电脑广告
手机广告
上下文管理器技能
面向OpenClaw会话的AI驱动上下文管理。利用智能体自身生成智能摘要,随后通过压缩上下文重置会话。
快速开始
# List all sessions with usage stats
~/openclaw/skills/context-manager/compress.sh list
# Check status of a specific session
~/openclaw/skills/context-manager/compress.sh status agent:main:main
# Generate AI summary (read-only, safe)
~/openclaw/skills/context-manager/compress.sh summarize agent:main:main
# Compress session: generate summary, reset, inject (DESTRUCTIVE)
~/openclaw/skills/context-manager/compress.sh summarize agent:main:main --replace
使用时机
- 上下文使用率接近70-80%以上时
- 包含大量对话历史的长会话
- 在会话开始变慢或失去连贯性之前
- 为保持会话快速、专注而主动执行时
工作原理
- AI摘要生成:向智能体发送提示,要求其总结自身上下文
- 备份:将原始JSONL会话文件保存至
memory/compressed/目录 - 重置:删除JSONL文件(官方重置方法)
- 注入:将AI生成的摘要作为新会话的首条消息发送
- 结果:相同会话密钥,全新会话ID,压缩后的上下文
关键洞察:智能体对其自身上下文拥有完全可见性,因此能生成最佳可能的摘要。
命令
会话命令
| 命令 | 描述 |
|---|---|
list | 列出所有会话及其令牌使用情况 |
status [KEY] | 显示会话的详细状态 |
summarize [KEY] | 生成AI摘要(只读模式) |
summarize [KEY] --replace | 生成摘要并使用压缩后的上下文重置会话 |
compress [KEY] | 基于grep的传统提取方法(不推荐) |
check [KEY] | 检查会话是否超过阈值 |
check-all | 一次性检查所有会话 |
配置命令
| 命令 | 描述 |
|---|---|
set-threshold N | 设置压缩阈值 (50-99%,默认值: 80) |
set-depth LEVEL | 设置深度: 简洁/均衡/全面 |
set-quiet-hours HH | 设置静默时段 (例如:"23:00-07:00") |
help | 显示帮助和使用示例 |
示例
列出所有会话
$ ~/openclaw/skills/context-manager/compress.sh list
📋 Available Sessions (4 total)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# SESSION KEY KIND TOKENS USAGE
1 agent:main:main direct 70188 70%
2 agent:main:slack:channel:c0aaruq2en9 group 20854 20%
3 agent:main:cron:0d02af4b-... direct 18718 18%
检查会话状态
$ ~/openclaw/skills/context-manager/compress.sh status agent:main:main
📊 Context Manager Status
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Session Key: agent:main:main
Session ID: fc192a2d-091c-48c7-9fad-12bf34687454
Kind: direct
Model: gemini-3-flash
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Threshold: 80%
Tokens: 70188 / 100000
Usage: 70%
生成AI摘要 (安全,只读)
$ ~/openclaw/skills/context-manager/compress.sh summarize agent:main:main
🧠 Requesting AI summary for session: agent:main:main
Session ID: fc192a2d-091c-48c7-9fad-12bf34687454
✅ AI Summary generated!
Saved to: memory/compressed/20260127-123146.ai-summary.md
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
### Session Summary: January 27, 2026
#### 1. What was accomplished
- System audit completed
- Essay generation with sub-agents
...
完全压缩 (摘要 + 重置 + 注入)
$ ~/openclaw/skills/context-manager/compress.sh summarize agent:main:main --replace
🧠 Requesting AI summary for session: agent:main:main
Session ID: fc192a2d-091c-48c7-9fad-12bf34687454
Mode: REPLACE (will reset session after summary)
✅ AI Summary generated!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[AI-generated summary displayed]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 Resetting session and injecting compressed context...
Backing up session file...
Backup saved: memory/compressed/20260127-123146.session-backup.jsonl
Deleting session JSONL to reset...
Injecting compressed context into fresh session...
✅ Session compressed successfully!
Old session ID: fc192a2d-091c-48c7-9fad-12bf34687454
New session ID: a1b2c3d4-...
Session is ready to continue with compressed context
结果: 70k 词元 → 16k 词元 (压缩率 77%)
输出文件
当压缩发生时,以下文件会创建在memory/compressed/目录下:
| 文件 | 描述 |
|---|---|
{timestamp}.ai-summary.md | AI生成的会话摘要 |
{timestamp}.session-backup.jsonl | 原始会话的完整备份(可在需要时恢复) |
{timestamp}.transcript.md | 原始转录提取(旧版) |
{timestamp}.summary.md | 基于Grep的摘要(旧版) |
要求
- openclaw- 网关必须正在运行
- jq- JSON解析 (
brew install jq) - 网关访问- 脚本使用
openclaw agent和openclaw sessions
技术细节
会话重置方法
脚本使用JSONL删除来重置会话(官方方法):
- 备份JSONL至
memory/compressed/ - 删除
~/.openclaw/agents/{agent}/sessions/{sessionId}.jsonl - 通过以下方式发送压缩的上下文:
openclaw agent --to main - 新会话会自动创建,并以摘要作为第一条消息
为何不使用 /reset?
该/reset斜杠命令仅在聊天界面中有效。当通过openclaw agent --session-id发送时,它被视为一条常规消息,代理会尝试将其解释为一项任务。
AI 摘要生成提示
脚本要求代理提供:
- 完成了什么(关键任务)
- 做出的关键决策(及其理由)
- 当前状态(我们停在了哪里)
- 待处理任务(仍需完成的事项)
- 重要上下文(需牢记的关键信息)
故障排除
摘要文本为空
如果 AI 摘要提取失败,请检查 stderr 重定向:
# The script uses 2>/dev/null to avoid Node deprecation warnings breaking JSON
openclaw agent --session-id $ID -m "..." --json 2>/dev/null
会话未重置
验证JSONL文件路径
ls ~/.openclaw/agents/main/sessions/
从备份恢复
如果出现问题
cp memory/compressed/{timestamp}.session-backup.jsonl \
~/.openclaw/agents/main/sessions/{sessionId}.jsonl
检查日志
使用openclaw日志进行故障排除
openclaw logs --limit 50 --json | grep -i "error\|fail"
最佳实践
- 先备份: 脚本会自动备份,但您也可以在测试前手动备份
- 先在非关键会话上测试: 在主会话之前,先在Slack频道或cron会话上尝试
- 检查摘要: 先运行
摘要而不使用--replace来验证摘要质量 - 监控令牌数量: 使用
状态来验证压缩是否生效
另请参阅
openclaw sessions --helpopenclaw agent --help
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Dropbox技能使用说明
下一篇:Onchain CLI技能使用说明


微信扫一扫,打赏作者吧~