Zhuchen00123 / dsh-compaction-cacheaware

已收录

Reasonix-style cache-aware compaction backend for DeepSeek Harness (DSH). Modular compact plugin with auto-sync from esengine/DeepSeek-Reasonix.

main其他 查看源代码

安装

npx -y @deepseek-ai/dsh plugin --profile web add github:Zhuchen00123/dsh-compaction-cacheaware

此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。

README

维护者编写的文档快照。

在 GitHub 查看 ↗
提交版本 333300e同步于 2026年8月18日

dsh-compaction-cacheaware

Reasonix-style cache-aware compaction backend for DeepSeek Harness (DSH).

This is a standalone, modular DSH plugin. It implements the official @deepseek-ai/dsh-compaction seam (ctx.compaction) and is designed to be mounted instead of @deepseek-ai/dsh-compaction-basic inside a preset's compaction realm. It does not modify other plugins, presets, or host files.

🐋 收录于 DSH 创意工坊

本仓库打上 dsh-plugin topic 后,会被 DSH 创意工坊 自动扫描收录。 在线地址:https://JxaMe.github.io/dsh-workshop/

Docs

What it ports from Reasonix

  • One automatic trigger: compact_ratio (default 0.85), not multiple soft/snip/force thresholds.
  • One structured checkpoint: stable prefix + one summary + recent tail.
  • Recent tail budget: clamp(window×10%, 32K, 96K).
  • Checkpoint acceptance: normal candidates ≤ 50% of window and below the trigger; exceptional fixed-prefix path requires ≥25% savings.
  • Canonical transcript preserved: DSH's surface replace shadows the old range in the model-visible projection only; the raw session log remains the source of truth.
  • One summarizer call per transaction: no application-layer retry loops.
  • Reasonix summary headings: Standing facts & constraints, Goal, Decisions & rationale, Files & code, Commands & outcomes, Errors & fixes, Pending & next step.

Install / build

安装到 DSH profile(推荐)

已发布到 npm registry,直接安装:

cd "$env:USERPROFILE\.dsh\profiles\web"
pnpm add dsh-compaction-cacheaware

也可以从 GitHub 安装:

pnpm add dsh-compaction-cacheaware@github:Zhuchen00123/dsh-compaction-cacheaware

本地开发 / 构建

pnpm install
pnpm build

然后在 preset 的 compaction realm 里替换:

# - id: compaction-basic
#   name: '@deepseek-ai/dsh-compaction-basic'
- id: compaction-cacheaware
  name: 'dsh-compaction-cacheaware'
  config:
    compactRatio: 0.85
    checkpointCeilingRatio: 0.5
    recentTailRatio: 0.1
    recentTailMinTokens: 32768
    recentTailMaxTokens: 98304
    summaryMaxTokens: 16384

如果从源码本地调试,也可以直接用编译产物路径:

- id: compaction-cacheaware
  name: 'file:///absolute/path/to/dsh-compaction-cacheaware/lib/index.js'
  config:
    compactRatio: 0.85
    checkpointCeilingRatio: 0.5
    recentTailRatio: 0.1
    recentTailMinTokens: 32768
    recentTailMaxTokens: 98304
    summaryMaxTokens: 16384

Keep @deepseek-ai/dsh-command-compact in the same realm so /compact uses this backend. The optional @deepseek-ai/dsh-compaction-tool-result-pruner can still be mounted as a sibling; this plugin reads it through ctx.get().

Configuration

KeyDefaultMeaning
compactRatio0.85Sole automatic trigger fraction.
checkpointCeilingRatio0.5Normal auto-checkpoint acceptance ceiling.
recentTailRatio0.1Recent verbatim tail fraction.
recentTailMinTokens32768Lower bound for production tail.
recentTailMaxTokens98304Upper bound for production tail.
summaryMaxTokens16384Summarizer output cap.
exceptionalMinSavingsRatio0.25Required savings when fixed prefix exceeds ceiling.
minRecentKeep2Minimum recent messages kept.
minCompactMessages2Minimum compactable messages.
maxPinnedFirstUserTokens1500Pin first user turn if ≤ this.
pinnedFirstUserWindowFrac0.15First-user pin window fraction cap.
protocolReserveTokens256Framing reserve.
summarizationProvider / summarizationModel''Optional summary route; defaults to conversation route.
autotrueRegister automatic pressure/overflow listeners.

Modularity

  • The plugin only registers ctx.compaction and its own automatic listeners.
  • It does not edit dsh-wsl-bash, dsh-team-dashboard, router-opencode-wsl, or any other plugin.
  • To use it, mount it in your own preset or profile patch; see cordis.patch.example.yml in this package.

Keeping in sync with Reasonix

scripts/sync-reasonix-compact.mjs and the GitHub Action in .github/workflows/sync-reasonix-compact.yml watch esengine/DeepSeek-Reasonix and open/update a PR when the upstream compact implementation changes. The sync job:

  1. Fetches the latest main-v2 Reasonix source.
  2. Updates vendor/reasonix/compact/ with the upstream compact files and design docs.
  3. Regenerates src/generated/reasonix-constants.ts from the Go constants and summary prompt (when they change).
  4. Commits and opens a PR with a summary of what changed.

The generated constants are imported by this package so tuning values stay traceable to upstream.

Publish to GitHub / DSH Workshop

This repository is designed to be published as a standalone public GitHub repo. The DSH creative workshop discovers public repos with the dsh-plugin topic.

# 1. Authenticate GitHub CLI once
gh auth login

# 2. From this repository root, publish and add workshop topics
./scripts/publish.sh dsh-compaction-cacheaware

scripts/publish.sh will:

  1. Create a public GitHub repo and push this repository.
  2. Add dsh-plugin, deepseek-harness, and reasonix topics.

After that, the workshop index at https://JxaMe.github.io/dsh-workshop/ will pick it up automatically (it scans dsh-plugin topic repositories).

License

MIT

项目文件与信号

以下项目是目录快照中检测到的公开仓库信号。

测试已检测
文档已检测

仓库信息

开发语言
JavaScript
许可证
MIT
最后更新
2026年8月18日 04:10

谨慎安装

请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。