github bowenliang123/dsh-context v0.83.0

49 minutes 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

Features

  • The dashboards are now host-backed and on-demand — catalogues, money and full-scope aggregation moved to the dsh host, and the browser only renders the parts it needs.
    • Context, Insights and Fleet fetch fine-grained slices instead of one large snapshot: Insights loads summary/days/page/tally parts (≈27 KB total for a 1,158-session corpus, down from a 1.6 MB snapshot) and unchanged polls collapse to ~62 B via a revision protocol.
    • Fleet reads a host summary plus 16-id batches and walks long agent teams progressively on its own; rendered totals stay exact through a compact facts ledger instead of a retention-capped payload slice.
    • The npm/models.dev catalogues are fetched by the host (1 h TTL, failure backoff, single-flight) and never shipped to the browser: the update check has its own endpoint and every served timeline carries its per-model USD, so money appears consistently in the Context tab, Insights KPIs and Fleet cards.
  • Bounded memory and smoother lists — one windowing primitive now drives the browser, file and command lists with stable skeletons and keyboard reachability; client caches gained TTLs, scope keys and invalidation; the host overview aggregate lives in a disk-backed cache that is released when idle, so resident memory no longer grows with session history.
  • Cleaner command executions panel — the command list gained roving focus, real buttons with aria-expanded/aria-controls, and a restored compact row layout (status, badges, duration and timestamp alignment).

Fixes

  • Subagent money, context and fleet composition no longer go missing — the heads route resolves each id through the live snapshot, its projection-cache row or a gated durable-log fold, and the client falls back to a per-id head read, so 子 Agent rows, child composition bars and occupancy percentages render for every member.
  • Cold-start costs fill in without a reload — a still-unpriced timeline arms a bounded invalidation ladder that re-reads the cost-bearing parts; the price book now refreshes on its TTL and its revision is part of the overview revision, so changed prices reach open dashboards.
  • Fleet pages stay responsive with large teams — progressive 16-id batches, exact totals and bounded client retention replace the previous single-session fan-out.
  • Command panel styling regression — the windowing refactor left the new row wrapper unstyled; the row layout and the timestamp action are restored.
  • Staged facts match the full detail route — request records and the fact staging paths now agree with the legacy detail response, and cold caches are keyed by the persistence-service identity so distinct backends never share a fold.

Changes

  • Dropped the @opencode-ai/models dependency and the in-browser price book; pricing and cost are host-owned (supersedes the approach in #235, thanks @abworks-dev for the analysis).
  • New host endpoints: /api/dsh-context/version, /api/dsh-context/catalog is retired, /api/dsh-context/overview, and fleet summary/batch modes; the legacy snapshot route stays for compatibility.
  • Updated compatibility and pricing-mapping docs for the host data plane, the disk-backed overview cache and its one-time seeding limitation.

Commits

  • fix(context): restore the command execution row layout (95082685)
  • docs: document the host data plane, memory model and verification (9f7c3e29)
  • feat: rebuild the host/client data plane per host-client-principles (5d8f5db6)
  • chore(packaging): drop the browser price-catalogue dependency (75b0ccf9)
  • chore(doc): update host-client-principles.md (0d8df282)
  • chore(doc): add host-client-principles.md (3169c6e9)
  • docs(compat): note the service-identity cold-cache key (dd45d3c6)
  • fix(context): key cold caches by the persistence service identity (7f376e4d)
  • fix(context): reuse cold folds across persistence service wrappers (11f0823c)
  • fix(context): align staged facts with the full detail route (8cf9851a)
  • fix(context): return full request records in the facts series (20681e52)
  • refactor(data): converge the plugin data layer on one fold core and staged facts (fee31de3)
  • chore(deps): upgrade tsdown to 0.23.7 (25c8ad31)
  • chore(deps): upgrade vitest to 5.1.0 (ee0c8b67)

v0.82.2...v0.83.0 · 14 commits

Contributors

Don't miss a new dsh-context release

NewReleases is sending notifications on new releases.