clawprobe 0.6.8 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +369 -0
- package/README.md +108 -74
- package/README.zh-CN.md +369 -0
- package/dist/cli/commands/top.js +2 -2
- package/dist/cli/commands/top.js.map +1 -1
- package/package.json +1 -1
package/README.ja.md
ADDED
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
# clawprobe
|
|
2
|
+
|
|
3
|
+
**OpenClaw エージェントの状態をリアルタイムで把握する。**
|
|
4
|
+
|
|
5
|
+
トークン使用量・API コスト・コンテキスト健全性・スマートアラート —— すべてを一箇所で、OpenClaw のコードを一切変更せずに。
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/clawprobe)
|
|
8
|
+
[](https://www.npmjs.com/package/clawprobe)
|
|
9
|
+
[](https://github.com/seekcontext/ClawProbe)
|
|
10
|
+
[](./LICENSE)
|
|
11
|
+
|
|
12
|
+
[English](./README.md) · [简体中文](./README.zh-CN.md) · [日本語](./README.ja.md)
|
|
13
|
+
|
|
14
|
+
[なぜ clawprobe か](#なぜ-clawprobe-か) •
|
|
15
|
+
[クイックスタート](#クイックスタート) •
|
|
16
|
+
[コマンド一覧](#コマンド一覧) •
|
|
17
|
+
[エージェント連携](#エージェント連携) •
|
|
18
|
+
[設定](#設定) •
|
|
19
|
+
[仕組み](#仕組み)
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## なぜ clawprobe か
|
|
24
|
+
|
|
25
|
+
OpenClaw エージェントはコンテキストウィンドウの中で静かに動いています —— トークンを消費し、会話をサイレント圧縮し、API 予算を使い続けています。しかしその様子は、実行中はまったく見えません。
|
|
26
|
+
|
|
27
|
+
clawprobe はこの問題を解決します。バックグラウンドで OpenClaw のファイルを監視し、エージェントが今何をしているかをリアルタイムで可視化します。
|
|
28
|
+
|
|
29
|
+
| あなたの疑問 | clawprobe の答え |
|
|
30
|
+
|------------|----------------|
|
|
31
|
+
| 「エージェントは今、正常に動いている?」 | `clawprobe status` — 即時スナップショット |
|
|
32
|
+
| 「ずっと見ていたい」 | `clawprobe top` — 自動更新のライブダッシュボード |
|
|
33
|
+
| 「なぜコンテキストがすぐ圧縮されるの?」 | `clawprobe context` + `clawprobe suggest` |
|
|
34
|
+
| 「圧縮後にエージェントが忘れたことは?」 | `clawprobe compacts` |
|
|
35
|
+
| 「これ、いくらかかってるの?」 | `clawprobe cost --week`(主要モデルの価格内蔵) |
|
|
36
|
+
| 「TOOLS.md はちゃんとモデルに届いている?」 | トランケーション検出を内蔵 |
|
|
37
|
+
|
|
38
|
+
**設定不要。副作用ゼロ。100% ローカル動作。**
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## クイックスタート
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm install -g clawprobe
|
|
46
|
+
|
|
47
|
+
clawprobe start # バックグラウンドデーモンを起動(OpenClaw を自動検出)
|
|
48
|
+
clawprobe status # 即時スナップショットを確認
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
clawprobe は OpenClaw のインストール先を自動検出します。API キー不要、アカウント登録不要、テレメトリなし。
|
|
52
|
+
|
|
53
|
+
### OpenClaw スキルとしてインストール(1 コマンド)
|
|
54
|
+
|
|
55
|
+
OpenClaw を使用している場合、clawprobe をスキルとしてインストールすることで、エージェントが自分自身を監視できるようになります:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
clawhub install clawprobe
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
またはエージェントに直接伝えるだけでもインストールできます:
|
|
62
|
+
|
|
63
|
+
> https://raw.githubusercontent.com/seekcontext/ClawProbe/main/skills/clawprobe/SKILL.md を読み、その手順に従って clawprobe のセルフモニタリングを設定してください。
|
|
64
|
+
|
|
65
|
+
新しい OpenClaw セッションを開始すると、エージェントは自動的に `clawprobe` コマンドにアクセスできるようになります。スキルの完全な定義は [`skills/clawprobe/SKILL.md`](./skills/clawprobe/SKILL.md) を参照してください。
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## コマンド一覧
|
|
70
|
+
|
|
71
|
+
### `clawprobe status` — 即時スナップショット
|
|
72
|
+
|
|
73
|
+
セッション・モデル・コンテキスト使用率・本日のコスト・アクティブなアラートを一目で確認。
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
$ clawprobe status
|
|
77
|
+
|
|
78
|
+
📊 Agent Status (active session)
|
|
79
|
+
──────────────────────────────────────────────────
|
|
80
|
+
Agent: main
|
|
81
|
+
Session: agent:main:workspace:direct:xxx ●
|
|
82
|
+
Model: moonshot/kimi-k2.5
|
|
83
|
+
Active: Today 16:41 Compacts: 2
|
|
84
|
+
|
|
85
|
+
Context: 87.3K / 200.0K tokens ███████░░░ 44%
|
|
86
|
+
Tokens: 72.4K in / 5.2K out
|
|
87
|
+
|
|
88
|
+
Today: $0.12 → clawprobe cost で詳細を確認
|
|
89
|
+
|
|
90
|
+
🟡 コンテキストウィンドウが 44% に達しています
|
|
91
|
+
→ 新しいセッションを開始するか、手動で圧縮することを推奨
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### `clawprobe top` — ライブダッシュボード
|
|
97
|
+
|
|
98
|
+
エージェントが長いタスクを実行している間、サイドターミナルで開いておきましょう。2 秒ごとに自動更新 —— コンテキスト進捗バー、コストカウンター、ターンごとのトークン消費をリアルタイムで表示します。
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
clawprobe top refreshing every 2s (q / Ctrl+C to quit) 03/18/2026 17:42:35
|
|
102
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
103
|
+
Agent: main ● daemon running
|
|
104
|
+
Session: agent:main:workspace:direct:xxx ● active
|
|
105
|
+
Model: moonshot/kimi-k2.5
|
|
106
|
+
Active: Today 17:42 Compacts: 2
|
|
107
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
108
|
+
Context ████████░░░░░░░░░░░░░░░░ 44% 87.3K / 200.0K tokens
|
|
109
|
+
Headroom 112.7K tokens remaining (56%)
|
|
110
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
111
|
+
Session cost $0.52 Input 859.2K tok Output 29.8K tok
|
|
112
|
+
Today total $0.67 Cache read 712.0K tok
|
|
113
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
114
|
+
Recent turns
|
|
115
|
+
Turn Time ΔInput ΔOutput Cost Note
|
|
116
|
+
27 17:42 22.0K 908 $0.0094 ← latest
|
|
117
|
+
26 17:19 990 630 $0.0026
|
|
118
|
+
25 17:19 20.4K 661 $0.0094
|
|
119
|
+
24 15:57 564 39 $0.0014
|
|
120
|
+
23 15:56 18.8K 231 $0.0076 ◆ compact
|
|
121
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
122
|
+
🟡 Context window at 44% capacity
|
|
123
|
+
Costs are estimates based on public pricing.
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
`q` または `Ctrl+C` で終了。ターミナルの表示を壊さずクリーンに終了します。
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
clawprobe top # デフォルト 2 秒更新
|
|
130
|
+
clawprobe top --interval 5 # 5 秒更新
|
|
131
|
+
clawprobe top --agent coder # 特定のエージェントを指定
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
### `clawprobe cost` — API コスト追跡
|
|
137
|
+
|
|
138
|
+
30 以上のモデルの価格を内蔵。入力・出力・キャッシュトークンを個別に集計。日・週・月・全期間で表示できます。
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
$ clawprobe cost --week
|
|
142
|
+
|
|
143
|
+
💰 Weekly Cost 2026-03-12 – 2026-03-18
|
|
144
|
+
──────────────────────────────────────────────────
|
|
145
|
+
Total: $0.67
|
|
146
|
+
Daily avg: $0.096
|
|
147
|
+
Month est: $2.87
|
|
148
|
+
|
|
149
|
+
2026-03-12 ██████████████░░ $0.15
|
|
150
|
+
2026-03-16 ████████████████ $0.16
|
|
151
|
+
2026-03-17 █░░░░░░░░░░░░░░░ $0.0088
|
|
152
|
+
2026-03-18 ███░░░░░░░░░░░░░ $0.03
|
|
153
|
+
|
|
154
|
+
Input: 1.0M tokens $0.65 (97%)
|
|
155
|
+
Output: 47.8K tokens $0.03 (3%)
|
|
156
|
+
|
|
157
|
+
コストは推定値です。正確な金額はプロバイダーの請求画面でご確認ください。
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
内蔵済み価格:OpenAI(GPT-4o、o1、o3、o4-mini)、Anthropic(Claude 3/3.5/3.7 Sonnet/Opus/Haiku)、Google(Gemini 2.0/2.5 Flash/Pro)、Moonshot(kimi-k2.5)、DeepSeek(v3、r1)など。未収録モデルは `~/.clawprobe/config.json` でカスタム追加できます。
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### `clawprobe session` — セッション詳細
|
|
165
|
+
|
|
166
|
+
任意のセッションを掘り下げる:合計コスト・トークン推移・各ターンの消費量を確認。
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
$ clawprobe session
|
|
170
|
+
|
|
171
|
+
💬 Session agent:main:workspace:…
|
|
172
|
+
──────────────────────────────────────────────────
|
|
173
|
+
Model: moonshot/kimi-k2.5
|
|
174
|
+
Duration: 2h 14m
|
|
175
|
+
Tokens: In 859.2K Out 29.8K Context 87.3K
|
|
176
|
+
Est. cost: $0.52
|
|
177
|
+
Compacts: 2
|
|
178
|
+
|
|
179
|
+
Turn timeline:
|
|
180
|
+
Turn Time ΔInput ΔOutput Cost
|
|
181
|
+
1 14:02 4.2K 312 $0.003
|
|
182
|
+
2 14:18 12.7K 891 $0.009 ◆ compact
|
|
183
|
+
3 14:41 38.1K 2.4K $0.028
|
|
184
|
+
…
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
### `clawprobe context` — コンテキストウィンドウ分析
|
|
190
|
+
|
|
191
|
+
何がコンテキストを圧迫しているかを把握し、問題が起きる前にサイレントなトランケーションを検出します。
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
$ clawprobe context
|
|
195
|
+
|
|
196
|
+
🔍 Context Window agent: main
|
|
197
|
+
──────────────────────────────────────────────────
|
|
198
|
+
Used: 87.3K / 200.0K tokens ███████░░░ 44%
|
|
199
|
+
|
|
200
|
+
Workspace overhead: ~4.2K tokens (7 injected files)
|
|
201
|
+
Conversation est: ~83.1K tokens (messages + system prompt + tools)
|
|
202
|
+
|
|
203
|
+
⚠ TOOLS.md: 31% truncated — この部分はモデルに届いていません
|
|
204
|
+
openclaw.json の bootstrapMaxChars を増やしてください
|
|
205
|
+
|
|
206
|
+
Remaining: 112.7K tokens (56%)
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
### `clawprobe compacts` — 圧縮イベント記録
|
|
212
|
+
|
|
213
|
+
すべての圧縮イベントを記録。何が失われたかを確認し、完全に消える前に重要なコンテキストをアーカイブできます。
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
$ clawprobe compacts
|
|
217
|
+
|
|
218
|
+
📦 Compact Events last 5
|
|
219
|
+
──────────────────────────────────────────────────
|
|
220
|
+
|
|
221
|
+
#3 Today 16:22 [agent:main…] 3 messages
|
|
222
|
+
|
|
223
|
+
👤 "Can you add retry logic to the upload handler?"
|
|
224
|
+
🤖 "Done — added exponential backoff with 3 retries. The key change is in…"
|
|
225
|
+
|
|
226
|
+
→ Archive: clawprobe compacts --save 3
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
### `clawprobe suggest` — 最適化アドバイス
|
|
232
|
+
|
|
233
|
+
よくある問題を自動検出。本当に注意が必要なときだけ通知します。
|
|
234
|
+
|
|
235
|
+
| ルール | 検出内容 |
|
|
236
|
+
|--------|---------|
|
|
237
|
+
| `tools-truncation` | TOOLS.md が切り捨てられ、モデルがツール定義を参照できない |
|
|
238
|
+
| `high-compact-freq` | コンテキストの充填が速すぎ、30 分未満ごとに圧縮が発生 |
|
|
239
|
+
| `context-headroom` | コンテキストウィンドウの使用率が 90% 超 — 圧縮が間近 |
|
|
240
|
+
| `cost-spike` | 本日の支出が週平均の 2 倍超 |
|
|
241
|
+
| `memory-bloat` | MEMORY.md が大きすぎ、毎ターンでトークンを無駄に消費 |
|
|
242
|
+
|
|
243
|
+
不要なルールを無効化:`clawprobe suggest --dismiss <rule-id>`
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## エージェント連携
|
|
248
|
+
|
|
249
|
+
clawprobe は**エージェントから呼び出されること**を想定して設計されています。すべてのコマンドが `--json` 出力をサポートし、エラーも常に構造化 JSON で返ります。パースを壊すカラーテキストは出力しません。
|
|
250
|
+
|
|
251
|
+
### ワンコールでヘルスチェック
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
clawprobe status --json
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
```json
|
|
258
|
+
{
|
|
259
|
+
"agent": "main",
|
|
260
|
+
"daemonRunning": true,
|
|
261
|
+
"sessionKey": "agent:main:workspace:direct:xxx",
|
|
262
|
+
"model": "moonshot/kimi-k2.5",
|
|
263
|
+
"sessionTokens": 87340,
|
|
264
|
+
"windowSize": 200000,
|
|
265
|
+
"utilizationPct": 44,
|
|
266
|
+
"todayUsd": 0.12,
|
|
267
|
+
"suggestions": [
|
|
268
|
+
{
|
|
269
|
+
"severity": "warning",
|
|
270
|
+
"ruleId": "context-headroom",
|
|
271
|
+
"title": "Context window at 44% capacity",
|
|
272
|
+
"detail": "...",
|
|
273
|
+
"action": "Consider starting a fresh session or manually compacting now"
|
|
274
|
+
}
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### 出力スキーマを確認する
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
clawprobe schema # 全コマンドを一覧表示
|
|
283
|
+
clawprobe schema status # status --json のフィールド仕様
|
|
284
|
+
clawprobe schema cost # cost --json のフィールド仕様
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### プログラムからアドバイスを無効化
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
clawprobe suggest --dismiss context-headroom --json
|
|
291
|
+
# → { "ok": true, "dismissed": "context-headroom" }
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### エラーレスポンスは常にパース可能
|
|
295
|
+
|
|
296
|
+
```bash
|
|
297
|
+
clawprobe session --json # アクティブなセッションがない場合
|
|
298
|
+
# → { "ok": false, "error": "no_active_session", "message": "..." }
|
|
299
|
+
# exit code 1
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## 設定
|
|
305
|
+
|
|
306
|
+
オプション設定ファイル `~/.clawprobe/config.json` —— 初回の `clawprobe start` 実行時に自動生成されます:
|
|
307
|
+
|
|
308
|
+
```json
|
|
309
|
+
{
|
|
310
|
+
"timezone": "Asia/Tokyo",
|
|
311
|
+
"openclaw": {
|
|
312
|
+
"dir": "~/.openclaw",
|
|
313
|
+
"agent": "main"
|
|
314
|
+
},
|
|
315
|
+
"cost": {
|
|
316
|
+
"customPrices": {
|
|
317
|
+
"my-provider/my-model": { "input": 1.00, "output": 3.00 }
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
"alerts": {
|
|
321
|
+
"dailyBudgetUsd": 5.00
|
|
322
|
+
},
|
|
323
|
+
"rules": {
|
|
324
|
+
"disabled": ["memory-bloat"]
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
ほとんどのユーザーに設定は不要です。clawprobe は既存の OpenClaw 設定からすべてを自動検出します。
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
## 仕組み
|
|
334
|
+
|
|
335
|
+
clawprobe はバックグラウンドで OpenClaw の既存ファイルを読み取ります —— コード変更・プラグイン・フック一切不要。
|
|
336
|
+
|
|
337
|
+
- **設定不要** — `~/.openclaw` の OpenClaw を自動検出
|
|
338
|
+
- **副作用ゼロ** — OpenClaw のファイルには一切触れず、`~/.clawprobe/` のみに書き込む
|
|
339
|
+
- **バックグラウンドデーモン** — `clawprobe start` がファイル変更を監視し、ローカル DB を随時更新
|
|
340
|
+
- **最小フットプリント** — 本番依存パッケージは 4 つのみ、クラウドサービスなし、テレメトリなし
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## プライバシー
|
|
345
|
+
|
|
346
|
+
- **100% ローカル動作** — データが外部に送信されることはありません
|
|
347
|
+
- **テレメトリなし** — clawprobe は何も収集しません
|
|
348
|
+
- **アカウント不要・API キー不要** — インストールしてすぐ使えます
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## 動作環境
|
|
353
|
+
|
|
354
|
+
すべてのバージョンの OpenClaw に対応。Node.js ≥ 22 · macOS または Linux(Windows は WSL2 経由)が必要です。
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## コントリビューション
|
|
359
|
+
|
|
360
|
+
MIT ライセンス。コントリビューション歓迎です。
|
|
361
|
+
|
|
362
|
+
```bash
|
|
363
|
+
git clone https://github.com/seekcontext/ClawProbe
|
|
364
|
+
cd ClawProbe && npm install && npm run dev
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
[MIT License](./LICENSE)
|
package/README.md
CHANGED
|
@@ -9,6 +9,8 @@ Token usage. API cost. Context health. Smart alerts. All in one place — withou
|
|
|
9
9
|
[](https://github.com/seekcontext/ClawProbe)
|
|
10
10
|
[](./LICENSE)
|
|
11
11
|
|
|
12
|
+
[English](./README.md) · [简体中文](./README.zh-CN.md) · [日本語](./README.ja.md)
|
|
13
|
+
|
|
12
14
|
[Why clawprobe](#why-clawprobe) •
|
|
13
15
|
[Quick Start](#quick-start) •
|
|
14
16
|
[Commands](#commands) •
|
|
@@ -26,11 +28,12 @@ clawprobe fixes that. It watches OpenClaw's files in the background and gives yo
|
|
|
26
28
|
|
|
27
29
|
| Problem | clawprobe |
|
|
28
30
|
|---------|-----------|
|
|
29
|
-
| "Is my agent healthy right now?" | `clawprobe status` —
|
|
30
|
-
| "
|
|
31
|
+
| "Is my agent healthy right now?" | `clawprobe status` — instant snapshot |
|
|
32
|
+
| "I want to keep watching it live" | `clawprobe top` — live dashboard, auto-refreshing |
|
|
33
|
+
| "Why is context compacting so often?" | `clawprobe context` + `clawprobe suggest` |
|
|
31
34
|
| "What did the agent forget after compaction?" | `clawprobe compacts` |
|
|
32
35
|
| "What is this costing me?" | `clawprobe cost --week` with per-model pricing |
|
|
33
|
-
| "
|
|
36
|
+
| "Is my TOOLS.md actually reaching the model?" | Truncation detection built-in |
|
|
34
37
|
|
|
35
38
|
**No configuration required. Zero side effects. 100% local.**
|
|
36
39
|
|
|
@@ -42,37 +45,90 @@ clawprobe fixes that. It watches OpenClaw's files in the background and gives yo
|
|
|
42
45
|
npm install -g clawprobe
|
|
43
46
|
|
|
44
47
|
clawprobe start # Launch background daemon (auto-detects OpenClaw)
|
|
45
|
-
clawprobe status # Instant
|
|
48
|
+
clawprobe status # Instant snapshot
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
clawprobe auto-detects your OpenClaw installation. No API keys, no accounts, no telemetry.
|
|
52
|
+
|
|
53
|
+
### Install as an OpenClaw skill (one command)
|
|
54
|
+
|
|
55
|
+
If you use OpenClaw, install clawprobe as a skill so your agent can monitor itself:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
clawhub install clawprobe
|
|
46
59
|
```
|
|
47
60
|
|
|
48
|
-
|
|
61
|
+
Or tell your agent directly:
|
|
62
|
+
|
|
63
|
+
> Read https://raw.githubusercontent.com/seekcontext/ClawProbe/main/skills/clawprobe/SKILL.md and follow the instructions to set up clawprobe self-monitoring.
|
|
64
|
+
|
|
65
|
+
Start a new OpenClaw session and the agent will automatically have access to `clawprobe` commands for self-monitoring. See [`skills/clawprobe/SKILL.md`](./skills/clawprobe/SKILL.md) for the full skill definition.
|
|
49
66
|
|
|
50
67
|
---
|
|
51
68
|
|
|
52
69
|
## Commands
|
|
53
70
|
|
|
54
|
-
### `clawprobe status` —
|
|
71
|
+
### `clawprobe status` — Instant Snapshot
|
|
55
72
|
|
|
56
|
-
Everything
|
|
73
|
+
Everything at a glance: session, model, context utilization, today's cost, and active alerts.
|
|
57
74
|
|
|
58
75
|
```
|
|
59
76
|
$ clawprobe status
|
|
60
77
|
|
|
61
78
|
📊 Agent Status (active session)
|
|
62
79
|
──────────────────────────────────────────────────
|
|
63
|
-
Agent:
|
|
64
|
-
Session:
|
|
65
|
-
Model:
|
|
66
|
-
|
|
80
|
+
Agent: main
|
|
81
|
+
Session: agent:main:workspace:direct:xxx ●
|
|
82
|
+
Model: moonshot/kimi-k2.5
|
|
83
|
+
Active: Today 16:41 Compacts: 2
|
|
67
84
|
|
|
68
85
|
Context: 87.3K / 200.0K tokens ███████░░░ 44%
|
|
69
|
-
|
|
70
|
-
Compacts: 2 Last active: Today 16:41
|
|
86
|
+
Tokens: 72.4K in / 5.2K out
|
|
71
87
|
|
|
72
|
-
Today: $0.12
|
|
88
|
+
Today: $0.12 → clawprobe cost for full breakdown
|
|
73
89
|
|
|
74
|
-
|
|
75
|
-
|
|
90
|
+
🟡 Context window at 44% capacity
|
|
91
|
+
→ Consider starting a fresh session or manually compacting now
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### `clawprobe top` — Live Dashboard
|
|
97
|
+
|
|
98
|
+
Open it in a side terminal while your agent runs a long task. Stays on screen and updates every 2 seconds — context bar, cost counters, and a live turn-by-turn feed.
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
clawprobe top refreshing every 2s (q / Ctrl+C to quit) 03/18/2026 17:42:35
|
|
102
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
103
|
+
Agent: main ● daemon running
|
|
104
|
+
Session: agent:main:workspace:direct:xxx ● active
|
|
105
|
+
Model: moonshot/kimi-k2.5
|
|
106
|
+
Active: Today 17:42 Compacts: 2
|
|
107
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
108
|
+
Context ████████░░░░░░░░░░░░░░░░ 44% 87.3K / 200.0K tokens
|
|
109
|
+
Headroom 112.7K tokens remaining (56%)
|
|
110
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
111
|
+
Session cost $0.52 Input 859.2K tok Output 29.8K tok
|
|
112
|
+
Today total $0.67 Cache read 712.0K tok
|
|
113
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
114
|
+
Recent turns
|
|
115
|
+
Turn Time ΔInput ΔOutput Cost Note
|
|
116
|
+
27 17:42 22.0K 908 $0.0094 ← latest
|
|
117
|
+
26 17:19 990 630 $0.0026
|
|
118
|
+
25 17:19 20.4K 661 $0.0094
|
|
119
|
+
24 15:57 564 39 $0.0014
|
|
120
|
+
23 15:56 18.8K 231 $0.0076 ◆ compact
|
|
121
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
122
|
+
🟡 Context window at 44% capacity
|
|
123
|
+
Costs are estimates based on public pricing.
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
`q` or `Ctrl+C` to quit. Exits cleanly without leaving a mess in your terminal.
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
clawprobe top # default 2s refresh
|
|
130
|
+
clawprobe top --interval 5 # slower refresh
|
|
131
|
+
clawprobe top --agent coder # target a specific agent
|
|
76
132
|
```
|
|
77
133
|
|
|
78
134
|
---
|
|
@@ -98,17 +154,16 @@ $ clawprobe cost --week
|
|
|
98
154
|
Input: 1.0M tokens $0.65 (97%)
|
|
99
155
|
Output: 47.8K tokens $0.03 (3%)
|
|
100
156
|
|
|
101
|
-
Costs are estimates
|
|
102
|
-
Verify with your provider's billing dashboard.
|
|
157
|
+
Costs are estimates. Verify with your provider's billing dashboard.
|
|
103
158
|
```
|
|
104
159
|
|
|
105
|
-
Built-in prices for: OpenAI (GPT-4o, o1, o3, o4-mini), Anthropic (Claude 3/3.5/3.7 Sonnet/Opus/Haiku), Google (Gemini 2.0/2.5 Flash/Pro), Moonshot (kimi-k2.5), DeepSeek (v3, r1),
|
|
160
|
+
Built-in prices for: OpenAI (GPT-4o, o1, o3, o4-mini), Anthropic (Claude 3/3.5/3.7 Sonnet/Opus/Haiku), Google (Gemini 2.0/2.5 Flash/Pro), Moonshot (kimi-k2.5), DeepSeek (v3, r1), and more. Add any unlisted model via `~/.clawprobe/config.json`.
|
|
106
161
|
|
|
107
162
|
---
|
|
108
163
|
|
|
109
|
-
### `clawprobe session` — Session
|
|
164
|
+
### `clawprobe session` — Session Breakdown
|
|
110
165
|
|
|
111
|
-
|
|
166
|
+
Drill into any session: total cost, token timeline, and exactly what each turn consumed.
|
|
112
167
|
|
|
113
168
|
```
|
|
114
169
|
$ clawprobe session
|
|
@@ -133,7 +188,7 @@ $ clawprobe session
|
|
|
133
188
|
|
|
134
189
|
### `clawprobe context` — Context Window Analysis
|
|
135
190
|
|
|
136
|
-
|
|
191
|
+
Find out what's filling your context window, and catch silent truncation before it causes problems.
|
|
137
192
|
|
|
138
193
|
```
|
|
139
194
|
$ clawprobe context
|
|
@@ -146,7 +201,7 @@ $ clawprobe context
|
|
|
146
201
|
Conversation est: ~83.1K tokens (messages + system prompt + tools)
|
|
147
202
|
|
|
148
203
|
⚠ TOOLS.md: 31% truncated — model never sees this content
|
|
149
|
-
|
|
204
|
+
Increase bootstrapMaxChars in openclaw.json to fix this
|
|
150
205
|
|
|
151
206
|
Remaining: 112.7K tokens (56%)
|
|
152
207
|
```
|
|
@@ -155,7 +210,7 @@ $ clawprobe context
|
|
|
155
210
|
|
|
156
211
|
### `clawprobe compacts` — Compaction Events
|
|
157
212
|
|
|
158
|
-
Every compaction is captured. See what was discarded and
|
|
213
|
+
Every compaction is captured. See exactly what was discarded — and save it before it's gone forever.
|
|
159
214
|
|
|
160
215
|
```
|
|
161
216
|
$ clawprobe compacts
|
|
@@ -175,25 +230,25 @@ $ clawprobe compacts
|
|
|
175
230
|
|
|
176
231
|
### `clawprobe suggest` — Optimization Alerts
|
|
177
232
|
|
|
178
|
-
Automatic detection of common issues.
|
|
233
|
+
Automatic detection of common issues. Only fires when something actually needs your attention.
|
|
179
234
|
|
|
180
235
|
| Rule | What It Detects |
|
|
181
236
|
|------|----------------|
|
|
182
|
-
| `tools-truncation` | TOOLS.md
|
|
183
|
-
| `high-compact-freq` | Context fills
|
|
184
|
-
| `context-headroom` | Context window > 90% full — compaction imminent |
|
|
185
|
-
| `cost-spike` | Today's spend > 2× weekly average |
|
|
186
|
-
| `memory-bloat` | MEMORY.md too large —
|
|
237
|
+
| `tools-truncation` | TOOLS.md cut off — tool descriptions the model can't see |
|
|
238
|
+
| `high-compact-freq` | Context fills too fast, compacting every < 30 minutes |
|
|
239
|
+
| `context-headroom` | Context window > 90% full — compaction is imminent |
|
|
240
|
+
| `cost-spike` | Today's spend > 2× your weekly average |
|
|
241
|
+
| `memory-bloat` | MEMORY.md too large — wasting tokens on every turn |
|
|
187
242
|
|
|
188
|
-
Dismiss noisy rules
|
|
243
|
+
Dismiss noisy rules: `clawprobe suggest --dismiss <rule-id>`
|
|
189
244
|
|
|
190
245
|
---
|
|
191
246
|
|
|
192
247
|
## Agent Integration
|
|
193
248
|
|
|
194
|
-
clawprobe is designed to be called **by agents**, not just humans. Every command supports `--json` for clean, parseable output. Errors are always JSON
|
|
249
|
+
clawprobe is designed to be called **by agents**, not just humans. Every command supports `--json` for clean, parseable output. Errors are always structured JSON — never coloured text that breaks parsing.
|
|
195
250
|
|
|
196
|
-
###
|
|
251
|
+
### Health check in one call
|
|
197
252
|
|
|
198
253
|
```bash
|
|
199
254
|
clawprobe status --json
|
|
@@ -224,22 +279,22 @@ clawprobe status --json
|
|
|
224
279
|
### Discover the output schema
|
|
225
280
|
|
|
226
281
|
```bash
|
|
227
|
-
clawprobe schema #
|
|
228
|
-
clawprobe schema status #
|
|
229
|
-
clawprobe schema cost #
|
|
282
|
+
clawprobe schema # list all commands
|
|
283
|
+
clawprobe schema status # full field spec for status --json
|
|
284
|
+
clawprobe schema cost # full field spec for cost --json
|
|
230
285
|
```
|
|
231
286
|
|
|
232
|
-
### Dismiss a suggestion
|
|
287
|
+
### Dismiss a suggestion programmatically
|
|
233
288
|
|
|
234
289
|
```bash
|
|
235
290
|
clawprobe suggest --dismiss context-headroom --json
|
|
236
291
|
# → { "ok": true, "dismissed": "context-headroom" }
|
|
237
292
|
```
|
|
238
293
|
|
|
239
|
-
###
|
|
294
|
+
### Errors are always parseable
|
|
240
295
|
|
|
241
296
|
```bash
|
|
242
|
-
clawprobe session --json #
|
|
297
|
+
clawprobe session --json # no active session
|
|
243
298
|
# → { "ok": false, "error": "no_active_session", "message": "..." }
|
|
244
299
|
# exit code 1
|
|
245
300
|
```
|
|
@@ -248,7 +303,7 @@ clawprobe session --json # when no session is active
|
|
|
248
303
|
|
|
249
304
|
## Configuration
|
|
250
305
|
|
|
251
|
-
Optional config at `~/.clawprobe/config.json`
|
|
306
|
+
Optional config at `~/.clawprobe/config.json` — auto-created on first `clawprobe start`:
|
|
252
307
|
|
|
253
308
|
```json
|
|
254
309
|
{
|
|
@@ -259,57 +314,30 @@ Optional config at `~/.clawprobe/config.json` (auto-created on first `clawprobe
|
|
|
259
314
|
},
|
|
260
315
|
"cost": {
|
|
261
316
|
"customPrices": {
|
|
262
|
-
"my-
|
|
317
|
+
"my-provider/my-model": { "input": 1.00, "output": 3.00 }
|
|
263
318
|
}
|
|
264
319
|
},
|
|
265
320
|
"alerts": {
|
|
266
321
|
"dailyBudgetUsd": 5.00
|
|
267
322
|
},
|
|
268
323
|
"rules": {
|
|
269
|
-
"disabled": ["memory-bloat"]
|
|
270
|
-
"compactionFreqThresholdMin": 30,
|
|
271
|
-
"memoryBloatThresholdChars": 20000
|
|
324
|
+
"disabled": ["memory-bloat"]
|
|
272
325
|
}
|
|
273
326
|
}
|
|
274
327
|
```
|
|
275
328
|
|
|
276
|
-
Most users need zero configuration. clawprobe auto-detects everything.
|
|
329
|
+
Most users need zero configuration. clawprobe auto-detects everything from your existing OpenClaw setup.
|
|
277
330
|
|
|
278
331
|
---
|
|
279
332
|
|
|
280
333
|
## How It Works
|
|
281
334
|
|
|
282
|
-
clawprobe reads OpenClaw's existing
|
|
283
|
-
|
|
284
|
-
```
|
|
285
|
-
~/.openclaw/ clawprobe
|
|
286
|
-
────────────────────────────────── ─────────────────────────────────
|
|
287
|
-
sessions.json → Session metadata, token counts, model
|
|
288
|
-
*.jsonl transcripts → Turn-level costs, compact events, usage
|
|
289
|
-
workspace/*.md → File size analysis, truncation detection
|
|
290
|
-
openclaw.json → Model config, bootstrap limits
|
|
291
|
-
│
|
|
292
|
-
▼
|
|
293
|
-
~/.clawprobe/probe.db (SQLite, local only)
|
|
294
|
-
│
|
|
295
|
-
▼
|
|
296
|
-
CLI + optimization engine
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
**Why it just works:**
|
|
335
|
+
clawprobe reads OpenClaw's existing files in the background — no code changes, no plugins, no hooks required.
|
|
300
336
|
|
|
301
337
|
- **Zero configuration** — auto-detects OpenClaw at `~/.openclaw`
|
|
302
|
-
- **Zero side effects** —
|
|
303
|
-
- **Background daemon** — `clawprobe start`
|
|
304
|
-
- **
|
|
305
|
-
|
|
306
|
-
---
|
|
307
|
-
|
|
308
|
-
## Compatibility
|
|
309
|
-
|
|
310
|
-
clawprobe works with any OpenClaw version that writes `sessions.json` and `.jsonl` transcript files to `~/.openclaw/agents/<agent>/sessions/`.
|
|
311
|
-
|
|
312
|
-
**Requirements:** Node.js ≥ 22 · macOS or Linux (Windows via WSL2)
|
|
338
|
+
- **Zero side effects** — never touches OpenClaw's files; writes only to `~/.clawprobe/`
|
|
339
|
+
- **Background daemon** — `clawprobe start` watches for changes and keeps the local database current
|
|
340
|
+
- **Minimal footprint** — 4 production dependencies, no cloud services, no telemetry
|
|
313
341
|
|
|
314
342
|
---
|
|
315
343
|
|
|
@@ -321,6 +349,12 @@ clawprobe works with any OpenClaw version that writes `sessions.json` and `.json
|
|
|
321
349
|
|
|
322
350
|
---
|
|
323
351
|
|
|
352
|
+
## Compatibility
|
|
353
|
+
|
|
354
|
+
Works with any OpenClaw version. Requires Node.js ≥ 22 · macOS or Linux (Windows via WSL2).
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
324
358
|
## Contributing
|
|
325
359
|
|
|
326
360
|
MIT licensed. Contributions welcome.
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
# clawprobe
|
|
2
|
+
|
|
3
|
+
**实时掌握你的 OpenClaw Agent 状态。**
|
|
4
|
+
|
|
5
|
+
Token 用量、API 成本、上下文健康度、智能告警 —— 一站式呈现,无需改动 OpenClaw 任何代码。
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/clawprobe)
|
|
8
|
+
[](https://www.npmjs.com/package/clawprobe)
|
|
9
|
+
[](https://github.com/seekcontext/ClawProbe)
|
|
10
|
+
[](./LICENSE)
|
|
11
|
+
|
|
12
|
+
[English](./README.md) · [简体中文](./README.zh-CN.md) · [日本語](./README.ja.md)
|
|
13
|
+
|
|
14
|
+
[为什么选择 clawprobe](#为什么选择-clawprobe) •
|
|
15
|
+
[快速开始](#快速开始) •
|
|
16
|
+
[命令说明](#命令说明) •
|
|
17
|
+
[Agent 集成](#agent-集成) •
|
|
18
|
+
[配置](#配置) •
|
|
19
|
+
[工作原理](#工作原理)
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 为什么选择 clawprobe
|
|
24
|
+
|
|
25
|
+
你的 OpenClaw Agent 在上下文窗口里悄悄运行 —— 消耗 Token、静默压缩对话、花掉 API 预算。但这一切发生时,你什么都看不见。
|
|
26
|
+
|
|
27
|
+
clawprobe 解决这个问题。它在后台监听 OpenClaw 的文件,让你实时了解 Agent 正在做什么:
|
|
28
|
+
|
|
29
|
+
| 你的疑问 | clawprobe 的答案 |
|
|
30
|
+
|---------|----------------|
|
|
31
|
+
| "Agent 现在状态正常吗?" | `clawprobe status` — 即时快照 |
|
|
32
|
+
| "我想持续盯着它看" | `clawprobe top` — 实时仪表盘,自动刷新 |
|
|
33
|
+
| "为什么上下文老是被压缩?" | `clawprobe context` + `clawprobe suggest` |
|
|
34
|
+
| "压缩后 Agent 忘了什么?" | `clawprobe compacts` |
|
|
35
|
+
| "这花了我多少钱?" | `clawprobe cost --week`,内置主流模型价格 |
|
|
36
|
+
| "TOOLS.md 有没有完整传给模型?" | 内置截断检测,自动告警 |
|
|
37
|
+
|
|
38
|
+
**零配置。零副作用。100% 本地运行。**
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 快速开始
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm install -g clawprobe
|
|
46
|
+
|
|
47
|
+
clawprobe start # 启动后台守护进程(自动识别 OpenClaw 安装路径)
|
|
48
|
+
clawprobe status # 查看即时快照
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
clawprobe 自动识别你的 OpenClaw 安装。无需 API Key、无需注册账号、无遥测数据上报。
|
|
52
|
+
|
|
53
|
+
### 作为 OpenClaw Skill 安装(一行命令)
|
|
54
|
+
|
|
55
|
+
如果你使用 OpenClaw,可以将 clawprobe 安装为 Skill,让 Agent 具备自我监控能力:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
clawhub install clawprobe
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
或者直接告诉你的 Agent:
|
|
62
|
+
|
|
63
|
+
> 读取 https://raw.githubusercontent.com/seekcontext/ClawProbe/main/skills/clawprobe/SKILL.md 并按照其中的说明配置 clawprobe 自我监控。
|
|
64
|
+
|
|
65
|
+
新建 OpenClaw 会话后,Agent 即可直接调用 `clawprobe` 命令进行自我监控。完整 Skill 定义见 [`skills/clawprobe/SKILL.md`](./skills/clawprobe/SKILL.md)。
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 命令说明
|
|
70
|
+
|
|
71
|
+
### `clawprobe status` — 即时快照
|
|
72
|
+
|
|
73
|
+
一眼看清当前会话、模型、上下文用量、今日花费和活跃告警。
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
$ clawprobe status
|
|
77
|
+
|
|
78
|
+
📊 Agent Status (active session)
|
|
79
|
+
──────────────────────────────────────────────────
|
|
80
|
+
Agent: main
|
|
81
|
+
Session: agent:main:workspace:direct:xxx ●
|
|
82
|
+
Model: moonshot/kimi-k2.5
|
|
83
|
+
Active: Today 16:41 Compacts: 2
|
|
84
|
+
|
|
85
|
+
Context: 87.3K / 200.0K tokens ███████░░░ 44%
|
|
86
|
+
Tokens: 72.4K in / 5.2K out
|
|
87
|
+
|
|
88
|
+
Today: $0.12 → clawprobe cost 查看详情
|
|
89
|
+
|
|
90
|
+
🟡 上下文窗口已用 44%
|
|
91
|
+
→ 建议开启新会话或手动触发压缩
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### `clawprobe top` — 实时仪表盘
|
|
97
|
+
|
|
98
|
+
在侧边终端打开,Agent 跑长任务时持续盯着它。每 2 秒自动刷新 —— 上下文进度条、成本计数器、逐轮 Token 消耗一览无余。
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
clawprobe top refreshing every 2s (q / Ctrl+C to quit) 03/18/2026 17:42:35
|
|
102
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
103
|
+
Agent: main ● daemon running
|
|
104
|
+
Session: agent:main:workspace:direct:xxx ● active
|
|
105
|
+
Model: moonshot/kimi-k2.5
|
|
106
|
+
Active: Today 17:42 Compacts: 2
|
|
107
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
108
|
+
Context ████████░░░░░░░░░░░░░░░░ 44% 87.3K / 200.0K tokens
|
|
109
|
+
Headroom 112.7K tokens remaining (56%)
|
|
110
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
111
|
+
Session cost $0.52 Input 859.2K tok Output 29.8K tok
|
|
112
|
+
Today total $0.67 Cache read 712.0K tok
|
|
113
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
114
|
+
Recent turns
|
|
115
|
+
Turn Time ΔInput ΔOutput Cost Note
|
|
116
|
+
27 17:42 22.0K 908 $0.0094 ← latest
|
|
117
|
+
26 17:19 990 630 $0.0026
|
|
118
|
+
25 17:19 20.4K 661 $0.0094
|
|
119
|
+
24 15:57 564 39 $0.0014
|
|
120
|
+
23 15:56 18.8K 231 $0.0076 ◆ compact
|
|
121
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
122
|
+
🟡 Context window at 44% capacity
|
|
123
|
+
Costs are estimates based on public pricing.
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
按 `q` 或 `Ctrl+C` 退出,不会破坏终端原有内容。
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
clawprobe top # 默认 2 秒刷新
|
|
130
|
+
clawprobe top --interval 5 # 5 秒刷新
|
|
131
|
+
clawprobe top --agent coder # 指定 Agent
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
### `clawprobe cost` — API 成本统计
|
|
137
|
+
|
|
138
|
+
内置 30+ 模型价格,分别统计输入、输出、缓存 Token 的费用。支持按天、周、月、全部查看。
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
$ clawprobe cost --week
|
|
142
|
+
|
|
143
|
+
💰 Weekly Cost 2026-03-12 – 2026-03-18
|
|
144
|
+
──────────────────────────────────────────────────
|
|
145
|
+
Total: $0.67
|
|
146
|
+
Daily avg: $0.096
|
|
147
|
+
Month est: $2.87
|
|
148
|
+
|
|
149
|
+
2026-03-12 ██████████████░░ $0.15
|
|
150
|
+
2026-03-16 ████████████████ $0.16
|
|
151
|
+
2026-03-17 █░░░░░░░░░░░░░░░ $0.0088
|
|
152
|
+
2026-03-18 ███░░░░░░░░░░░░░ $0.03
|
|
153
|
+
|
|
154
|
+
Input: 1.0M tokens $0.65 (97%)
|
|
155
|
+
Output: 47.8K tokens $0.03 (3%)
|
|
156
|
+
|
|
157
|
+
价格为估算值,请以模型厂商账单为准。
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
已内置价格:OpenAI(GPT-4o、o1、o3、o4-mini)、Anthropic(Claude 3/3.5/3.7 Sonnet/Opus/Haiku)、Google(Gemini 2.0/2.5 Flash/Pro)、Moonshot(kimi-k2.5)、DeepSeek(v3、r1)等。未收录的模型可通过 `~/.clawprobe/config.json` 自定义添加。
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### `clawprobe session` — 会话详情
|
|
165
|
+
|
|
166
|
+
查看任意会话的总成本、Token 时间线,以及每一轮的具体消耗。
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
$ clawprobe session
|
|
170
|
+
|
|
171
|
+
💬 Session agent:main:workspace:…
|
|
172
|
+
──────────────────────────────────────────────────
|
|
173
|
+
Model: moonshot/kimi-k2.5
|
|
174
|
+
Duration: 2h 14m
|
|
175
|
+
Tokens: In 859.2K Out 29.8K Context 87.3K
|
|
176
|
+
Est. cost: $0.52
|
|
177
|
+
Compacts: 2
|
|
178
|
+
|
|
179
|
+
Turn timeline:
|
|
180
|
+
Turn Time ΔInput ΔOutput Cost
|
|
181
|
+
1 14:02 4.2K 312 $0.003
|
|
182
|
+
2 14:18 12.7K 891 $0.009 ◆ compact
|
|
183
|
+
3 14:41 38.1K 2.4K $0.028
|
|
184
|
+
…
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
### `clawprobe context` — 上下文窗口分析
|
|
190
|
+
|
|
191
|
+
看清是什么在占用上下文,在截断问题造成麻烦之前提前发现。
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
$ clawprobe context
|
|
195
|
+
|
|
196
|
+
🔍 Context Window agent: main
|
|
197
|
+
──────────────────────────────────────────────────
|
|
198
|
+
Used: 87.3K / 200.0K tokens ███████░░░ 44%
|
|
199
|
+
|
|
200
|
+
Workspace overhead: ~4.2K tokens (7 injected files)
|
|
201
|
+
Conversation est: ~83.1K tokens (messages + system prompt + tools)
|
|
202
|
+
|
|
203
|
+
⚠ TOOLS.md: 31% truncated — 模型看不到这部分内容
|
|
204
|
+
请在 openclaw.json 中提高 bootstrapMaxChars
|
|
205
|
+
|
|
206
|
+
Remaining: 112.7K tokens (56%)
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
### `clawprobe compacts` — 压缩事件记录
|
|
212
|
+
|
|
213
|
+
每次上下文压缩都被完整记录。看清被丢弃了什么,并在彻底消失前将关键内容归档。
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
$ clawprobe compacts
|
|
217
|
+
|
|
218
|
+
📦 Compact Events last 5
|
|
219
|
+
──────────────────────────────────────────────────
|
|
220
|
+
|
|
221
|
+
#3 Today 16:22 [agent:main…] 3 messages
|
|
222
|
+
|
|
223
|
+
👤 "Can you add retry logic to the upload handler?"
|
|
224
|
+
🤖 "Done — added exponential backoff with 3 retries. The key change is in…"
|
|
225
|
+
|
|
226
|
+
→ Archive: clawprobe compacts --save 3
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
### `clawprobe suggest` — 优化建议
|
|
232
|
+
|
|
233
|
+
自动检测常见问题,只在真正需要关注时才触发提醒。
|
|
234
|
+
|
|
235
|
+
| 规则 | 检测内容 |
|
|
236
|
+
|------|---------|
|
|
237
|
+
| `tools-truncation` | TOOLS.md 被截断,模型看不到部分工具描述 |
|
|
238
|
+
| `high-compact-freq` | 上下文填充过快,每 < 30 分钟就触发一次压缩 |
|
|
239
|
+
| `context-headroom` | 上下文窗口已用超过 90%,压缩即将发生 |
|
|
240
|
+
| `cost-spike` | 今日花费超过周均 2 倍 |
|
|
241
|
+
| `memory-bloat` | MEMORY.md 过大,每轮都在浪费 Token |
|
|
242
|
+
|
|
243
|
+
屏蔽不需要的规则:`clawprobe suggest --dismiss <rule-id>`
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## Agent 集成
|
|
248
|
+
|
|
249
|
+
clawprobe 专为**被 Agent 调用**而设计,而不只是给人用。所有命令都支持 `--json` 输出结构化数据,错误也始终以 JSON 格式返回,不会有破坏解析的彩色文本。
|
|
250
|
+
|
|
251
|
+
### 单次健康检查
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
clawprobe status --json
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
```json
|
|
258
|
+
{
|
|
259
|
+
"agent": "main",
|
|
260
|
+
"daemonRunning": true,
|
|
261
|
+
"sessionKey": "agent:main:workspace:direct:xxx",
|
|
262
|
+
"model": "moonshot/kimi-k2.5",
|
|
263
|
+
"sessionTokens": 87340,
|
|
264
|
+
"windowSize": 200000,
|
|
265
|
+
"utilizationPct": 44,
|
|
266
|
+
"todayUsd": 0.12,
|
|
267
|
+
"suggestions": [
|
|
268
|
+
{
|
|
269
|
+
"severity": "warning",
|
|
270
|
+
"ruleId": "context-headroom",
|
|
271
|
+
"title": "Context window at 44% capacity",
|
|
272
|
+
"detail": "...",
|
|
273
|
+
"action": "Consider starting a fresh session or manually compacting now"
|
|
274
|
+
}
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### 查询输出结构
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
clawprobe schema # 列出所有命令
|
|
283
|
+
clawprobe schema status # status --json 的完整字段说明
|
|
284
|
+
clawprobe schema cost # cost --json 的完整字段说明
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### 程序化屏蔽建议
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
clawprobe suggest --dismiss context-headroom --json
|
|
291
|
+
# → { "ok": true, "dismissed": "context-headroom" }
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### 错误响应始终可解析
|
|
295
|
+
|
|
296
|
+
```bash
|
|
297
|
+
clawprobe session --json # 无活跃会话时
|
|
298
|
+
# → { "ok": false, "error": "no_active_session", "message": "..." }
|
|
299
|
+
# exit code 1
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## 配置
|
|
305
|
+
|
|
306
|
+
可选配置文件 `~/.clawprobe/config.json`,首次运行 `clawprobe start` 时自动创建:
|
|
307
|
+
|
|
308
|
+
```json
|
|
309
|
+
{
|
|
310
|
+
"timezone": "Asia/Shanghai",
|
|
311
|
+
"openclaw": {
|
|
312
|
+
"dir": "~/.openclaw",
|
|
313
|
+
"agent": "main"
|
|
314
|
+
},
|
|
315
|
+
"cost": {
|
|
316
|
+
"customPrices": {
|
|
317
|
+
"my-provider/my-model": { "input": 1.00, "output": 3.00 }
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
"alerts": {
|
|
321
|
+
"dailyBudgetUsd": 5.00
|
|
322
|
+
},
|
|
323
|
+
"rules": {
|
|
324
|
+
"disabled": ["memory-bloat"]
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
大多数用户无需任何配置,clawprobe 会自动从现有的 OpenClaw 配置中读取所有信息。
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
## 工作原理
|
|
334
|
+
|
|
335
|
+
clawprobe 在后台读取 OpenClaw 的现有文件 —— 无需修改代码、无需插件、无需 Hook。
|
|
336
|
+
|
|
337
|
+
- **零配置** — 自动识别 `~/.openclaw` 下的 OpenClaw 安装
|
|
338
|
+
- **零副作用** — 从不修改 OpenClaw 的文件,只写入 `~/.clawprobe/` 目录
|
|
339
|
+
- **后台守护** — `clawprobe start` 启动文件监听,保持本地数据库实时更新
|
|
340
|
+
- **极简依赖** — 仅 4 个生产依赖,无云服务,无遥测
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## 隐私
|
|
345
|
+
|
|
346
|
+
- **100% 本地运行** — 数据不会离开你的机器
|
|
347
|
+
- **无遥测** — clawprobe 不收集任何数据
|
|
348
|
+
- **无账号,无 API Key** — 安装即用
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## 兼容性
|
|
353
|
+
|
|
354
|
+
支持所有版本的 OpenClaw。需要 Node.js ≥ 22 · macOS 或 Linux(Windows 通过 WSL2)。
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## 参与贡献
|
|
359
|
+
|
|
360
|
+
MIT 开源协议,欢迎贡献。
|
|
361
|
+
|
|
362
|
+
```bash
|
|
363
|
+
git clone https://github.com/seekcontext/ClawProbe
|
|
364
|
+
cd ClawProbe && npm install && npm run dev
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
[MIT License](./LICENSE)
|
package/dist/cli/commands/top.js
CHANGED
|
@@ -6,7 +6,7 @@ import { getActiveSession, findJsonlPath } from "../../core/session-store.js";
|
|
|
6
6
|
import { getLatestSnapshot } from "../../core/db.js";
|
|
7
7
|
import { parseSessionStats } from "../../core/jsonl-parser.js";
|
|
8
8
|
import { getPeriodCost, getSessionCostFromJsonl } from "../../engines/cost.js";
|
|
9
|
-
import { runRules
|
|
9
|
+
import { runRules } from "../../engines/rule-engine.js";
|
|
10
10
|
import { fmtTokens, fmtUsd, fmtDate, tokenBar, severity, getWindowSize, LOCAL_TZ } from "../format.js";
|
|
11
11
|
// ── ANSI helpers ─────────────────────────────────────────────────────────────
|
|
12
12
|
/** Move cursor to absolute row (1-based), column 1. */
|
|
@@ -106,8 +106,8 @@ function render(cfg, agent, intervalSec) {
|
|
|
106
106
|
bootstrapMaxChars: cfg.bootstrapMaxChars,
|
|
107
107
|
config: cfg.probe,
|
|
108
108
|
};
|
|
109
|
+
// Read-only: run rules but do NOT persist — top is a pure observer
|
|
109
110
|
const suggestions = runRules(state);
|
|
110
|
-
persistSuggestions(db, agent, suggestions);
|
|
111
111
|
// ── Row 1: title bar ───────────────────────────────────────────────────────
|
|
112
112
|
const ts = nowStr();
|
|
113
113
|
const titleText = `clawprobe top refreshing every ${intervalSec}s (q / Ctrl+C to quit)`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top.js","sourceRoot":"","sources":["../../../src/cli/commands/top.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"top.js","sourceRoot":"","sources":["../../../src/cli/commands/top.ts"],"names":[],"mappings":"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"}
|