Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 8 additions & 45 deletions README-en.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Hover the quota indicator for a breakdown:

![Dashboard](images/v2-dashboard-en.png)

### v2.3.1 Codex and Compare
### v2.3 Codex and Compare

![Claude Today, Simplified Chinese, dark theme](images/v2.3.1/claude-today-zh-CN-dark.png)

Expand All @@ -36,7 +36,7 @@ Hover the quota indicator for a breakdown:

![Combined Claude and Codex heatmap, English, light theme](images/v2.3.1/compare-heatmap-en-light.png)

These four v2.3.1 captures use the production renderer, synthetic fixtures, and VS Code Light+/Dark+ theme variables—not personal usage or billing evidence. Native VSIX installation is checked separately.
These four v2.3 captures use the production renderer, synthetic fixtures, and VS Code Light+/Dark+ theme variables—not personal usage or billing evidence. Native VSIX installation is checked separately.

- Codex shows **Today token usage** and separate **remaining quota**: 36% used means `wk 64%`. Hover shows utilisation bars, resets, and wrapped notes. Quota is last-observed local evidence, not a live balance.
- Period details start collapsed; sharing settings sit below the preview. Sharing is on by default with an off switch and quantile, logarithmic, or linear intensity.
Expand All @@ -53,50 +53,13 @@ These four v2.3.1 captures use the production renderer, synthetic fixtures, and
- **Multi-vendor pricing** — Opus 4.x / Sonnet 4.x / Haiku 4.5 verified against Anthropic's public pricing; reference rates for OpenAI / Gemini / DeepSeek / Kimi / GLM / Qwen with family-aware fallback. `Refresh Token Pricing` pulls live LiteLLM data.
- **Personalisation** — language, timezone, decimal places, compact numbers, project grouping, dashboard auto-refresh toggle.

## What's new in v2.3.2

- Settings now uses one curated currency dropdown, defaulting to USD. Thirteen
additional display currencies use a bundled, fixed 2026-09-09 ECB-derived
snapshot; rates are not editable or fetched, and source estimates remain USD.
- Claude and Codex now share complete All time month → day and Last 30 days day
→ hour drill-down wherever materialized aggregates exist, with matching mouse,
keyboard, focus, nested-collapse, and reload behavior and no JSONL read on click.
- Normal live refresh preserves the active tab, expansion chain, selected
metric/hour, Optimizer draft, keyboard focus, and nearby scroll anchor.
- Every chart exposes a localized provider-qualified accessible name. Empty
hours keep their axis, table, tooltip, and selectable zero value without
repeating `0` above every bar; genuinely unpriced activity still shows `—`.
- Provider watchers recover with bounded backoff, and unchanged Codex
thread-title indexes use a validated memory cache to reduce background work.

The reviewed draft is `v2.3.2`; the human-controlled publish workflow stamps package metadata from that release tag.

## What's new in v2.3.1

