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/hook-dsh-ccr

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/hook-dsh-ccr@0.2.1
READMECompatibilityVersions

Compatibility and provenance

Hook Dsh Ccr is published as @playform/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.8 kB
Files
36
Surface
any
License
CC0-1.0
Source
npm
GitHub
★ 2
Weekly downloads
266
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.

Better Sidebardsh-better-sidebarBetter Sidebar for DSH — file tree, editor, changes, tasks and side chat in one column, separate for every conversation. Also exposes a service other plugins use to register sidebar tabs and file viewers.Client Ui Git Graph@linxin666/dsh-client-ui-git-graphExternal dsh web GUI plugin: a blank-session git branch selector + Git graph, with real host-side git operations and guards, as a dsh profile bundleSsh@linxin666/dsh-sshRemote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executiUpdate@linxin666/dsh-updateSelf-update plugin for the dsh web GUI: probes npm for newer family releases and runs the owning profile's pnpm update in place, from a sidebar trigger beside the settings seat with a release-notes panel

README

@playform/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

This DeepSeek Harness plugin hooks the tools/post-execute waterfall - the interceptable wrapper around every normalized dispatch result, before it becomes model content - and it replaces oversized tool output with a one-line type-aware preview plus a retrieval marker:

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

... while it keeps the original retrievable through the registered ccr_retrieve tool.

It is ported from Aphrodite's CCR pipeline - 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 the name, the parsed arguments, and the caller agent, and it is the only point that can legally replace model-visible output for all tools.

The gate compresses only results of tools in targets (default: bash, glob, grep, read, web_fetch, web_search, list, search) whose serialized content exceeds thresholdBytes (1024) × the classified type's multiplier - errors ×8 (high-signal, compress late), grep/paths/ web ×2, the rest ×1.

It never compresses 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 - 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), with 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): one {hash, type, size, ttlAt, payload} record per store, loaded and TTL-compacted on boot, payload base64.

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

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

range { start, count } slices lines granularly.

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

Waterfall discipline: the hook always awaits next() first; a 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 never throws into the waterfall); the listener prepends so the gate sees the pristine result.

The ccr hook and the normalize flavors' tool-results arm share the tools/post-execute waterfall; 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 Classic/packages/hook-dsh-ccr run prepublishOnly
  • Smokes: node Classic/packages/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