Releases: dshworks/dsh-meter
Release list
v0.2.2 — engines floor
Metadata only: restores engines: node >=20, the floor the balance reader's global fetch needs. It was dropped from the 0.2.1 package by a version bump that rewrote package.json from a stale copy.
No code change from v0.2.1.
🤖 Generated with Claude Code
v0.2.1 — on npm as @dshworks/dsh-meter
Now installable from npm:
dsh plugin --profile web add @dshworks/dsh-meterThe org scope is permanent, so this and every future dshworks plugin stops competing with strangers for a free word. Everything else keeps the name dsh-meter — the repo, the client-bundle route, the registry entry, and the config row's id, so any cordis.patch.yml you already wrote is unchanged.
Fixes a bug that only appeared when installed from npm. cordis.patch.yml's name is the specifier the Loader imports, and it still read dsh-meter — so a profile that installed the package rather than linking a folder of that name failed to boot with Cannot find package 'dsh-meter'. Found by installing 0.2.0 from the registry into a scratch profile and booting it, which is now how a release gets verified here. If you installed 0.2.0 from npm, upgrade.
Everything in v0.2.0 — both rate cards with the account choosing the currency, the balance in the card, the instrument restyle — is unchanged.
🤖 Generated with Claude Code
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