DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@playform/ets-hook-dsh-ccr

Ets Hook Dsh Ccr

CCR hook(compress-cache-retrieve):一个 DeepSeek Harness 插件,挂接到 tools/post-execute waterfall——每个已调度工具的规范化结果在成为模型内容之前都会经过此处——并将过大的工具输出替换为

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @playform/ets-hook-dsh-ccr@0.2.1
README兼容性版本

兼容性与来源证明

Ets Hook Dsh Ccr 以 @playform/ets-hook-dsh-ccr 发布,当前版本为 0.2.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/11/4

版本

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

相关插件

正在加载相关插件…

最新版
0.2.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
58.9 kB
文件数
36
Surface
any
许可证
CC0-1.0
发布源
npm
GitHub
★ 2
周下载
279
安全扫描
✓ v0.2.1 扫描通过
最近提交
2026/11/4
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hub

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