Skip to main content

dsh-storage-json/packages/storage/storage-jsonOfficial

175.3kStars19.0kForks0Issues752Watchers

JSON file KV storage backend for the DeepSeek Harness storage hub

Evidence3/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki

ⓘ This plugin is a sub-package of the deepseek-ai/deepseek-harness monorepo — stars and activity count the whole repository.

Language
TypeScript
License
MIT
Branch
master
ai-agentscordisdshdsh-plugin

Install

cmdweb profile
$ dsh plugin --profile web add npm:@deepseek-ai/dsh-storage-json

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin deepseek-ai/deepseek-harness/packages/storage/storage-json for me: review the repository at https://github.com/deepseek-ai/deepseek-harness first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

English | 中文

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.

Model

  • The in-memory unit state is authoritative; every write primitive republishes the whole file via temp-write + fsync + atomic rename() replace. A unit file is always the complete current net state — legibility is this backend's reason to exist; scale is the SQLite backend's job.
  • A missing file opens as an empty unit and materializes on the first write. A foreign or unparsable file rejects with malformed-medium; a stored version differing from the descriptor rejects with version-mismatch (no migration, pre-release stance).
  • Write ordering across calls belongs to the caller (the domain layer's write chain); each single call is atomic and durable once resolved.

Config

KeyTypeDefaultMeaning
rootstringrequired — no default (a cwd fallback would scatter files)Directory holding unit files; created 0o700 on demand

Model Experience

Stored domain records

What the model sees

Nothing. This backend contributes no prompt, tool, or schema; it persists non-session domain data behind ctx.storage for host-side consumers only.

Token effect

Zero live-request tokens.

KV Cache effect

None — the backend never touches live request prefixes.

Known Limitations and Deferred Work

  • Windows durability relies on libuv's rename() (MoveFileExW with replacement) without an explicit write-through flag; the session-log backend's stricter Win32 write-through publish helper is planned to move down here when the append-log facet lands (see the Agent Note's migration section).
  • No cross-process write locking: two processes writing the same root can interleave whole-file replacements (last write wins). Single-host-process deployments are the current consumer; the multi-process story is deferred per the Agent Note's out-of-scope table.

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/deepseek-ai/deepseek-harness/packages/storage/storage-json)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory