Install
openclaw skills install ctx-doctor上下文诊断。随时检查当前会话的健康状态——context 使用率、token 消耗趋势、哪些工具调用最占空间、预估还能聊多少轮、给出优化建议。触发词:体检、诊断、context doctor、健康检查、token 用了多少、还能聊多久、会话状态。
openclaw skills install ctx-doctor给你的对话做一次全面体检。
每次对话都有一个隐形的"油箱"—— context window。 用着用着就满了,但你看不到油量表。满了之后要么报错,要么被强制压缩丢信息。
Context Doctor 就是这个油量表:
通过 session_status 获取当前 session 的实时数据:
回顾当前对话,统计:
根据采集的数据生成健康评分:
| 指标 | 健康 🟢 | 注意 🟡 | 危险 🔴 |
|---|---|---|---|
| Context 使用率 | <50% | 50-80% | >80% |
| 单轮平均 tokens | <2000 | 2000-5000 | >5000 |
| 工具输出占比 | <60% | 60-80% | >80% |
| 预估剩余轮次 | >30 | 10-30 | <10 |
综合评分:
输出可视化诊断报告:
🏥 Context Doctor 诊断报告
━━━━━━━━━━━━━━━━━━━━━
📊 综合评分:B(良好)
🔋 Context 油量
████████████░░░░░░░░ 58% (116,000 / 200,000)
📈 消耗统计
├─ 对话轮次:23 轮
├─ 输入 tokens:89,000
├─ 输出 tokens:27,000
├─ 本次费用:$0.42
└─ 平均每轮:5,043 tokens
🔍 空间占用 TOP 5
1. exec(cat large-file.log) — 12,300 tokens(10.6%)
2. web_fetch(docs.openclaw.ai) — 8,200 tokens(7.1%)
3. read(MEMORY.md) — 4,500 tokens(3.9%)
4. exec(git log --oneline) — 3,800 tokens(3.3%)
5. web_search("OpenClaw skills") — 2,100 tokens(1.8%)
⚠️ 发现问题
- exec 输出占总 context 的 42%,建议对大输出使用 head/tail 截断
- MEMORY.md 被读取 3 次,考虑缓存到对话上下文中
🔮 预测
├─ 预估剩余:约 17 轮对话
├─ 建议 compact 时机:再聊 10 轮后
└─ 如果继续当前节奏:约 35 分钟后达到 80%
💡 优化建议
1. exec 命令加 | head -50 限制输出长度
2. 大文件用 read 的 offset/limit 参数分段读取
3. 考虑在下一个自然断点执行 compact
如果多次执行诊断,对比历史数据:
📈 趋势(最近 3 次诊断)
诊断1 (14:00): 32% → B
诊断2 (15:30): 58% → B
诊断3 (16:45): 74% → C ⬆️
消耗速度:约 28% / 小时
加速中 ⚠️(工具调用频率增加)