AI Agent Hub
Back to plugins
⚙️

dsh-projection-warmup

Workflow Updated 2026.08.16

Run the following command in DeepSeek Harness:

dsh plugin install orangeofcarl0-sys/dsh-projection-warmup

Paste the following prompt into your AI chat to install this plugin:

Run dsh plugin install orangeofcarl0-sys/dsh-projection-warmup in DeepSeek Harness to install; the source is available at https://github.com/orangeofcarl0-sys/dsh-projection-warmup.

About this plugin

In DSH 0.1.0-rc.6, the projection cold fold is fully synchronous. When a session carries hundreds of thousands of events, cellFor() applies every event on the Node event loop, freezing the process. Every 30-second unary RPC times out in a batch, and the frontend surfaces a uniform signal timed out (internal). In practice, a 740k-event session blocked for over 20 minutes at 100% single-core usage. This is not a network issue; it is a CPU-bound synchronous computation that locks the entire process.

dsh-projection-warmup breaks that synchronous block into chunked, event-loop-yielding replays. As soon as a session enters and its event count crosses a configurable threshold, the plugin pre-warms before the first cold fold: every chunkSize events triggers a setImmediate yield, and on completion the folded cells are written directly into the registration hot cache so that subsequent snapshot() and drive() calls all hit warm cells. The same 740k-event session that took 20 minutes now warms in roughly 200 ms. Fork child sessions also get an immediate projection cache write-back after warmup, preventing the next history open from falling into a full readFrom(0) read. An optional cold-session background backfill can be enabled via the API for offline batch processing.

If you operate DSH instances that carry long, ten-thousand-plus-event sessions, or your team keeps screenshotting signal timed out errors when loading history, this plugin is essentially a zero-config remedy. Live-session chunked warmup and fork cache backfill are on by default. On the upstream side, the synchronous zstd decode and deep copy inside readFrom(0) remain a hard limit that only a core dsh change can fully resolve; the plugin does everything it safely can within the current API surface.

Use Cases

  • A 740k-event cold fold drops from 20 minutes to 200 ms
  • Fork child sessions skip the full readFrom(0) path on next history open
  • Long-session history loads stop batch-timing-out with signal timed out
  • Batch backfill projection cache rows for cold sessions that lack them

Best For

  • DSH operators managing sessions with 100k+ events
  • Engineers whose team repeatedly hits history-load timeouts
  • Batch-job owners who need offline cold-session cache backfill