@superbased/observer 1.6.2 → 1.6.3
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.md +79 -24
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -6,29 +6,13 @@
|
|
|
6
6
|
|
|
7
7
|
**Capture, normalize, compress, and analyze every AI coding tool call you
|
|
8
8
|
run** — across Claude Code, Codex, Cursor, Cline / Roo Code, GitHub
|
|
9
|
-
Copilot, OpenCode, OpenClaw, Pi, Google
|
|
10
|
-
in one local single-binary tool.
|
|
11
|
-
leaves your machine.
|
|
9
|
+
Copilot (VS Code), GitHub Copilot CLI, OpenCode, OpenClaw, Pi, Google
|
|
10
|
+
Antigravity, Gemini CLI, and Cowork — in one local single-binary tool.
|
|
11
|
+
No telemetry, no cloud, no data leaves your machine.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
│ (Claude │ │ • intercepts every API call │
|
|
17
|
-
│ Code, │ │ • compresses conversations │
|
|
18
|
-
│ Cursor, │ │ • records api_turns + tokens │
|
|
19
|
-
│ Codex …) │ └──────────────┬───────────────────┘
|
|
20
|
-
│ │ ▼
|
|
21
|
-
│ │ ◀── observer mcp (stdio JSON-RPC) ◀── 12 cross-client tools
|
|
22
|
-
└──────┬───────┘
|
|
23
|
-
│ JSONL session logs
|
|
24
|
-
▼
|
|
25
|
-
┌──────────────────────────────────────────────────────────────┐
|
|
26
|
-
│ observer watch SQLite store :8081 dashboard │
|
|
27
|
-
│ • normalizes tool calls • cost over time │
|
|
28
|
-
│ • freshness, redundancy detection • compression savings │
|
|
29
|
-
│ • patterns, suggestions • discovery / waste │
|
|
30
|
-
└──────────────────────────────────────────────────────────────┘
|
|
31
|
-
```
|
|
13
|
+
<p align="center">
|
|
14
|
+
<img src="https://github.com/marmutapp/superbased-observer/raw/main/docs/assets/infographics/one-local-path.png" alt="One local path for AI coding activity" width="780">
|
|
15
|
+
</p>
|
|
32
16
|
|
|
33
17
|
# Table of contents
|
|
34
18
|
|
|
@@ -180,6 +164,10 @@ export OPENAI_BASE_URL=http://127.0.0.1:8820/v1
|
|
|
180
164
|
|
|
181
165
|
## Architecture in detail
|
|
182
166
|
|
|
167
|
+
<p align="center">
|
|
168
|
+
<img src="https://github.com/marmutapp/superbased-observer/raw/main/docs/assets/infographics/intelligence-across-tools.png" alt="Shared local intelligence layer across tools" width="780">
|
|
169
|
+
</p>
|
|
170
|
+
|
|
183
171
|
Five components running side by side:
|
|
184
172
|
|
|
185
173
|
### 1. JSONL adapters (passive ingest)
|
|
@@ -254,10 +242,14 @@ Code's run. See [MCP tools reference](#mcp-tools-reference).
|
|
|
254
242
|
|
|
255
243
|
## Dashboard tour
|
|
256
244
|
|
|
257
|
-
Open `http://127.0.0.1:8081/` after `observer start`.
|
|
245
|
+
Open `http://127.0.0.1:8081/` after `observer start`. Ten tabs.
|
|
258
246
|
|
|
259
247
|
### Overview tab
|
|
260
248
|
|
|
249
|
+
<p align="center">
|
|
250
|
+
<img src="https://github.com/marmutapp/superbased-observer/raw/main/docs/assets/screenshots/01-overview.png" alt="Overview tab" width="900">
|
|
251
|
+
</p>
|
|
252
|
+
|
|
261
253
|
High-level snapshot of the selected window:
|
|
262
254
|
|
|
263
255
|
- **KPI tiles**: Sessions count, API turns (proxy-captured), Token
|
|
@@ -272,6 +264,10 @@ High-level snapshot of the selected window:
|
|
|
272
264
|
|
|
273
265
|
### Cost tab
|
|
274
266
|
|
|
267
|
+
<p align="center">
|
|
268
|
+
<img src="https://github.com/marmutapp/superbased-observer/raw/main/docs/assets/screenshots/04-cost.png" alt="Cost tab" width="900">
|
|
269
|
+
</p>
|
|
270
|
+
|
|
275
271
|
Per-model breakdown over the selected window. Tokens split into the
|
|
276
272
|
four billing buckets, with computed dollar cost and a reliability
|
|
277
273
|
flag. Cost is always computed locally as `tokens × pricing_table[model]`
|
|
@@ -288,8 +284,30 @@ uses those as-is when present. See
|
|
|
288
284
|
Hover any column header for tooltip; click for the full definition
|
|
289
285
|
in the help drawer.
|
|
290
286
|
|
|
287
|
+
### Analysis tab
|
|
288
|
+
|
|
289
|
+
<p align="center">
|
|
290
|
+
<img src="https://github.com/marmutapp/superbased-observer/raw/main/docs/assets/screenshots/05-analysis.png" alt="Analysis tab" width="900">
|
|
291
|
+
</p>
|
|
292
|
+
|
|
293
|
+
Spending insights for the selected window. Twelve headline KPI
|
|
294
|
+
tiles comparing this period to prior: spend Δ%, MTD vs budget with
|
|
295
|
+
projection bar, $/M output rate, cache savings + cache efficacy %,
|
|
296
|
+
high-context turn count, $/turn, burn rate ($/active hour), top
|
|
297
|
+
model concentration %, Discovery waste $, sessions total. Below
|
|
298
|
+
the tiles: a daily-spend stacked bar with Model / Project / Tool
|
|
299
|
+
dimension toggle, hour-of-day heatmap, top-12 expensive sessions
|
|
300
|
+
with explanatory badges (`opus`, `lc_tier`, `many_turns`,
|
|
301
|
+
`large_prompt`), period-over-period movers (top increases / decreases
|
|
302
|
+
/ new entrants), and routing-efficiency suggestions (trivial Opus
|
|
303
|
+
sessions that could have used Sonnet).
|
|
304
|
+
|
|
291
305
|
### Sessions tab
|
|
292
306
|
|
|
307
|
+
<p align="center">
|
|
308
|
+
<img src="https://github.com/marmutapp/superbased-observer/raw/main/docs/assets/screenshots/02-sessions.png" alt="Sessions tab" width="900">
|
|
309
|
+
</p>
|
|
310
|
+
|
|
293
311
|
One row per AI-coding session. Each session has a stable ID, a tool
|
|
294
312
|
(claude-code / cursor / codex / cline / copilot / opencode / openclaw /
|
|
295
313
|
pi / antigravity / gemini-cli), a working-directory project, action
|
|
@@ -298,7 +316,12 @@ the `Agent` tool), per-session **Tokens** and **Cost** columns, and —
|
|
|
298
316
|
if `observer score` has run — quality / errors / redundancy ratios. The `~` suffix on Cost flags rows whose pricing
|
|
299
317
|
was tier-fallback rather than billing-grade ("accurate" reliability).
|
|
300
318
|
|
|
301
|
-
Click a row to open the session-detail
|
|
319
|
+
Click a row to open the session-detail panel:
|
|
320
|
+
|
|
321
|
+
<p align="center">
|
|
322
|
+
<img src="https://github.com/marmutapp/superbased-observer/raw/main/docs/assets/screenshots/10-session-detail.png" alt="Session detail slide-over" width="900">
|
|
323
|
+
</p>
|
|
324
|
+
|
|
302
325
|
|
|
303
326
|
- **Top tiles** — Tool, Started, Actions count (ok/fail), Cost.
|
|
304
327
|
- **Action breakdown** — chart of action_type counts.
|
|
@@ -325,6 +348,10 @@ Click a row to open the session-detail modal:
|
|
|
325
348
|
|
|
326
349
|
### Actions tab
|
|
327
350
|
|
|
351
|
+
<p align="center">
|
|
352
|
+
<img src="https://github.com/marmutapp/superbased-observer/raw/main/docs/assets/screenshots/03-actions.png" alt="Actions tab" width="900">
|
|
353
|
+
</p>
|
|
354
|
+
|
|
328
355
|
The flat firehose: every recorded tool call, normalized across
|
|
329
356
|
adapters. Filter by action type (`read_file`, `write_file`,
|
|
330
357
|
`run_command`, `spawn_subagent`, `todo_update`, `mcp_call`, …).
|
|
@@ -333,6 +360,10 @@ the heading.
|
|
|
333
360
|
|
|
334
361
|
### Tools tab
|
|
335
362
|
|
|
363
|
+
<p align="center">
|
|
364
|
+
<img src="https://github.com/marmutapp/superbased-observer/raw/main/docs/assets/screenshots/06-tools.png" alt="Tools tab" width="900">
|
|
365
|
+
</p>
|
|
366
|
+
|
|
336
367
|
Per-AI-client (the *client* — claude-code / cursor / codex / etc., not
|
|
337
368
|
the per-tool name) aggregates plus three views:
|
|
338
369
|
|
|
@@ -347,6 +378,10 @@ the per-tool name) aggregates plus three views:
|
|
|
347
378
|
|
|
348
379
|
### Compression tab
|
|
349
380
|
|
|
381
|
+
<p align="center">
|
|
382
|
+
<img src="https://github.com/marmutapp/superbased-observer/raw/main/docs/assets/screenshots/07-compression.png" alt="Compression tab" width="900">
|
|
383
|
+
</p>
|
|
384
|
+
|
|
350
385
|
How many tokens and dollars the conversation-compression pipeline
|
|
351
386
|
saved by trimming requests before forwarding upstream:
|
|
352
387
|
|
|
@@ -366,6 +401,10 @@ saved by trimming requests before forwarding upstream:
|
|
|
366
401
|
|
|
367
402
|
### Discovery tab
|
|
368
403
|
|
|
404
|
+
<p align="center">
|
|
405
|
+
<img src="https://github.com/marmutapp/superbased-observer/raw/main/docs/assets/screenshots/08-discovery.png" alt="Discovery tab" width="900">
|
|
406
|
+
</p>
|
|
407
|
+
|
|
369
408
|
Wasted-effort signals:
|
|
370
409
|
|
|
371
410
|
- **Stale rereads** — files re-read after they changed inside the
|
|
@@ -394,6 +433,22 @@ observations push it higher) and an observation count.
|
|
|
394
433
|
high-confidence ones into `CLAUDE.md` / `AGENTS.md` / `.cursorrules`
|
|
395
434
|
so new sessions inherit your habits.
|
|
396
435
|
|
|
436
|
+
### Settings tab
|
|
437
|
+
|
|
438
|
+
<p align="center">
|
|
439
|
+
<img src="https://github.com/marmutapp/superbased-observer/raw/main/docs/assets/screenshots/09-settings.png" alt="Settings tab" width="900">
|
|
440
|
+
</p>
|
|
441
|
+
|
|
442
|
+
Fully editable visual editor for everything in `config.toml`.
|
|
443
|
+
Pricing overrides hot-reload (no daemon restart — `cost.Engine`
|
|
444
|
+
swaps the pricing table atomically via `atomic.Pointer.Store`).
|
|
445
|
+
The Backfill panel surfaces every `observer backfill` mode as
|
|
446
|
+
click-to-run buttons that spawn the CLI as a child process and
|
|
447
|
+
stream output back live. Watcher / Freshness / Retention / Hooks /
|
|
448
|
+
Proxy / Compression / Intelligence sections are schema-driven forms
|
|
449
|
+
with inline help; a "Restart daemon" banner appears whenever a
|
|
450
|
+
section is saved that consumers bind at startup.
|
|
451
|
+
|
|
397
452
|
### Help drawer
|
|
398
453
|
|
|
399
454
|
Press `?` anywhere on the dashboard or click the **? Help** button in
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superbased/observer",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.3",
|
|
4
4
|
"description": "SuperBased Observer — capture, normalize, compress, and analyze AI coding tool activity across Claude Code, Codex, Cursor, Cline/Roo, and Copilot.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
"LICENSE"
|
|
37
37
|
],
|
|
38
38
|
"optionalDependencies": {
|
|
39
|
-
"@superbased/observer-linux-x64": "1.6.
|
|
40
|
-
"@superbased/observer-linux-arm64": "1.6.
|
|
41
|
-
"@superbased/observer-darwin-x64": "1.6.
|
|
42
|
-
"@superbased/observer-darwin-arm64": "1.6.
|
|
43
|
-
"@superbased/observer-win32-x64": "1.6.
|
|
39
|
+
"@superbased/observer-linux-x64": "1.6.3",
|
|
40
|
+
"@superbased/observer-linux-arm64": "1.6.3",
|
|
41
|
+
"@superbased/observer-darwin-x64": "1.6.3",
|
|
42
|
+
"@superbased/observer-darwin-arm64": "1.6.3",
|
|
43
|
+
"@superbased/observer-win32-x64": "1.6.3"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"test": "node bin/observer.js --version"
|