@superbased/observer 1.6.1 → 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.
Files changed (2) hide show
  1. package/README.md +79 -24
  2. 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 Antigravity, and Gemini CLI —
10
- in one local single-binary tool. No telemetry, no cloud, no data
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
- │ AI clients │ ─▶ │ observer proxy :8820 (local) │ ─▶ Anthropic / OpenAI
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`. Eight tabs.
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 modal:
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.1",
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.1",
40
- "@superbased/observer-linux-arm64": "1.6.1",
41
- "@superbased/observer-darwin-x64": "1.6.1",
42
- "@superbased/observer-darwin-arm64": "1.6.1",
43
- "@superbased/observer-win32-x64": "1.6.1"
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"