dsh-tool-memory
DiscoveredLocal knowledge-graph memory tools for DeepSeek Harness
dsh-tool-memory
Local knowledge-graph memory for DeepSeek Harness (dsh) as a Cordis plugin. The agent can store entities, observations, and relations in a file-backed graph, search them, and manage them across sessions — no external service and no credentials required.
Install
npm install @libai168/dsh-tool-memory
Requires @deepseek-ai/cordis (^4.0.1) and @deepseek-ai/dsh-tools (^0.1.0-rc.6) as peer dependencies.
Configuration
- name: 'github:LJH-snow/dsh-tool-memory'
config:
# storagePath: '~/.dsh/memory.jsonl'
The graph is stored as JSONL at storagePath (default: ~/.dsh/memory.jsonl). The file format matches the official MCP memory server shape: entity lines carry name/entityType/observations, relation lines carry from/to/relationType, so an existing memory file can be reused as-is.
Tools
| Tool | Description | Write |
|---|---|---|
memory_stats | Report entity, relation, and observation counts plus storage path | No |
memory_read_graph | Read the graph (entities, observations, relations) | No |
memory_search | Search entities by keyword with related relations | No |
memory_create_entities | Create entities from a JSON array | Yes |
memory_add_observations | Append observations to one entity | Yes |
memory_create_relations | Create relations between existing entities | Yes |
memory_delete_entities | Delete entities and cascade their relations | Yes |
memory_delete_observations | Delete specific observations | Yes |
memory_delete_relations | Delete specific relations | Yes |
Security contract
- Everything is local: the store reads and writes one JSONL file; there is no network access and no credential handling.
- Writes are atomic (temp file + rename), and corrupt lines in an existing file are skipped on load instead of failing the plugin.
- Relations are only created between entities that already exist, preventing dangling references.
- Output is capped: reads return at most 200 entities and 500 relations, search returns at most 50 entities (default 20), names are capped at 200 characters and observations at 2,000 characters, and each mutating call accepts at most 100 input items.
- All mutating tools are marked
kind: 'edit'; array parameters are passed as JSON strings and validated before any write.
API scope
This version covers the full entity/relation/observation lifecycle with file storage. Timestamps, embeddings-based semantic search, and multi-store isolation are future work.
Development
npm install
npm run typecheck
npm test
npm run build
npm pack --dry-run
License
Comments
Loading…
Similar plugins
by zmh2000829
Local-first long-term memory and temporal knowledge graph plugin for DeepSeek Harness
★ 3
MIT
TypeScript
Aug 23, 2026
dsh plugin --profile web add dsh-memory-graphby Luke-Yong
dsh-plugin-knowledge-graph for Deepseek Harness
★ 4
MIT
TypeScript
Aug 17, 2026
dsh plugin --profile web add dsh-plugin-knowledge-graphby IAMLieutenant
DeepSeek Harness 用户记忆插件
★ 3
↓ 182/wk
MIT
TypeScript
Oct 22, 2026
dsh plugin --profile web add dsh-tool-user-memoryby seriousz158
A local Git-backed long-term memory bundle for DeepSeek Harness
★ 169
↓ 99/wk
MIT
JavaScript
Oct 10, 2026
dsh plugin --profile web add dsh-git-memoryby twoyoung91
Local personal memory and knowledge management for DeepSeek Harness. It supports local FTS, CPU-embedding or OpenAI-Compatible Embedding API.
★ 4
MIT
TypeScript
Sep 28, 2026
dsh plugin --profile web add @dsh-external/dsh-memoknowby YYTbit
Structured long-term memory system for DeepSeek Harness
★ 5
↓ 33/wk
MIT
TypeScript
Aug 14, 2026
dsh plugin --profile web add dsh-plugin-meta-memory