@mai0313/vibe-coding-tracker 2.10.1 → 2.11.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.md +17 -0
- package/README.zh-CN.md +17 -0
- package/README.zh-TW.md +17 -0
- package/binaries/linux-arm64-gnu/vibe_coding_tracker +0 -0
- package/binaries/linux-x64-gnu/vibe_coding_tracker +0 -0
- package/binaries/macos-arm64/vibe_coding_tracker +0 -0
- package/binaries/macos-x64/vibe_coding_tracker +0 -0
- package/binaries/windows-arm64/vibe_coding_tracker.exe +0 -0
- package/binaries/windows-x64/vibe_coding_tracker.exe +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -276,6 +276,23 @@ For noninteractive `usage` and `analysis` scans, vct exits with an error when ev
|
|
|
276
276
|
|
|
277
277
|
Every `usage` and `analysis` scan reads and writes a per-session ledger under `~/.vct/sessions/` (one `<provider>.json` per assistant). A session that has not changed is never parsed twice, so one-shot runs and the dashboard's first paint only spend time on what changed. More importantly, a session stays in the ledger after its source is gone: when an assistant prunes its own history (Claude Code keeps 30 days by default) or a whole session directory such as `~/.claude/projects` is deleted, every total still includes it, and noninteractive runs print a one-line note saying how many sessions came from the ledger. A resumed session is re-read when its log changes. The ledger holds only per-day token counts and tool counters in each provider's own shape, never transcripts or prices, and vct never deletes it: an unreadable file is renamed aside and a file written by a newer vct is left alone. Delete the directory to start over from what is on disk. `vct analysis --json` and `vct analysis FILE` parse their files in full and do not use it.
|
|
278
278
|
|
|
279
|
+
### Other Machines
|
|
280
|
+
|
|
281
|
+
`vct usage` and `vct analysis` can add the sessions of other machines to this one's totals. List them as ssh destinations in [`config.toml`](#configuration):
|
|
282
|
+
|
|
283
|
+
```toml
|
|
284
|
+
[remotes]
|
|
285
|
+
hosts = ["devbox", "wei@laptop"]
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
vct then runs `vct ledger export` on each host over ssh and folds what comes back into every total. Only that machine's ledger crosses the connection, which is per-day token counts and tool counters: conversations, databases and credentials stay where they are. Each host needs vct installed, in a version that has `ledger export`, and a login that works without a prompt, because vct runs `ssh` in batch mode: a key, an agent, or whatever your `~/.ssh/config` sets up for that name.
|
|
289
|
+
|
|
290
|
+
- A one-shot command (`--json`, `--text`, `--table`) fetches first and waits up to 30 seconds per host. A host's first export parses its whole history and can outlast that wait; it finishes there anyway, so the next run gets it. The dashboards fetch in the background every `refresh_interval` seconds (default 300) and never wait.
|
|
291
|
+
- A host that cannot be reached keeps showing its last fetched data, with a warning on stderr for a one-shot command and in the log for a dashboard. Taking a host out of `hosts` removes its data.
|
|
292
|
+
- A non-interactive ssh session has a bare `PATH`, so vct looks for the remote binary on `PATH`, in `~/.local/bin`, in `~/.cargo/bin` and under `~/.nvm`. If it is installed elsewhere, set `command` to how to start it.
|
|
293
|
+
- A session both machines hold, as with a shared home directory, counts once. Days are each machine's own local dates. Totals are merged, with no per-machine breakdown.
|
|
294
|
+
- `vct analysis --json`, `vct analysis FILE` and the quota panels stay local.
|
|
295
|
+
|
|
279
296
|
### Live Quota Panels
|
|
280
297
|
|
|
281
298
|
`vct usage` shows **live quota usage for Claude Code, Codex, GitHub Copilot, Cursor, Grok, and Antigravity right in the dashboard — with zero setup.** No status-line hook, no credentials to enter: vct reads each provider's own credentials, calls its usage API (for Antigravity, asks the `agy` CLI) on a background thread, and keeps the panels current while you work. Every gauge is percent **used**, so a full bar means the window is spent, not untouched. (Prefer a quieter dashboard? Trim `panels` under `[usage.quota]` in [`config.toml`](#configuration), or set it to `[]` to hide the quota cards entirely. The per-provider cost line under the table is local scan data, not a quota panel, so it stays whatever you set here.)
|
package/README.zh-CN.md
CHANGED
|
@@ -276,6 +276,23 @@ Grok 的 `usage` 是单一时点的本地 context 估算:vct 会把 `signals.j
|
|
|
276
276
|
|
|
277
277
|
每次 `usage` 与 `analysis` 扫描都会读写 `~/.vct/sessions/` 下的 session 账本(每个助手一个 `<provider>.json`)。没有变动的 session 不会被解析第二次,所以一次性运行与面板的首次加载只需处理有变动的部分。更重要的是,来源消失后 session 仍会留在账本里:当助手清掉自己的历史(Claude Code 默认只保留 30 天),或整个 session 目录(例如 `~/.claude/projects`)被删除时,所有汇总仍会把它们算进去,非交互式运行也会打印一行说明有多少 session 来自账本。继续对话的 session 会在日志变动时重新读取。账本只保存每日的 token 数与工具计数(沿用各 provider 自己的字段形状),不存对话内容也不存价格,而且 vct 永远不会删除它:读不了的文件会改名放在旁边,较新版 vct 写的文件则原封不动。想从磁盘现状重新开始,删掉这个目录即可。`vct analysis --json` 与 `vct analysis FILE` 会完整解析文件,不使用账本。
|
|
278
278
|
|
|
279
|
+
### 其他机器
|
|
280
|
+
|
|
281
|
+
`vct usage` 与 `vct analysis` 可以把其他机器的 session 加进这台的汇总。在 [`config.toml`](#%E9%85%8D%E7%BD%AE) 里把它们列为 ssh 目标:
|
|
282
|
+
|
|
283
|
+
```toml
|
|
284
|
+
[remotes]
|
|
285
|
+
hosts = ["devbox", "wei@laptop"]
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
vct 会通过 ssh 在每台主机上运行 `vct ledger export`,并把返回的结果并入所有汇总。经过连接的只有那台机器的账本,也就是每日的 token 数与工具计数:对话内容、数据库与凭证都留在原地。每台主机都要装有支持 `ledger export` 的 vct,并且能不经提示登录,因为 vct 以批处理模式运行 `ssh`:密钥、agent,或 `~/.ssh/config` 为该名称配置的任何方式皆可。
|
|
289
|
+
|
|
290
|
+
- 一次性命令(`--json`、`--text`、`--table`)会先抓取,每台主机最多等 30 秒。主机第一次导出要解析完整历史,可能超过这个时间;它在那边仍会跑完,所以下一次运行就拿得到。面板则每 `refresh_interval` 秒(默认 300)在后台抓取,从不等待。
|
|
291
|
+
- 连不上的主机会继续显示上次抓到的数据,一次性命令在 stderr 打印警告,面板则记在日志。把主机从 `hosts` 拿掉就会移除它的数据。
|
|
292
|
+
- 非交互式 ssh 的 `PATH` 很精简,所以 vct 会依次在 `PATH`、`~/.local/bin`、`~/.cargo/bin` 与 `~/.nvm` 下找远端的可执行文件。装在别处时,把 `command` 设成启动它的方式。
|
|
293
|
+
- 两台机器都有的 session(例如共用主目录)只算一次。日期是各机器自己的本地日期。汇总是合并后的数字,没有分机器的明细。
|
|
294
|
+
- `vct analysis --json`、`vct analysis FILE` 与额度面板只看本机。
|
|
295
|
+
|
|
279
296
|
### 实时额度面板
|
|
280
297
|
|
|
281
298
|
`vct usage` 会**在仪表盘中直接显示 Claude Code、Codex、GitHub Copilot、Cursor、Grok 与 Antigravity 的实时额度用量——完全零配置。** 不需要 status-line hook,也无需手动输入任何凭证:vct 会读取各 provider 自己的 OAuth 凭证,在后台线程调用其用量 API(Antigravity 则是询问 `agy` CLI),并在你工作时保持面板持续更新。每个进度条都是**已用**百分比,所以进度条满格代表该额度周期已耗尽,而不是还没开始用。(想要更清爽的面板?在 [`config.toml`](#%E9%85%8D%E7%BD%AE) 中精简 `[usage.quota]` 下的 `panels`,或设为 `[]` 隐藏所有额度卡片。表格下方那行各 provider 成本是本机扫描数据而不是额度面板,所以不受这里的设置影响。)
|
package/README.zh-TW.md
CHANGED
|
@@ -276,6 +276,23 @@ Grok 的 `usage` 是單一當下的本地 context 估算:vct 會把 `signals.j
|
|
|
276
276
|
|
|
277
277
|
每次 `usage` 與 `analysis` 掃描都會讀寫 `~/.vct/sessions/` 底下的 session 帳本(每個助手一個 `<provider>.json`)。沒有變動的 session 不會被解析第二次,所以一次性執行與儀表板的首次載入只需處理有變動的部分。更重要的是,來源消失後 session 仍會留在帳本裡:當助手清掉自己的歷史(Claude Code 預設只保留 30 天),或整個 session 目錄(例如 `~/.claude/projects`)被刪除時,所有總計仍會把它們算進去,非互動式執行也會印出一行說明有多少 session 來自帳本。繼續對話的 session 會在紀錄檔變動時重新讀取。帳本只保存每日的 token 數與工具計數(沿用各 provider 自己的欄位形狀),不存對話內容也不存價格,而且 vct 永遠不會刪除它:讀不了的檔案會改名放在旁邊,較新版 vct 寫的檔案則原封不動。想從磁碟現況重新開始,刪掉這個目錄即可。`vct analysis --json` 與 `vct analysis FILE` 會完整解析檔案,不使用帳本。
|
|
278
278
|
|
|
279
|
+
### 其他機器
|
|
280
|
+
|
|
281
|
+
`vct usage` 與 `vct analysis` 可以把其他機器的 session 加進這台的總計。在 [`config.toml`](#%E8%A8%AD%E5%AE%9A) 裡把它們列為 ssh 目標:
|
|
282
|
+
|
|
283
|
+
```toml
|
|
284
|
+
[remotes]
|
|
285
|
+
hosts = ["devbox", "wei@laptop"]
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
vct 會透過 ssh 在每台主機上執行 `vct ledger export`,並把回傳的結果併入所有總計。經過連線的只有那台機器的帳本,也就是每日的 token 數與工具計數:對話內容、資料庫與憑證都留在原地。每台主機都要裝有支援 `ledger export` 的 vct,並且能不經提示登入,因為 vct 以批次模式執行 `ssh`:金鑰、agent,或 `~/.ssh/config` 為該名稱設定的任何方式皆可。
|
|
289
|
+
|
|
290
|
+
- 一次性指令(`--json`、`--text`、`--table`)會先抓取,每台主機最多等 30 秒。主機第一次匯出要解析完整歷史,可能超過這個時間;它在那邊仍會跑完,所以下一次執行就拿得到。儀表板則每 `refresh_interval` 秒(預設 300)在背景抓取,從不等待。
|
|
291
|
+
- 連不上的主機會繼續顯示上次抓到的資料,一次性指令在 stderr 印出警告,儀表板則記在 log。把主機從 `hosts` 拿掉就會移除它的資料。
|
|
292
|
+
- 非互動式 ssh 的 `PATH` 很精簡,所以 vct 會依序在 `PATH`、`~/.local/bin`、`~/.cargo/bin` 與 `~/.nvm` 底下找遠端的執行檔。裝在別處時,把 `command` 設成啟動它的方式。
|
|
293
|
+
- 兩台機器都有的 session(例如共用家目錄)只算一次。日期是各機器自己的本地日期。總計是合併後的數字,沒有分機器的明細。
|
|
294
|
+
- `vct analysis --json`、`vct analysis FILE` 與額度面板只看本機。
|
|
295
|
+
|
|
279
296
|
### 即時額度面板
|
|
280
297
|
|
|
281
298
|
`vct usage` 會**在儀表板中直接顯示 Claude Code、Codex、GitHub Copilot、Cursor、Grok 與 Antigravity 的即時額度用量——完全零設定。** 不需要 status-line hook,也不需要手動輸入憑證:vct 會讀取各 provider 自己的 OAuth 憑證,在背景執行緒呼叫其用量 API(Antigravity 則是詢問 `agy` CLI),並在你工作時讓面板保持最新。每個進度條都是**已用**百分比,所以進度條滿格代表該額度週期已用盡,而不是還沒開始用。(想要更清爽的儀表板嗎?在 [`config.toml`](#%E8%A8%AD%E5%AE%9A) 中精簡 `[usage.quota]` 下的 `panels`,或設為 `[]` 隱藏所有額度卡片。表格下方那行各 provider 成本是本機掃描資料而不是額度面板,所以不受這裡的設定影響。)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mai0313/vibe-coding-tracker",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.0",
|
|
4
4
|
"description": "Vibe Coding Tracker - AI coding assistant telemetry/usage parser, aggregate JSONL events into CodeAnalysis results",
|
|
5
5
|
"author": "Wei Lee <mai@mai0313.com>",
|
|
6
6
|
"license": "MIT",
|