安装
npx -y @deepseek-ai/dsh plugin --profile web add github:Amengclass/dsh-memory此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。
README
维护者编写的文档快照。
dsh-memory
A persistent, model-editable memory/notes store for DeepSeek Harness. It gives the agent a first-class way to durably write, fetch, and search "facts it wants to remember" that survive across sessions — something conversation-history search, todo_write, settings, and static skill docs do not cover.
It is a community dsh-plugin: an installable Cordis bundle shipping as plain ESM JavaScript (index.js + index.d.ts), so it installs from a git host or npm with no build step.
Records live in one storage domain (dsh_memory) routed through the built-in ctx.storageDomain seam — not hand-rolled files — so they persist under the deployment's configured backend (json/sqlite) and emit domain/changed for live UIs.
Why it is not redundant
| Existing capability | Difference from dsh-memory |
|---|---|
session_search / session_event_* | Only read past conversation; cannot store durable facts |
todo_write | Task-status tracking, not knowledge |
settings / credentials | Operator config, not agent-mutable knowledge |
skills | Static docs; the model cannot write to them |
goal / schedule | Objectives / reminders, not a knowledge store |
| MCP memory server | Requires an external server/account; this is a lightweight built-in |
Tools
| Tool | Purpose |
|---|---|
memory_set | Durably upsert a fact/note under a stable key (with optional tags). |
memory_get | Read one entry by key, or list all when the key is omitted. |
memory_delete | Delete an entry by key (idempotent). |
memory_search | Case-insensitive substring search over key/value/tags, filterable by required tags. |
Example
user: From now on, don't touch public/ in this project.
model: memory_set key="project/convention" value="Do not modify public/" tags=["project","rule"]
→ [memory] saved "project/convention" (2 tags)
(next session)
user: Continue on that project.
model: memory_get key="project/convention" → "Do not modify public/" → works accordingly
Install
Install into a Harness profile. From a checkout:
dsh plugin --profile web add ./dsh-memory
or from this repository (no build step required — the package ships JavaScript):
dsh plugin --profile web add github:Amengclass/dsh-memory
The storage backend is provided by your deployment (web profiles mount
@deepseek-ai/dsh-storage-jsonwithbackend: jsonby default). This plugin only declares a storage domain, so no backend changes are needed.
Configuration
Schemastery-validated config, overridable from your profile patch:
| Key | Default | Meaning |
|---|---|---|
domainName | dsh_memory | Name of the storage domain (must match /^[a-z][a-z0-9_]*$/). |
maxItems | 1000 | Hard cap on stored entries. |
maxKeyLength | 120 | Max key length; longer keys are rejected. |
maxValueLength | 10000 | Max stored value length; longer values are rejected. |
- insert:
- id: dsh-memory
config:
maxItems: 500
Dependencies & license
- Runtime peer dependencies (provided by the harness's own node_modules):
@deepseek-ai/dsh-storage-domain,@deepseek-ai/dsh-tools,@deepseek-ai/schemastery,zod. - No runtime build toolchain; no Node addons.
- MIT licensed — see LICENSE.
Contributing / topic
Published under the dsh-plugin GitHub topic. PRs and issues welcome.
仓库信息
- 开发语言
- JavaScript
- 许可证
- MIT
- 最后更新
- 2026年8月14日 01:41
谨慎安装
请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。