网淘吧来吧,欢迎您!

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%以上时
  • 包含大量对话历史的长会话
  • 在会话开始变慢或失去连贯性之前
  • 为保持会话快速、专注而主动执行时

工作原理

  1. AI摘要生成:向智能体发送提示,要求其总结自身上下文
  2. 备份:将原始JSONL会话文件保存至memory/compressed/目录
  3. 重置:删除JSONL文件(官方重置方法)
  4. 注入:将AI生成的摘要作为新会话的首条消息发送
  5. 结果:相同会话密钥,全新会话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.mdAI生成的会话摘要
{timestamp}.session-backup.jsonl原始会话的完整备份(可在需要时恢复)
{timestamp}.transcript.md原始转录提取(旧版)
{timestamp}.summary.md基于Grep的摘要(旧版)

要求

  • openclaw- 网关必须正在运行
  • jq- JSON解析 (brew install jq)
  • 网关访问- 脚本使用openclaw agentopenclaw sessions

技术细节

会话重置方法

脚本使用JSONL删除来重置会话(官方方法):

  1. 备份JSONL至memory/compressed/
  2. 删除~/.openclaw/agents/{agent}/sessions/{sessionId}.jsonl
  3. 通过以下方式发送压缩的上下文:openclaw agent --to main
  4. 新会话会自动创建,并以摘要作为第一条消息

为何不使用 /reset?

/reset斜杠命令仅在聊天界面中有效。当通过openclaw agent --session-id发送时,它被视为一条常规消息,代理会尝试将其解释为一项任务。

AI 摘要生成提示

脚本要求代理提供:

  1. 完成了什么(关键任务)
  2. 做出的关键决策(及其理由)
  3. 当前状态(我们停在了哪里)
  4. 待处理任务(仍需完成的事项)
  5. 重要上下文(需牢记的关键信息)

故障排除

摘要文本为空

如果 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"

最佳实践

  1. 先备份: 脚本会自动备份,但您也可以在测试前手动备份
  2. 先在非关键会话上测试: 在主会话之前,先在Slack频道或cron会话上尝试
  3. 检查摘要: 先运行摘要而不使用--replace来验证摘要质量
  4. 监控令牌数量: 使用状态来验证压缩是否生效

另请参阅

  • openclaw sessions --help
  • openclaw agent --help
免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第326298名访客 今日有221篇新文章/评论