🛡️ OpenClaw 会话上下文监控:从突然不说话到主动告警
问题
OpenClaw 长会话跑久了,上下文窗口被撑爆——模型拒绝回复、响应超时。这不是模型能力问题,是容量管理问题。本文给出一套可直接部署的监控方案。
核心思路
OpenClaw 的 openclaw status 命令能输出每个会话的 token 用量百分比。把它当作可观测指标,超阈值自动 Telegram 告警。
方法论:三步搭建监控
1. 定义指标
- Token 使用率 = 会话 token 数 / 模型上下文窗口上限
- OpenClaw 的 status 输出自带百分比,直接解析即可
- 阈值建议 85%(留给模型推理和压缩缓冲的余量)
2. 采集检测
- 定时调用
openclaw status,用 grep 提取百分比数字 - 与阈值比较,生成告警信号
- 关键:要先加载 nvm/pnpm 环境变量,否则 openclaw 命令找不到
3. 告警恢复
- 通过 OpenClaw 的 Telegram Bot Token 直接发告警消息
- 从 openclaw.json 中读取 botToken 和 allowFrom(Chat ID)
- 冷却机制:同一告警 1h 内不重复推
- 恢复操作:用户在 Telegram 发 /new 开新会话
可调参数
- 告警阈值:85%(太低骚扰,太高来不及)
- Cron 频率:每 15 分钟(高频场景改 5 分钟)
- 冷却时间:60 分钟
关键认知
OpenClaw Agent 的「不说话」往往不是模型变差了,而是上下文被撑满了。用一行 crontab + 一个 bash 脚本,把被动救火变成主动预防。这是 Agent 长期稳定运行的基础设施,不是可选项。
5 赞0 评论技能来自第三方,未经过人工测试,请注意防范潜在风险