npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-compaction-cacheaware

v0.1.11

Published

Reasonix-style cache-aware compaction backend for DeepSeek Harness (DSH). Replaces/enhances compaction-basic with compact_ratio, one structured summary checkpoint, and a stable recent tail.

Readme

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 插件社区目录(1024Store)

本仓库带 dsh-plugin topic,且 package.json 声明了有效的 dsh.bundle.patch(patch 文件随仓库同 revision 提交),可被 awesome-deepseek-harness-plugins 目录的静态校验收录。 在线市场:https://deepseek1024.com/

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

本包自带 DSH profile bundle 声明和 cordis.patch.yml。将 dsh-compaction-cacheaware 加入 profile 的 dsh.profile.bundles 后,DSH 会自动禁用 compaction-basic 并挂载本后端;不要再把同一条插入 patch 重复添加到 profile 的 cordis.patch.yml

也可以从 GitHub 安装:

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

本地开发 / 构建

pnpm install
pnpm build

如果不使用 profile bundle,也可以在 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: 8192
    recentTailMaxTokens: 16384
    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: 8192
    recentTailMaxTokens: 16384
    summaryMaxTokens: 16384

Note: mounts inside an agent preset's isolated compaction realm replace compaction-basic there directly; the profile-level bundle patch cannot reach that realm, so every preset that ships compaction-basic in its own compaction group must be migrated to this package.

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

| Key | Default | Meaning | | --- | --- | --- | | compactRatio | 0.85 | Sole automatic trigger fraction. | | checkpointCeilingRatio | 0.5 | Normal auto-checkpoint acceptance ceiling. | | recentTailRatio | 0.1 | Recent verbatim tail fraction. | | recentTailMinTokens | 8192 | Lower bound for production tail (lowered from upstream 32K so compaction still triggers under token-meter underestimation). | | recentTailMaxTokens | 16384 | Upper bound for production tail (lowered from upstream 96K, same reason). | | summaryMaxTokens | 16384 | Summarizer output cap. | | exceptionalMinSavingsRatio | 0.25 | Required savings when fixed prefix exceeds ceiling. | | minRecentKeep | 2 | Minimum recent messages kept. | | minCompactMessages | 2 | Minimum compactable messages. | | maxPinnedFirstUserTokens | 1500 | Pin first user turn if ≤ this. | | pinnedFirstUserWindowFrac | 0.15 | First-user pin window fraction cap. | | protocolReserveTokens | 256 | Framing reserve. | | summarizationProvider / summarizationModel | '' | Optional summary route; defaults to conversation route. | | auto | true | Register automatic pressure/overflow listeners. |

Modularity

  • The plugin only registers ctx.compaction and its own automatic listeners.
  • Realm self-check (since 0.1.11): mounting logs a warning when another compaction engine already owns ctx.compaction in the same realm, and if a later mount supersedes this instance, its automatic listeners stand down (warn-once, hot-reload aware) instead of racing the new owner. Note a profile-level bundle patch cannot reach an agent preset's isolated compaction realm — migrate each preset individually.
  • 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 / community catalog

This repository is designed to be published as a standalone public GitHub repo. The 1024Store catalog discovers public repos with the dsh-plugin topic and statically validates the dsh.bundle.patch declaration (the patch file must exist in the same tree).

# 1. Authenticate GitHub CLI once
gh auth login

# 2. From this repository root, publish and add catalog 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, deepseek1024.com lists the entry (browse-only until the npm package is published; installs come from npm).

License

MIT