- Exact pricing and context metadata now cover **GPT-6 Astra**
(`gpt-6-astra`, 1.05M context) and **Claude Fable 5.1 / Mythos 5.1**
(`claude-fable-5-1` / `claude-mythos-5-1`, 1M context). Fable 5.1 uses its
model-specific `$0.25 / MTok` cache-read rate without changing historical
Fable 5 data. GPT-6 API-equivalent values use the official Standard
short-context rates; the request-wide surcharge above 272K input is excluded
because aggregate local logs cannot establish that per-request threshold.
- Claude estimates can optionally use direct Anthropic or AWS Bedrock in-region
on-demand rates for current Opus, Sonnet, and Haiku families. Switching the
backend reprices unchanged logs immediately; Sonnet 5 uses the standard rate
after its launch promotion ended on 31 August 2026.
- Last 30 days is the configured-timezone current date plus the preceding 29 dates. Today ≤ Last 30 days ≤ All time, repeated refresh/reindex is stable, all breakdowns reconcile, and months run oldest-first. Claude's Workflows summary uses the same rolling range and assigns each run by its configured-zone start date. Chart metric switches and drill-down labels render daily/monthly usage keys without host-timezone rollback; Advice and Optimizer snooze dates also use the configured timezone and UI locale.
- Structured reasoning-effort variants normalize without model-name guessing. Non-zero unknown is explained; zero unknown is hidden.
- Bounded anonymous quota observations preserve irregular and same-day resets. Every valid same-window used fraction contributes to labelled total and unused subscription-durability estimates, including the current window. Approximate or unattributed evidence is low confidence. If local Codex quota series overlap, the current window uses the latest real observation for a low-confidence blended estimate; ambiguous completed windows remain used-only. Unused value never becomes negative.
- Compare now leads with a combined Claude + Codex activity heatmap that reuses daily aggregates, works with either provider alone, and keeps both components in every tooltip.
- The preview-first share studio supports deterministic local SVG, a combined card, copyable Markdown, title/range controls, a privacy preview, and curated/custom colors. It is on by default and can be hidden with one Settings switch. Academic Violet is the default; intensity can use quantile (default), logarithmic, or linear mapping. Optional public-GitHub publication is separately confirmed at the exact destination.
- Codex Token composition now shows **uncached usage** (uncached input + output) above the non-overlapping uncached-input / cached-input / output stack; reasoning remains a subset of output.
- Codex scrolling stays smooth while indexing: scroll state is saved once after a gesture and live index progress patches text without rebuilding the page. Per-model green headlines now show exact-model API-equivalent price with coverage help; unknown models show `—`, while effort headlines retain neutral uncached-token values.
- OpenAI-compatible optimizer requests now send `reasoning_effort` without the unsupported top-level `thinking` parameter, resolving [#94](https://github.com/ClaudeCodeUsage/ClaudeCodeUsage/issues/94).
- Claude and Codex now share dashboard density, hierarchy, disclosure, focus, ARIA, narrow-width, and light/dark design tokens while retaining provider-specific metric meanings.
- Get AI Advice and Usage Optimizer share one exact-preview and explicit-send boundary. There is no default or background AI request, and local evidence/feedback remains bounded.

## Codex Beta in v2.3
## What's new in v2.3

- **Refined throughout the v2.3 line** — GPT-6 Astra and Fable 5.1 model
metadata, optional AWS Bedrock pricing, a fixed-reference display-currency
selector, complete month/day/hour drill-downs, state-preserving refresh,
accessible charts, and lower watcher/title-index overhead. Patch-level
details stay in the changelog and GitHub Releases.
- Codex usage records are discovered only from `sessions/**/*.jsonl` and `archived_sessions/**/*.jsonl`; credential, database, and unknown files remain excluded. Separately, the extension streams exactly `$CODEX_HOME/session_index.jsonl` to map `id` to `thread_name` for truthful thread titles. Absolute paths are redacted and titles remain memory-only. Usage-record JSONL lines are streamed and temporarily parsed only to extract allowlisted usage and structural metadata; prompt, response, command, and tool-argument fields are not inspected or used for analysis, and are never retained or persisted.
- **Processed** means input + output, **uncached usage** means uncached input + output, **cached input** remains a subset of input, and reasoning remains a subset of output. The overview also shows input cache hit rate as cached input / input. Codex billing cost is not shown. Its first summary card is a clearly labelled API-equivalent cost estimate for the selected scope, and the All-time view shows the weekly trend on the same pricing basis; Claude / Codex / Compare keep each provider's accounting separate.
- Codex **Today** means the current calendar day in the configured timezone. It adds exact hourly API-equivalent cost beside a separate token-composition view; daily and monthly primary charts also default to API-equivalent cost while token composition stays separately visible. Only exact known-model prices contribute, so unknown models remain unpriced and pricing coverage stays visible. The additive, schema-3-compatible hourly sidecar keeps sparse buckets for the rolling last 30 days, is checkpointed and resumable, evicts day 31, and serves date expansion without reading JSONL on click. Codex monthly charts and tables list months oldest-first.
Expand Down
55 changes: 8 additions & 47 deletions README-id.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Arahkan kursor ke indikator kuota untuk melihat rinciannya:

![Dashboard](images/v2-dashboard-en.png)

### Codex dan Perbandingan v2.3.1
### Codex dan Perbandingan v2.3

![Claude hari ini, Tionghoa Sederhana, tema gelap](images/v2.3.1/claude-today-zh-CN-dark.png)

Expand All @@ -36,7 +36,7 @@ Arahkan kursor ke indikator kuota untuk melihat rinciannya:

![Heatmap gabungan Claude dan Codex, Inggris, tema terang](images/v2.3.1/compare-heatmap-en-light.png)

Empat gambar v2.3.1 ini menggunakan renderer produksi, data sintetis, dan variabel tema VS Code Light+/Dark+, bukan bukti penggunaan pribadi atau tagihan. Instalasi VSIX native diverifikasi secara terpisah.
Empat gambar v2.3 ini menggunakan renderer produksi, data sintetis, dan variabel tema VS Code Light+/Dark+, bukan bukti penggunaan pribadi atau tagihan. Instalasi VSIX native diverifikasi secara terpisah.

- Codex menampilkan **token terpakai hari ini** dan **sisa kuota** secara terpisah: penggunaan mingguan 36% berarti `wk 64%`. Tooltip tetap menampilkan bilah penggunaan, waktu reset, dan catatan berbaris. Kuota berasal dari pengamatan lokal terakhir, bukan saldo langsung.
- Detail periode tertutup secara default; pengaturan berbagi berada di bawah pratinjau. Berbagi aktif secara default dan dapat dimatikan, dengan intensitas kuantil, logaritmik, atau linear.
Expand All @@ -53,52 +53,13 @@ Empat gambar v2.3.1 ini menggunakan renderer produksi, data sintetis, dan variab
- **Harga multi-vendor** — Opus 4.x / Sonnet 4.x / Haiku 4.5 diverifikasi terhadap harga publik Anthropic; tarif referensi untuk OpenAI / Gemini / DeepSeek / Kimi / GLM / Qwen dengan fallback berbasis family model. `Refresh Token Pricing` menarik data LiteLLM langsung.
- **Personalisasi** — bahasa, zona waktu, angka desimal, angka ringkas, pengelompokan proyek, toggle penyegaran otomatis dashboard.

## Yang baru di v2.3.2

- Settings kini memakai satu dropdown mata uang dengan USD sebagai default.
Tiga belas mata uang tampilan lain memakai snapshot tetap kurs referensi ECB
tanggal 2026-09-09. Kurs tidak dapat diedit atau diambil secara online, dan
estimasi dasar tetap disimpan dalam USD.
- Claude dan Codex mendukung drill-down Sepanjang Waktu bulan → hari serta 30
Hari Terakhir hari → jam jika agregatnya tersedia. Mouse, keyboard, fokus,
penutupan bertingkat, dan pemulihan setelah reload konsisten tanpa membaca JSONL saat diklik.
- Refresh langsung biasa mempertahankan tab, rantai ekspansi, metrik/jam terpilih,
draf Optimizer, fokus keyboard, dan posisi gulir terdekat.
- Setiap grafik memiliki nama aksesibel lokal yang menyertakan provider. Jam
kosong tetap memiliki sumbu, tabel, tooltip, dan nilai 0 yang dapat dipilih,
tetapi tidak lagi menampilkan 0 di atas setiap batang kosong. Aktivitas yang
benar-benar belum memiliki harga tetap menampilkan `—`.
- Watcher provider pulih dengan backoff terbatas, sedangkan indeks judul thread
Codex yang tidak berubah memakai cache memori tervalidasi untuk mengurangi kerja latar.

Draft Release yang ditinjau adalah `v2.3.2`; alur publikasi manual menetapkan versi paket dari tag tersebut.

## Yang baru di v2.3.1

- Metadata harga dan konteks yang tepat kini mencakup **GPT-6 Astra**
(`gpt-6-astra`, konteks 1,05 juta token) serta **Claude Fable 5.1 / Mythos
5.1** (`claude-fable-5-1` / `claude-mythos-5-1`, konteks 1 juta token).
Fable 5.1 memakai tarif baca cache khusus `$0.25 / juta token` tanpa mengubah
riwayat Fable 5. Nilai ekuivalen API GPT-6 memakai tarif Standard resmi untuk
konteks pendek. Biaya tambahan untuk seluruh permintaan di atas 272K input
tidak disertakan karena log agregat lokal tidak dapat memastikan ambang per
permintaan tersebut.
- Estimasi Claude dapat memakai tarif langsung Anthropic atau tarif on-demand
AWS Bedrock in-region untuk keluarga Opus, Sonnet, dan Haiku saat ini.
Mengganti backend langsung menghitung ulang log yang tidak berubah; Sonnet 5
memakai tarif standar setelah promosi peluncurannya berakhir 31 Agustus 2026.
- 30 hari terakhir berarti hari ini dan 29 tanggal sebelumnya dalam zona waktu konfigurasi. Total dapat direkonsiliasi, refresh berulang stabil, dan bulan tampil dari lama ke baru. Ringkasan Workflows Claude memakai rentang bergulir yang sama dan memasukkan setiap eksekusi berdasarkan tanggal mulai di zona waktu konfigurasi. Saat metrik grafik diganti atau label drill-down dirender, kunci penggunaan harian/bulanan tidak lagi mundur sehari atau sebulan akibat zona waktu host. Tanggal berakhirnya penundaan Saran AI dan Usage Optimizer juga memakai zona waktu konfigurasi dan bahasa UI.
- Reasoning effort terstruktur tidak ditebak dari nama model. `unknown` bukan nol dijelaskan; nilai nol disembunyikan.
- Pengamatan kuota anonim yang terbatas mempertahankan reset tidak teratur dan pada hari yang sama. Fraksi valid dalam satu jendela menghasilkan estimasi total dan sisa daya tahan langganan, termasuk periode berjalan. Bukti perkiraan atau tanpa atribusi diberi keyakinan rendah. Jika series kuota Codex lokal tumpang tindih, periode berjalan memakai pengamatan nyata terbaru untuk estimasi gabungan berkeyakinan rendah; periode selesai yang atribusinya ambigu tetap hanya menampilkan nilai terpakai.
- Perbandingan menampilkan heatmap aktivitas gabungan Claude + Codex dari agregat harian yang sudah ada dan tetap berfungsi dengan satu penyedia.
- Studio berbagi yang mengutamakan pratinjau mencakup SVG lokal deterministik, kartu, Markdown, judul/rentang, pratinjau privasi, dan warna yang dapat disesuaikan. Academic Violet menjadi default; pemetaan intensitas dapat memakai kuantil (default), logaritmik, atau linear. Publikasi GitHub publik mengonfirmasi tujuan tepat secara terpisah.
- Komposisi Token Codex sekarang menampilkan **penggunaan tanpa cache** (input tanpa cache + output) di atas stack input tanpa cache / input cache / output yang tidak tumpang tindih; reasoning tetap merupakan bagian dari output.
- Codex tetap dapat digulir dengan mulus saat pengindeksan: status gulir disimpan sekali setelah gerakan selesai dan progres indeks langsung hanya memperbarui teks tanpa membangun ulang halaman. Ringkasan hijau per model kini mengikuti makna Claude, yaitu harga ekuivalen API untuk model yang cocok tepat beserta cakupan harga. Model tak dikenal menampilkan `—`, sedangkan effort tetap memakai nilai Token tanpa cache berwarna netral.
- Permintaan Optimizer yang kompatibel dengan OpenAI kini hanya mengirim `reasoning_effort` tanpa parameter tingkat atas `thinking` yang tidak didukung, menyelesaikan [#94](https://github.com/ClaudeCodeUsage/ClaudeCodeUsage/issues/94).
- Claude/Codex berbagi token desain untuk kepadatan, hierarki, fokus, ARIA, lebar sempit, serta tema terang/gelap tanpa menyamakan arti metrik.

## Codex Beta di v2.3
## Yang baru di v2.3

- **Penyempurnaan di seluruh seri v2.3** — metadata model GPT-6 Astra dan
Fable 5.1, harga AWS Bedrock opsional, pilihan mata uang tampilan dengan kurs
referensi tetap, drill-down bulan/hari/jam lengkap, refresh yang mempertahankan
state, grafik aksesibel, serta beban watcher dan indeks judul yang lebih rendah.
Detail per patch hanya disimpan di CHANGELOG dan GitHub Releases.
- Catatan penggunaan Codex hanya ditemukan dari `sessions/**/*.jsonl` dan `archived_sessions/**/*.jsonl`; file kredensial, database, dan file tak dikenal tetap dikecualikan. Secara terpisah, ekstensi hanya melakukan streaming terhadap `$CODEX_HOME/session_index.jsonl` untuk memetakan `id` ke `thread_name` bagi judul thread yang sebenarnya. Jalur absolut dalam judul disamarkan dan judul hanya disimpan di memori. Setiap baris JSONL penggunaan di-stream dan diparse sementara hanya untuk mengambil metadata penggunaan dan struktur dalam daftar izin; field prompt, respons, perintah, dan argumen alat tidak diperiksa atau dipakai untuk analisis, serta tidak pernah disimpan atau dipersistenkan.
- **Diproses** = input + output, **Penggunaan tanpa cache** = Input tanpa cache + output, **cached input** tetap bagian dari input, dan reasoning bagian dari output. Ringkasan juga menampilkan tingkat hit cache input sebagai cached input / input. Biaya tagihan Codex tidak ditampilkan. Kartu ringkasan pertama menampilkan estimasi biaya ekuivalen API untuk cakupan terpilih dengan label yang jelas, sedangkan tampilan Sepanjang Waktu menunjukkan tren mingguan dengan dasar harga yang sama. Claude / Codex / Compare tetap memisahkan makna tiap penyedia.
- **Hari Ini** pada Codex berarti hari kalender saat ini dalam zona waktu yang dikonfigurasi. Tampilan ini menambahkan biaya ekuivalen API per jam yang tepat di samping tampilan komposisi Token yang terpisah. Grafik utama harian dan bulanan juga memakai biaya ekuivalen API sebagai default, sementara komposisi Token tetap tersedia secara terpisah. Hanya harga model yang dikenal dan cocok tepat yang dihitung; model tak dikenal tetap tanpa harga dan cakupan harga selalu terlihat. Sidecar per jam yang bersifat tambahan dan kompatibel dengan schema 3 menyimpan bucket tanggal / jam yang jarang untuk 30 hari bergulir, mendukung checkpoint dan resume, membuang hari ke-31, dan membuka tanggal tanpa membaca JSONL. Grafik dan tabel bulanan Codex menampilkan bulan dari yang paling lama ke yang terbaru.
Expand Down
Loading
Loading