Repository navigation
Releases: WilliamShi666/dsh-context-compression-selector
Releases · WilliamShi666/dsh-context-compression-selector
Release list
dsh-context-compression-selector v0.2.1
Highlights
- Fixes a crash in the 0.2.0 settings section. On Harness 0.2.0 the context-compression settings panel rendered blank — the console showed
slot entry crashed in 'settings.section'and React error #185 (Maximum update depth exceeded) — while its navigation entry still appeared, because the slot had registered and the component had crashed. The 0.2.0 adapter composes a UI-facing settings document from the entry's volatile projection and built a fresh object on everygetSnapshot()read.useSyncExternalStorecompares consecutive snapshots by reference and re-renders until they stop differing, so a snapshot that is never reference-equal to itself never settles: React aborted the tree instead of drawing it. The composed document is now memoized against the form's own snapshot reference, so it is rebuilt only when the projection actually changes. - The invariant is documented on the
SettingsFaceinterface, since any future adapter that derives a new shape has to memoize it for the same reason. - A regression test pins both halves: the adapter returning an identical reference while the form is unchanged, and the section mounting through the same
useSyncExternalStorepath the slot framework uses. Reverting the memoization reproducesMaximum update depth exceededexactly, so the test fails on the bug rather than around it. - The runtime is unchanged. Both packages move together because the selector pins the runtime to its own version.
Upgrade with: dsh plugin --profile web up dsh-context-compression-selector@latest.
Full details in CHANGELOG.md.
dsh-context-compression-selector v0.2.0
Highlights
- One published artifact now mounts on both DeepSeek Harness generations. Every
@deepseek-ai/dsh-*peer widens from a 0.1.x-only range to the dual-target range^0.1.1-rc.2 || ^0.2.0-rc.1, and the two settings surfaces are acquired by capability rather than by version, so the selector renders on either generation without a build-time switch. - Web boot no longer aborts on 0.2.0. The client declared
settingsScopeas a static dependency, but 0.2.0 provides no such service, so the entry's fiber stayedpendingforever while the boot gate reads exactly that fiber — the page aborted with1 entry did not activate. Each settings surface is now acquired in its ownctx.injectsub-fiber, where a missing service leaves only the sub-fiber pending and the entry still reachesactive. - The runtime no longer throws on 0.2.0. Its settings read called
settings.get(namespace), and 0.2.0'ssettingsservice has nogetat all — the call raised aTypeErrorrather than merely failing to find a document, which took down the mount. Both settings reads are now capability-guarded. - Live settings editing on 0.2.0, through the entry's Host-declared volatile config fields (
profile,autoCompactThresholdPercent). The versioned Custom policy is not editable there — the settings form serves only those fields — so the UI withholds the Custom editor and its hint instead of offering an edit that would be silently dropped. Explicitly selecting Custom still resolves. - The selected profile now reaches the generated composition on 0.2.0. On 0.1.x the profile lives in the shared
context-compressiondocument that the generated composition's runtime entry reads live; 0.2.0 has no shared document, so a selection made on the selector entry never crossed into the composition's own runtime entry and had no effect.PresetOverlayOptions.profilecarries it into the pruner's config instead, and the profile joins the generated file's content identity. - No Harness core code is modified, and the
dsh weblaunch command is unchanged: the Harness resolves an in-box bundle from the running installation first, so a profile-local copy never shadows it.
Note: 0.2.0's settings panel renders blank on Harness 0.2.0 (the crash fixed in 0.2.1). Prefer
0.2.1.
Install with: dsh plugin --profile web add dsh-context-compression-selector@latest.
Full details in CHANGELOG.md.
dsh-context-compression-selector v0.1.1
Highlights
- DeepSeek-V4.1-Flash is now supported on the Harness default route.
deepseek-flashresolves an exact bundled tokenizer (deepseek-ai/DeepSeek-V4.1-Flash@dba1be0a40aa45a94ad051997016db3960a90277) instead of failing closed, so exact-gated compression is no longer a no-op on the default model.deepseek-v4-flashanddeepseek-v4-flash-vision-expare served by the same V4.1-Flash artifact. - Vision image-token arithmetic is re-ported to the official V4.1 image processor: the per-image cap moves 384 → 1024, the minimum-pixel floor 147456 → 295936, and the aspect clamp is gone.
deepseek-flashgains official pricing rows, and the two retired aliases are repriced at the Flash price.deepseek-v4-prokeeps its own DeepSeek-V4-Pro tokenizer,modelVersion, and prices, unchanged.
Install or upgrade with: dsh plugin --profile web up dsh-context-compression-selector@latest.
Full details in CHANGELOG.md.
dsh-context-compression-selector v0.1.0
Highlights
- Adds the official tokenizer for DeepSeek V4 Flash Vision (deepseek-v4-flash-vision-exp).
- Lets users choose the trigger threshold for model-driven Auto Compact in the selector settings.
- Links each profile's context-compression strategy and related watermarks to that threshold.
Install or upgrade with: dsh plugin --profile web up dsh-context-compression-selector@latest.
v0.1.0-beta.3
Highlights
- Adds a separately pinned official tokenizer for
deepseek-v4-flash-vision-exp. - Adds best-effort image-token estimates: valid dimensions use the official DeepSeek vision grid arithmetic; unusable metadata falls back to 256 tokens per image.
- Keeps every image-bearing tool result outside exact-tokenizer rewrite proofs.
- Adds a user-editable Auto Compact threshold in the context-compression selector settings, with coordinated History/Micro Compact watermarks.
- Preserves the standard third-party DeepSeek Harness Bundle install and upgrade workflow without modifying Harness core.
Install or upgrade
dsh plugin --profile web up dsh-context-compression-selector@betaThe selector installs dsh-context-compression-selector-runtime@0.1.0-beta.3 as an exact dependency.
Published npm tarballs
dsh-context-compression-selector-0.1.0-beta.3.tgz- SHA-256:
9e7292a1802c146944efddb56190056ff3a1121049c8b5561ef6bfd0aab263e1
- SHA-256:
dsh-context-compression-selector-runtime-0.1.0-beta.3.tgz- SHA-256:
bd31679daf70e890d7f1b5e53321a0406c616e0ef1640ab807c1af92bacda45e
- SHA-256:
Source
- Branch:
codex/beta-0.1.0-beta.3 - Commit:
efa7e852a4286f4155d8bded3d8593fa33281d87 - Tag:
v0.1.0-beta.3
The release remains on the beta branch and is not merged into main.