DSH / REGISTRY / STORAGE

Storage & persistence

DSH plugins that persist structured data, spill large values, or provide local and database-backed storage.

Catalog records6

Selection note: Compare data location, schema ownership, retention, migration, and deletion behavior.

dsh-spill-local

Included in DSHBuilt-in source

The **local-filesystem** implementation of the `@deepseek-ai/dsh-spill` storage seam. Registers as `ctx.spillStore` and persists a tool's oversized text to a private, session-scoped file; its locator is the file path and its retrieval hint tells the model to use `read` or `grep` on that path.

spillPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-spill-policy

Included in DSHBuilt-in source

The **tool-result spill policy**: a `tools/post-execute` transformer that keeps oversized plain-text tool results out of the model's context. When a final result exceeds `maxInlineBytes`, it saves the FULL text through `ctx.spillStore` and replaces the model-facing result with a bounded head/tail preview plus the backend's locator and retrieval hint.

spillPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-storage

Included in DSHBuilt-in source

Storage hub (`ctx.storage`) for non-session data: a named backend registry plus mounted data-form facilities. The hub performs no IO itself — backends own media, and data forms own semantics. The storage family overview maps those packages; the domain KV storage Agent Note records the design rationale.

StoragePluginsweb
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-storage-domain

Included in DSHBuilt-in source

Domain data form for the DeepSeek Harness storage hub: exposes the injectable `ctx.storageDomain` service and the matching `ctx.storage.domain` projection after every configured backend is registered. A domain is declared once with `defineDomain` (zod record schemas, `z.infer`-derived types), opened through `DomainFacility.open`, and served from authoritative in-memory state — reads are synchronous, writes serialize on one per-domain chain, reach durability on the routed backend first, then update memory and emit `domain/changed`. The opening consumer owns the handle's lifecycle and releases it with `Domain.close()` (idempotent; typically its own `ctx.effect` disposer); domains still open when the plugin unmounts are closed by the facility.

StoragePluginsConfigurableweb
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-storage-json

Included in DSHBuilt-in source

JSON backend for the storage hub: one human-readable `<unit>.json` file per unit under a configured root, registered as backend `json`. Design: domain KV storage Agent Note.

StoragePluginsConfigurableweb
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-storage-sqlite

Included in DSHBuilt-in source

SQLite backend for the storage hub: registers as backend `sqlite`, serving the `kv` facet over one `node:sqlite` database file (or `:memory:`). Design and trade-offs: domain KV storage Agent Note.

StoragePluginsConfigurable
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Included in DSH