DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@playform/ets-hook-dsh-ccr

Ets Hook Dsh Ccr

The CCR hook (compress-cache-retrieve): a DeepSeek Harness plugin that hooks the tools/post-execute waterfall - the point where the normalized result of EVERY dispatched tool passes before it becomes model content - and replaces oversized tool output with

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @playform/ets-hook-dsh-ccr@0.2.1
READMECompatibilityVersions

Compatibility and provenance

Ets Hook Dsh Ccr is published as @playform/ets-hook-dsh-ccr and currently resolves to version 0.2.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
11/4/2026

Versions

0.2.1stable
10/28/2026
0.2.0stable
10/25/2026
0.1.0stable
10/25/2026

Related plugins

Loading related plugins…

Latest
0.2.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
58.9 kB
Files
36
Surface
any
License
CC0-1.0
Source
npm
GitHub
★ 2
Weekly downloads
279
Security scan
✓ v0.2.1 scan passed
Last push
11/4/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseExperimental Inspector@deepseek-ai/dsh-experimental-inspectorExperimental cross-realm CDP hub for Host debugging and Client Runtime inspection

README

@playform/ets-hook-dsh-ccr - the compress-cache-retrieve hook for oversized tool output

Version 0.2.1 - UNPUBLISHED (the npm bootstrap tier 2-planned / 3-candidates).

Plan: SCHEME.md - APHRODITE-TOOL-COMPRESSION-PLUGIN.md.

The role

A DeepSeek Harness plugin that hooks the tools/post-execute waterfall, the interceptable wrapper around every normalized dispatch result, before that result becomes model content.

It replaces large tool output with a one-line preview that knows the type, plus a retrieval marker:

[terminal:exit 0 | 142 lines | make: *** Error 1]
<<<CCR:9d3c1f0a7b2e4d5c6a8b9c0d|terminal|5231>>>

It keeps the original retrievable through the registered ccr_retrieve tool.

A port of the CCR pipeline of Aphrodite (compress, cache, retrieve) at the injection point that a proxy cannot reach: the tool result itself.

tools/post-execute sees the normalized result of EVERY tool, with name, parsed arguments, and caller agent.

It is the only point that can legally replace model-visible output for all tools.

This package is the Effect-TS variant: the same ccr contract behind the ets-plugin-dsh-factory shell (Effect v4), with ledger strings that stay byte-identical.

The shared Effect-TS plumbing (the Activate composer that builds the durable activation line of the ledger) comes from the ets-base-dsh package.

The gate compresses only results from tools in targets (default: bash, glob, grep, read, web_fetch, web_search, list, search) whose serialized content exceeds thresholdBytes (1024) times the multiplier of the classified type.

Errors take x8 (high signal, compress late), grep, paths, and web take x2, and the rest take x1.

Never compress the exempt tools: write, edit, raw-write, subagent, ask_user_question, and ccr_retrieve itself.

Failures pass through unless compressFailures is on.

With autoExpand on (the default), a result at or under autoExpandLimitBytes (102400) is stored but returned FULL, so no marker reaches the model while the content is cheap enough to keep inline.

The store is an in-memory LRU keyed by a sha256-24 hash of the full serialized content bytes (node:crypto, no native deps).

It has a storeBudgetBytes budget (default 256 MiB, least-recently-accessed eviction), a ttlSeconds TTL (default 3600), and an optional JSONL disk journal (journalPath, default "" = memory-only).

The journal holds one {hash, type, size, ttlAt, payload} record per store, loaded and TTL-compacted on boot, with the payload in base64.

SQLite (Aphrodite's ccr.db) was deliberately adapted to JSONL, a native dep that the family does not carry.

ccr_retrieve(hash, range?) matches the hash exactly, with no prefix or fuzzy matching.

A range { start, count } slices lines granularly.

Unknown or expired hashes return a self-describing error that tells the model to re-run the original tool.

Waterfall discipline: next() is always awaited first, and pass-through returns the downstream decision unchanged.

Only an accepted, non-value-carrying decision is replaced.

The whole transform is fail-open: an internal error logs a warning and keeps the inline content, and it never throws into the waterfall.

The listener prepends so that the gate sees the pristine result.

The ccr hook and the tool-results arm of the normalize flavors share the tools/post-execute waterfall, and the <<<CCR: marker guard makes any load order safe.

The surfaces

KindNameWhat
listenertools/post-execute (prepend)the compression gate: replace oversized results with a preview + <<<CCR:...>>> marker
listeneragent/pre-step (with contextEngine)the engine phase: archives oversized stored results between turns
toolccr_retrieverestores stored output by exact hash, optionally a { start, count } line range
configSCHEME.mdthe full Schemastery schema (see the table below)

The configuration

FieldTypeDefaultMeaning
logbooleantruevolatile - the shared factory log switch
logFilestring~/.dsh/playform/hook-dsh-ccr.logvolatile - the ledger file
targetsarraybash, glob, grep, read, web_fetch, web_search, list, searchthe tools whose results the gate compresses
exemptarraywrite, edit, raw-write, subagent, ask_user_question, ccr_retrievenever compressed
thresholdBytesnumber1024volatile - the base size threshold
inlineThresholdBytesnumber1024results under this stay inline untouched
autoExpandbooleantruestore but return FULL while the content is cheap enough
autoExpandLimitBytesnumber102400the auto-expand ceiling
compressFailuresbooleanfalseoff, error results pass through
multipliersobjectterminal 1, error 8, grep 2, paths 2, file 1, json 1, web 2, default 1volatile - the per-type threshold multipliers
previewMaxCharsnumber240volatile - the preview length cap
ttlSecondsnumber3600the store TTL
storeBudgetBytesnumber268435456the LRU budget (256 MiB)

The ledger

ccr: activated (bundle 0.2.1, targets <n>, budget <n>)
ccr: stored <tool> <type> <size> -> <hash>
ccr: compressed <tool> <type> <size> -> <hash>
ccr: evicted <hash> (<reason>)
ccr: retrieved <hash>
ccr: retrieval miss <hash> (expired)
ccr: retrieval miss <hash> (unknown)
ccr: engine archived <n> results

The build and the tests

  • Build: pnpm --config.verify-deps-before-run=false --dir EffectTS/packages/ets-hook-dsh-ccr run prepublishOnly
  • Smokes: node EffectTS/packages/ets-hook-dsh-ccr/Target/Test/<Folder>/Test.js
    • Config-And-Activation - 25 checks
    • Engine-Flag-Off - 14 checks
    • Engine-Flag-On - 37 checks
    • Journal-Compaction - 10 checks
    • Retrieve-And-Marker - 45 checks
    • Run-One-State - 15 checks
    • Volatile-Refresh - 1 check

The plan

SCHEME.md - APHRODITE-TOOL-COMPRESSION-PLUGIN.md.

journalPathstring""memory-only unless a JSONL journal path is set
contextEnginebooleanfalsethe engine phase stays inert
contextEngineThresholdPctnumber30the engine's budget-percentage trigger
protectFirstTurnsnumber2turns the engine never archives at the front
protectLastTurnsnumber4turns the engine never archives at the back