vibe-coding-tracker 2.5.0__tar.gz → 2.6.0__tar.gz
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.
- {vibe_coding_tracker-2.5.0 → vibe_coding_tracker-2.6.0}/PKG-INFO +16 -13
- {vibe_coding_tracker-2.5.0 → vibe_coding_tracker-2.6.0}/README.md +15 -12
- {vibe_coding_tracker-2.5.0 → vibe_coding_tracker-2.6.0}/pyproject.toml +1 -1
- {vibe_coding_tracker-2.5.0 → vibe_coding_tracker-2.6.0}/src/vibe_coding_tracker/binaries/linux-arm64-gnu/vibe_coding_tracker +0 -0
- {vibe_coding_tracker-2.5.0 → vibe_coding_tracker-2.6.0}/src/vibe_coding_tracker/binaries/linux-x64-gnu/vibe_coding_tracker +0 -0
- {vibe_coding_tracker-2.5.0 → vibe_coding_tracker-2.6.0}/src/vibe_coding_tracker/binaries/macos-arm64/vibe_coding_tracker +0 -0
- {vibe_coding_tracker-2.5.0 → vibe_coding_tracker-2.6.0}/src/vibe_coding_tracker/binaries/macos-x64/vibe_coding_tracker +0 -0
- {vibe_coding_tracker-2.5.0 → vibe_coding_tracker-2.6.0}/src/vibe_coding_tracker/binaries/windows-arm64/vibe_coding_tracker.exe +0 -0
- {vibe_coding_tracker-2.5.0 → vibe_coding_tracker-2.6.0}/src/vibe_coding_tracker/binaries/windows-x64/vibe_coding_tracker.exe +0 -0
- {vibe_coding_tracker-2.5.0 → vibe_coding_tracker-2.6.0}/src/vibe_coding_tracker/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: vibe-coding-tracker
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.6.0
|
|
4
4
|
Summary: Vibe Coding Tracker - AI coding assistant telemetry/usage parser, aggregate JSONL events into CodeAnalysis results
|
|
5
5
|
Keywords: cli,ai,coding-assistant,telemetry,claude,codex,gemini,usage-tracker,analytics
|
|
6
6
|
Author: Wei Lee
|
|
@@ -45,7 +45,7 @@ Description-Content-Type: text/markdown
|
|
|
45
45
|
|
|
46
46
|
</div>
|
|
47
47
|
|
|
48
|
-
**Track your AI coding costs in real-time.** Vibe Coding Tracker is a lightweight, high-performance CLI tool built in Rust that monitors and analyzes your Claude Code, Codex, Copilot, Gemini, OpenCode, Cursor, Hermes, and
|
|
48
|
+
**Track your AI coding costs in real-time.** Vibe Coding Tracker is a lightweight, high-performance CLI tool built in Rust that monitors and analyzes your Claude Code, Codex, Copilot, Gemini, OpenCode, Cursor, Hermes, Grok, and DeepSeek Harness usage — with detailed cost breakdowns, token statistics, and code operation insights, all while keeping the memory footprint minimal.
|
|
49
49
|
|
|
50
50
|
[English](README.md) | [繁體中文](README.zh-TW.md) | [简体中文](README.zh-CN.md)
|
|
51
51
|
|
|
@@ -74,7 +74,7 @@ Choose your preferred view:
|
|
|
74
74
|
|
|
75
75
|
### Zero Configuration
|
|
76
76
|
|
|
77
|
-
Automatically detects and processes logs from Claude Code, Codex, Copilot, Gemini, OpenCode, Cursor, Hermes, and
|
|
77
|
+
Automatically detects and processes logs from Claude Code, Codex, Copilot, Gemini, OpenCode, Cursor, Hermes, Grok, and DeepSeek Harness. No setup required — just run and analyze. A `~/.vct/config.toml` is created with sensible defaults on first run if you ever want to tweak behavior (see [Configuration](#configuration)).
|
|
78
78
|
|
|
79
79
|
### Rich Insights
|
|
80
80
|
|
|
@@ -88,15 +88,15 @@ Automatically detects and processes logs from Claude Code, Codex, Copilot, Gemin
|
|
|
88
88
|
|
|
89
89
|
## Key Features
|
|
90
90
|
|
|
91
|
-
| Feature | Description
|
|
92
|
-
| --------------------- |
|
|
93
|
-
| **Multi-Provider** | Claude Code, Codex, Copilot, Gemini, OpenCode, Cursor, Hermes, and
|
|
94
|
-
| **Smart Pricing** | Fuzzy model matching + daily cache from LiteLLM
|
|
95
|
-
| **4 Display Modes** | Interactive TUI, static table, plain text, and JSON
|
|
96
|
-
| **Dual Analysis** | Token/cost stats (`usage`) + code operation stats (`analysis`)
|
|
97
|
-
| **Live Quota Panels** | Live quota usage for Claude, Codex, Copilot, Cursor, and Grok
|
|
98
|
-
| **Ultra-Lightweight** | Under ~50 MB RSS in the TUI, compact incremental scans — built with Rust
|
|
99
|
-
| **Live Updates** | Responsive loading and background refreshes with change highlighting
|
|
91
|
+
| Feature | Description |
|
|
92
|
+
| --------------------- | ----------------------------------------------------------------------------------------- |
|
|
93
|
+
| **Multi-Provider** | Claude Code, Codex, Copilot, Gemini, OpenCode, Cursor, Hermes, Grok, and DeepSeek Harness |
|
|
94
|
+
| **Smart Pricing** | Fuzzy model matching + daily cache from LiteLLM |
|
|
95
|
+
| **4 Display Modes** | Interactive TUI, static table, plain text, and JSON |
|
|
96
|
+
| **Dual Analysis** | Token/cost stats (`usage`) + code operation stats (`analysis`) |
|
|
97
|
+
| **Live Quota Panels** | Live quota usage for Claude, Codex, Copilot, Cursor, and Grok |
|
|
98
|
+
| **Ultra-Lightweight** | Under ~50 MB RSS in the TUI, compact incremental scans — built with Rust |
|
|
99
|
+
| **Live Updates** | Responsive loading and background refreshes with change highlighting |
|
|
100
100
|
|
|
101
101
|
---
|
|
102
102
|
|
|
@@ -325,6 +325,7 @@ The tool automatically scans these directories:
|
|
|
325
325
|
- `~/.cursor/chats/*/*/store.db` (Cursor — SQLite chat stores, used for `analysis` and a local `usage` estimate consistent with the other providers)
|
|
326
326
|
- `~/.hermes/state.db` (Hermes — SQLite database, honors `$HERMES_HOME`; `usage` only)
|
|
327
327
|
- `$GROK_HOME/sessions/*/*/signals.json` (Grok CLI — defaults to `~/.grok`; sibling `updates.jsonl` supplies `analysis` data)
|
|
328
|
+
- `$DSH_HOME/sessions/*/*/session.jsonl.zstd` (DeepSeek Harness — defaults to `~/.dsh`; a root configured with `compression = "none"` writes `session.jsonl` instead, and both are read)
|
|
328
329
|
|
|
329
330
|
Grok `usage` is one point-in-time local context estimate: vct records `signals.json`'s `contextTokensUsed` as cache-read tokens and estimates cost at the model's cache-read price. It is not cumulative billed usage. `analysis` reconstructs completed Read / Write / Edit / Bash / TodoWrite operations from the sibling `updates.jsonl`. For your actual billed allowance, see the Grok quota panel below.
|
|
330
331
|
|
|
@@ -373,7 +374,7 @@ A panel appears only for a provider whose credentials are present. Panels are pl
|
|
|
373
374
|
| `--json` | Complete parser results as JSON: one object for `<FILE>`, otherwise an array of objects |
|
|
374
375
|
| `--daily` / `--weekly` / `--monthly` / `--all` | Time range filter for all-session analysis (see table above; not accepted with `<FILE>`) |
|
|
375
376
|
|
|
376
|
-
See [`tests/fixtures/sessions/`](tests/fixtures/sessions/) for sample inputs and matching JSON outputs for the four JSONL providers, plus the Grok session fixture under [`tests/fixtures/sessions/grok/`](tests/fixtures/sessions/grok/).
|
|
377
|
+
See [`tests/fixtures/sessions/`](tests/fixtures/sessions/) for sample inputs and matching JSON outputs for the four JSONL providers, plus the Grok session fixture under [`tests/fixtures/sessions/grok/`](tests/fixtures/sessions/grok/) and the DeepSeek Harness one under [`tests/fixtures/sessions/dsh/`](tests/fixtures/sessions/dsh/).
|
|
377
378
|
|
|
378
379
|
### Basic Usage
|
|
379
380
|
|
|
@@ -631,6 +632,7 @@ opencode = true
|
|
|
631
632
|
cursor = true
|
|
632
633
|
hermes = true
|
|
633
634
|
grok = true
|
|
635
|
+
dsh = true
|
|
634
636
|
|
|
635
637
|
[logging]
|
|
636
638
|
# Minimum level written to ~/.vct/logs/vct-YYYY-MM-DD.log.
|
|
@@ -709,6 +711,7 @@ Generic placeholder names (e.g. `default`, what cursor-agent records for auto-mo
|
|
|
709
711
|
- **Beyond tokens**: Claude web-search tool calls (`server_tool_use.web_search_requests`) are billed per query on top of the token cost; every other model's per-query charge is $0.
|
|
710
712
|
- **OpenCode**: a novel model name is priced from its tokens only on an **exact** LiteLLM match; with no exact match, vct trusts the assistant message's own stored cost instead of guessing from a loosely-similar name.
|
|
711
713
|
- **Hermes**: priced the same way as OpenCode — an **exact** LiteLLM match prices from tokens, otherwise vct uses Hermes's own stored cost.
|
|
714
|
+
- **DeepSeek Harness**: `dsh` records no cost of its own, so every model is priced from LiteLLM through the same lookup chain as the other file-based providers — there is no stored-cost fallback like OpenCode's or Hermes's. It routes to whatever the deployment configures, so expect deployment-defined model names, which land at $0 when nothing in LiteLLM matches.
|
|
712
715
|
- **Grok**: `contextTokensUsed` is priced as cache-read tokens only (falling back to the input rate when the model publishes no cache-read price); this is a point-in-time local context estimate, not cumulative billed usage.
|
|
713
716
|
- **Cache is raw**: the daily cache stores the filtered upstream LiteLLM JSON (not a derived shape), so tiered / batch pricing stays available without re-fetching, and each pricing map owns a small in-process LRU so repeated lookups stay cheap without cross-map contamination.
|
|
714
717
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
</div>
|
|
21
21
|
|
|
22
|
-
**Track your AI coding costs in real-time.** Vibe Coding Tracker is a lightweight, high-performance CLI tool built in Rust that monitors and analyzes your Claude Code, Codex, Copilot, Gemini, OpenCode, Cursor, Hermes, and
|
|
22
|
+
**Track your AI coding costs in real-time.** Vibe Coding Tracker is a lightweight, high-performance CLI tool built in Rust that monitors and analyzes your Claude Code, Codex, Copilot, Gemini, OpenCode, Cursor, Hermes, Grok, and DeepSeek Harness usage — with detailed cost breakdowns, token statistics, and code operation insights, all while keeping the memory footprint minimal.
|
|
23
23
|
|
|
24
24
|
[English](README.md) | [繁體中文](README.zh-TW.md) | [简体中文](README.zh-CN.md)
|
|
25
25
|
|
|
@@ -48,7 +48,7 @@ Choose your preferred view:
|
|
|
48
48
|
|
|
49
49
|
### Zero Configuration
|
|
50
50
|
|
|
51
|
-
Automatically detects and processes logs from Claude Code, Codex, Copilot, Gemini, OpenCode, Cursor, Hermes, and
|
|
51
|
+
Automatically detects and processes logs from Claude Code, Codex, Copilot, Gemini, OpenCode, Cursor, Hermes, Grok, and DeepSeek Harness. No setup required — just run and analyze. A `~/.vct/config.toml` is created with sensible defaults on first run if you ever want to tweak behavior (see [Configuration](#configuration)).
|
|
52
52
|
|
|
53
53
|
### Rich Insights
|
|
54
54
|
|
|
@@ -62,15 +62,15 @@ Automatically detects and processes logs from Claude Code, Codex, Copilot, Gemin
|
|
|
62
62
|
|
|
63
63
|
## Key Features
|
|
64
64
|
|
|
65
|
-
| Feature | Description
|
|
66
|
-
| --------------------- |
|
|
67
|
-
| **Multi-Provider** | Claude Code, Codex, Copilot, Gemini, OpenCode, Cursor, Hermes, and
|
|
68
|
-
| **Smart Pricing** | Fuzzy model matching + daily cache from LiteLLM
|
|
69
|
-
| **4 Display Modes** | Interactive TUI, static table, plain text, and JSON
|
|
70
|
-
| **Dual Analysis** | Token/cost stats (`usage`) + code operation stats (`analysis`)
|
|
71
|
-
| **Live Quota Panels** | Live quota usage for Claude, Codex, Copilot, Cursor, and Grok
|
|
72
|
-
| **Ultra-Lightweight** | Under ~50 MB RSS in the TUI, compact incremental scans — built with Rust
|
|
73
|
-
| **Live Updates** | Responsive loading and background refreshes with change highlighting
|
|
65
|
+
| Feature | Description |
|
|
66
|
+
| --------------------- | ----------------------------------------------------------------------------------------- |
|
|
67
|
+
| **Multi-Provider** | Claude Code, Codex, Copilot, Gemini, OpenCode, Cursor, Hermes, Grok, and DeepSeek Harness |
|
|
68
|
+
| **Smart Pricing** | Fuzzy model matching + daily cache from LiteLLM |
|
|
69
|
+
| **4 Display Modes** | Interactive TUI, static table, plain text, and JSON |
|
|
70
|
+
| **Dual Analysis** | Token/cost stats (`usage`) + code operation stats (`analysis`) |
|
|
71
|
+
| **Live Quota Panels** | Live quota usage for Claude, Codex, Copilot, Cursor, and Grok |
|
|
72
|
+
| **Ultra-Lightweight** | Under ~50 MB RSS in the TUI, compact incremental scans — built with Rust |
|
|
73
|
+
| **Live Updates** | Responsive loading and background refreshes with change highlighting |
|
|
74
74
|
|
|
75
75
|
---
|
|
76
76
|
|
|
@@ -299,6 +299,7 @@ The tool automatically scans these directories:
|
|
|
299
299
|
- `~/.cursor/chats/*/*/store.db` (Cursor — SQLite chat stores, used for `analysis` and a local `usage` estimate consistent with the other providers)
|
|
300
300
|
- `~/.hermes/state.db` (Hermes — SQLite database, honors `$HERMES_HOME`; `usage` only)
|
|
301
301
|
- `$GROK_HOME/sessions/*/*/signals.json` (Grok CLI — defaults to `~/.grok`; sibling `updates.jsonl` supplies `analysis` data)
|
|
302
|
+
- `$DSH_HOME/sessions/*/*/session.jsonl.zstd` (DeepSeek Harness — defaults to `~/.dsh`; a root configured with `compression = "none"` writes `session.jsonl` instead, and both are read)
|
|
302
303
|
|
|
303
304
|
Grok `usage` is one point-in-time local context estimate: vct records `signals.json`'s `contextTokensUsed` as cache-read tokens and estimates cost at the model's cache-read price. It is not cumulative billed usage. `analysis` reconstructs completed Read / Write / Edit / Bash / TodoWrite operations from the sibling `updates.jsonl`. For your actual billed allowance, see the Grok quota panel below.
|
|
304
305
|
|
|
@@ -347,7 +348,7 @@ A panel appears only for a provider whose credentials are present. Panels are pl
|
|
|
347
348
|
| `--json` | Complete parser results as JSON: one object for `<FILE>`, otherwise an array of objects |
|
|
348
349
|
| `--daily` / `--weekly` / `--monthly` / `--all` | Time range filter for all-session analysis (see table above; not accepted with `<FILE>`) |
|
|
349
350
|
|
|
350
|
-
See [`tests/fixtures/sessions/`](tests/fixtures/sessions/) for sample inputs and matching JSON outputs for the four JSONL providers, plus the Grok session fixture under [`tests/fixtures/sessions/grok/`](tests/fixtures/sessions/grok/).
|
|
351
|
+
See [`tests/fixtures/sessions/`](tests/fixtures/sessions/) for sample inputs and matching JSON outputs for the four JSONL providers, plus the Grok session fixture under [`tests/fixtures/sessions/grok/`](tests/fixtures/sessions/grok/) and the DeepSeek Harness one under [`tests/fixtures/sessions/dsh/`](tests/fixtures/sessions/dsh/).
|
|
351
352
|
|
|
352
353
|
### Basic Usage
|
|
353
354
|
|
|
@@ -605,6 +606,7 @@ opencode = true
|
|
|
605
606
|
cursor = true
|
|
606
607
|
hermes = true
|
|
607
608
|
grok = true
|
|
609
|
+
dsh = true
|
|
608
610
|
|
|
609
611
|
[logging]
|
|
610
612
|
# Minimum level written to ~/.vct/logs/vct-YYYY-MM-DD.log.
|
|
@@ -683,6 +685,7 @@ Generic placeholder names (e.g. `default`, what cursor-agent records for auto-mo
|
|
|
683
685
|
- **Beyond tokens**: Claude web-search tool calls (`server_tool_use.web_search_requests`) are billed per query on top of the token cost; every other model's per-query charge is $0.
|
|
684
686
|
- **OpenCode**: a novel model name is priced from its tokens only on an **exact** LiteLLM match; with no exact match, vct trusts the assistant message's own stored cost instead of guessing from a loosely-similar name.
|
|
685
687
|
- **Hermes**: priced the same way as OpenCode — an **exact** LiteLLM match prices from tokens, otherwise vct uses Hermes's own stored cost.
|
|
688
|
+
- **DeepSeek Harness**: `dsh` records no cost of its own, so every model is priced from LiteLLM through the same lookup chain as the other file-based providers — there is no stored-cost fallback like OpenCode's or Hermes's. It routes to whatever the deployment configures, so expect deployment-defined model names, which land at $0 when nothing in LiteLLM matches.
|
|
686
689
|
- **Grok**: `contextTokensUsed` is priced as cache-read tokens only (falling back to the input rate when the model publishes no cache-read price); this is a point-in-time local context estimate, not cumulative billed usage.
|
|
687
690
|
- **Cache is raw**: the daily cache stores the filtered upstream LiteLLM JSON (not a derived shape), so tiered / batch pricing stays available without re-fetching, and each pricing map owns a small in-process LRU so repeated lookups stay cheap without cross-map contamination.
|
|
688
691
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "vibe_coding_tracker"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.6.0"
|
|
4
4
|
description = "Vibe Coding Tracker - AI coding assistant telemetry/usage parser, aggregate JSONL events into CodeAnalysis results"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Wei Lee", email = "mai@mai0313.com" }
|
|
index b67b04f..c7e9e23 100755
|
|
|
Binary file
|
|
index 034914b..8808cc7 100755
|
|
|
Binary file
|
|
index 6da72ee..4aaf50a 100755
|
|
|
Binary file
|
|
index 199d45f..1357213 100755
|
|
|
Binary file
|
|
index d192710..1163891 100644
|
|
|
Binary file
|
|
index 79e3bba..2bf17b4 100644
|
|
|
Binary file
|
|
File without changes
|