Tools & Capabilities

dsh-cache-stabilizer

dongsheng123132/dsh-cache-stabilizer · ★ 3

dongsheng123132

Cache-prefix stabilization and evidence-based cache metrics for DeepSeek Harness

License
MIT
Added
2026-08-23
Maintenance
active
Install kind
github

No manifest check is available; listing does not imply compatibility or security review.

安装

dsh plugin --profile web add github:dongsheng123132/dsh-cache-stabilizer

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

CI MIT license Node.js 22+

An MIT-licensed DeepSeek Harness plugin that improves the chance of provider prompt-cache reuse without hiding stale state.

It makes two semantics-preserving changes:

  • Moves the working directory out of DSH's known default persona sentence and into the runtime-context snapshot. Different projects can then share the same system-prompt prefix while each request still receives the correct cwd.
  • Canonicalizes object-key order inside tool schemas. Tool order itself is already deterministic in DSH.

It also adds /cache, a human-only command that reports the provider's durable cacheReadTokens, uncached inputTokens, and cache-write tokens. It never invents a cache hit.

Install

dsh plugin --profile web add dsh-cache-stabilizer

Restart DSH, send a few messages, then enter /cache in a command-capable client.

For a custom profile, replace web with its profile name. To disable either optimization in a profile patch:

- id: dsh-cache-stabilizer
  config:
    relocateCwd: false
    canonicalizeTools: false

Safety boundary

Only the exact sentence used by DSH's standard/headless coding persona is relocated. A custom persona that mentions {{cwd}} in another form is left unchanged because blindly moving arbitrary prose can change meaning. The plugin does not freeze tool catalogs, reuse stale context, proxy model responses, or implement a second cache.

DeepSeek's provider cache is automatic and depends on an exact prefix match from token zero. Storage and eviction remain provider-controlled.

Development

npm test
npm run check