v0.2.0 — the account joins the meter
Why upgrade: the meter now knows which currency your account is actually billed in, and shows you how much of it is left.
DeepSeek publishes two independent rate cards — USD for the international platform, CNY for the mainland one. An account bills against exactly one, and neither table is a conversion of the other. 0.2.0 prices every session against both and lets GET /user/balance decide which side to show: a live account lists both currencies with only one funded, so the funded row is the answer. Nothing to configure.
Balance lands in the card with granted credit broken out (granted expires; topped-up does not). The read runs on the host through the same credential seam the LLM adapter uses, TTL-cached, and reaches the browser as parsed numbers over /dsh-meter/balance — the key never leaves the process. It fires on mount and when you open the card, never on a timer. balance: false removes it entirely.
The card was restyled as an instrument: numerals in the theme's mono face with the currency symbol dimmed, small-caps labels, hairline rules, and the tariff strip's now-marker in brand blue as the one moving part. Per-model rows appear once a session used more than one model.
Also: bilingual README with a split hero over a real screenshot, plus CHANGELOG, SECURITY, CONTRIBUTING, and llms.txt.
Live-verified on dsh 0.1.0-rc.6: a real CNY account flipped the whole surface to ¥ with no configuration; light and dark, flat and peak; cold read after a server restart. 47 tests, CI green.
Upgrading is dsh plugin --profile web add github:dshworks/dsh-meter again. The projection's stateVersion moves to 2, so cached rows from 0.1.0 are discarded and refolded from the log — one replay, no data loss.
Full notes: CHANGELOG.md
🤖 Generated with Claude Code