github bowenliang123/dsh-context v0.51.0
v0.51.0 - Live Model Pricing and Call-Hit Tool Sort

latest releases: v0.78.2, v0.78.1, v0.78.0...
one month ago

Install / Update

Install the dsh-context plugin on DeepSeek Harness with released NPM package:

dsh plugin --profile web add dsh-context@latest

Update the dsh-context plugin:

dsh plugin --profile web update dsh-context@latest

What's New

image
  • Session cost is priced from the live models.dev registry — the hardcoded DeepSeek rate table is replaced by a client-fetched price book: the models.dev registry is read once per page load, so the latest providers and model prices flow in without waiting for a plugin update.
    • Cost totals rekey per (provider, model): only DeepSeek splits a pricing period (peak windows at list price, all other hours at half price) — every other provider bills everything at list price.
    • Model ids match exactly, case-insensitively, or by suffix (k3 → kimi-k3); provider ids resolve through a shared rename table (deepseek-official, kimi-coding, minimax-cn, zai-coding-cn) with verbatim passthrough for unmapped ids, and ambiguous matches price nothing.
    • Every registry entry is re-proved at the boundary, and a failed fetch degrades to a dash + note with backed-off automatic retries. CNY display converts at the fixed 1 CNY = 0.15 USD; the tooltip lists per-1M rates for the models the session billed, with peak|off-peak pairs and the DeepSeek note shown on DeepSeek sessions only.
    • stateVersion 18: previously cached stats rows refold from the log, rebuilding the new cost keys and periods.
image
  • Tool definitions rank by call hits — the Context browser's tool-definition rows now carry a per-tool call-hit tally (xN) over the shown step's assembled surface, and the tools toolbar gains a count sort ranked by that tally, with ties broken by tool name.

    • One paired tool-result node is one completed call — the same accounting as the stats' toolCalls — so the tally follows the step picker: a past step re-tallies over its own surface, and a zero tally names a definition the shown step never called.
  • The tools default sort is a plugin setting — a new Tool Schemas - Default sort row in Settings → Plugins → dsh-context (size, call count, or name) persists per user; the Context browser reads it as the mount-time default for its tools toolbar, while in-toolbar toggling stays session-local and never writes back. The default default is now call count.

    • Degradation mirrors the existing preferences: a stale persisted value falls back to the default, the client drops values outside the vocabulary, and a host without the settings surface keeps the schema default — the tools list stays fully functional either way.

Commits

  • chore: release v0.51.0 (de2d971)
  • feat: make the tool-definition default sort a plugin setting (b602014)
  • feat(client): rank tool definitions by call hits with a count sort (4dded7a)
  • refactor(client): move the animations into the Tailwind theme and utilities (96435c8)
  • refactor(client): move static SVG fill/stroke chrome to Tailwind utilities (58299ee)
  • fix(client): point the plugin-name row at the repo instead of the releases page (7b09d5b)
  • refactor(client): fold the responsive layout into Tailwind variants and intrinsic flex (ff10cff)
  • refactor(client): move pure pseudo-state styling to Tailwind state variants (1718388)
  • refactor(client): adopt Tailwind color tokens for the plugin's palette (75fada4)
  • feat(build): emit the plugin accent palette as Tailwind color tokens (f1ab3a1)
  • feat(build): compile Tailwind layout utilities into the client CSS channel (55aa1fe)
  • docs: describe the models.dev-priced cost estimate and the stateVersion 18 upgrade (2379dd9)
  • feat(stats): estimate session cost from models.dev prices (7cf9284)
  • docs(readme): describe the Token card as composition around the billed total (0b14f79)

v0.50.0...v0.51.0 · 14 commits

Contributors

Don't miss a new dsh-context release

NewReleases is sending notifications on new releases.