Skip to content

dsh-compaction-instant

⭐ 13 · ✅ active · plugin

Type plugin Category Vision & multimodal
Stars ⭐ 13 Status ✅ active
Author TsFreddie Updated —
Subcategory 👁️ Vision tools Capabilities coding

One-liner

LLM-free lossless* compaction engine for DeepSeek Harness

About

English | 简体中文 Instant, near-lossless context compaction for DeepSeek Harness — a drop-in replacement for @deepseek-ai/dsh-compaction-basic that replaces LLM summarization with the deterministic conversation-compiler principle of lllyasviel/VCC. A compaction compresses a shadowed history span in milliseconds, with zero model calls, keeping original tokens only — no paraphrase, no hallucination, no summarizer cost. Everything that is cut is still recoverable through (seq N) pointers into the durable session log.

✨ Key Features

  • LLM-free — compaction never invokes a model. No summarizer prompt, no inference latency, no token spend; the compile is deterministic text processing, so a
  • Near-lossless — output contains only original tokens; every cut is marked and points at its durable seq, and prior checkpoints are copied verbatim.
  • Instant — a single deterministic pass over the shadowed nodes; no network, no model, no KV-cache concerns.
  • Contract-exact drop-in — same seam, events, provenance and failure vocabulary as compaction-basic; every built-in preset loads it unchanged (alias install

📦 Install

dsh plugin --profile web add <spec>

🚀 Quick Start

dsh plugin --profile web add "@deepseek-ai/dsh-compaction-basic@npm:dsh-compaction-instant"

📚 Learn more

Example

A region containing a user request, an assistant text + tool call, and its result compiles to: [user] please fix the bug [assistant] on it [user] next question Every tool call is ONE line: the key argument for whitelisted tools (toolArgTools), name-only for the rest (* job_kill (seq 9 -> result 10)), nothing at all for hideTools rows. Tool results never occupy entries — the -> result N poi

Configuration

All fields optional; defaults shown. The tool and command plugins each take their own { maxRecallTokens?: 16000, maxSearchHits?: 50 } config. > Cordis config gotcha: the plugin row's config passes through the schemastery schema, whose ~standard adapter injects [] for every absent array key (toolArgTools, hideTools, noisePatterns, toolKeyFields, modelPolicies). The resolver

Browser settings card (Settings → Plugins)

Since 0.1.4 the engine exposes a user-owned settings namespace (compaction-instant) on every deployment that composes the settings domain (the standard web/desktop profiles do). The editable subset, persisted to settings.yaml and layered over the plugin row's cordis config: Everything else (modelPolicies, toolArgTools, debug, debugLogPath, the deprecated maxTokens/`checkpoint

Installation

All three methods below install the package (published to npm as dsh-compaction-instant) with the harness's own plugin manager (which runs pnpm inside the profile directory, making the package resolvable to both the host composition and every agent preset): dsh plugin --profile web add dsh-command-compact (/compact) is backend-independent, so it keeps working unchanged in every method