Back to marketplace

graph-memory

Models & Data

adoresever/graph-memory

Knowledge graph memory plugin for DeepSeek Harness and OpenClaw, extracting structured triples from conversations to compress context and enable cross-session experience reuse.

  • claude-code
  • codex
  • deepseek
  • deepseek-harness
  • dsh
  • dsh-plugin
  • dsh-plugins
  • knowledge-graph
  • memory
  • openclaw
  • openclaw-plugin
  • opencode
GitHub Stars
642GitHub
Views
49DSH Plugin Hub
Forks
95GitHub
Open issues
16GitHub Issues
Manifest version
1.6.0-beta.8graph-memory
Latest push
Oct 1, 2026GitHub
License
MITTypeScript
Plugin type
HostRuns in the DSH Host

Verification and compatibility

This section shows evidence collected by the catalog. Undeclared information is labeled as unknown.

Static checked
01Exact source: github · graph-memory@1.6.0-beta.802Validated: Aug 21, 202603Verified Harness: 0.1.0-rc.7
Current-version compatibility
Verified on the catalog Harness version
Declared Harness range
Not declared
Declared platforms
Not declared
Profiles
web
Build approval
Unknown
Permissions
Not declared
External services
Not declared
Telemetry
Unknown
No known risk flags found

This is not a security endorsement. Review source, permissions, and configuration before installing.

View evidence and scope

Verification covers only the named source, version, and Harness environment. It does not guarantee future compatibility.

  • github:adoresever/graph-memory#83ffb2771022a8d323feefc280ae4f198d8b85e5
  • The manifest and static structure passed checks; a runtime load check has not completed.

README

View source

Graph Memory

The problem it solves

Graph Memory owns the model-visible historical surface without deleting DSH's event log. By default it keeps the newest five completed user turns, removes completed reasoning/tool traces from future requests, and recalls relevant older or cross-session source Q/A automatically.

The 1.6 turn-memory navigation upgrade

BeforeNow
Extract TASK / SKILL / EVENT directly from messagesCreate one self-contained turn summary, then derive SPO from that same sentence
Graph nodes could become the factual payloadSummary, SPO, and communities only navigate; original question and final answer remain the evidence
Old memories from the active session could be filtered wholesaleExclude only sources still visible in the fresh window; archived same-session and cross-session recall share one path
Community expansion could pull a whole neighborhoodLocal LPA narrows candidates, query-time PPR ranks them, and only matched Q/A is recovered
DSH retained complete tool and reasoning tracesCompleted turns retain question + final answer; older prefixes collapse to one fixed marker

Writing one completed turn costs exactly one auxiliary LLM call. Community detection and PPR are local. There are no hard-coded node/edge counts, semantic direction gates, or JSON repair that turns invalid output into accepted data. Read the complete design, source map, and porting sequence →

Measured first

Real 20-turn GLM-5.2 runHistorical native DSH baselineLatest Graph MemoryChange
T20 first request56,998 tokens11,008 tokens−80.69%
T20 model-visible messages17121−87.72%
T01–T20 first-request context532,451 tokens165,896 tokens−68.84%
All measured tokens¹2,487,7762,327,728−6.43%

¹ The latest candidate includes 166 main-agent requests, 20 turn extractions, and 41 embedding requests; the historical baseline made 77 main requests. DSH commits and nondeterministic tool loops differ, so this is not a simultaneous strict A/B. First-request context is the direct takeover metric; the full bill remains visible.

20/20 scenario turns passed · 20/20 structured extractions succeeded · 0 quarantined · 20 turn summaries · 92 SPO triples · 30 communities · 20 summary vectors. T11, T19, and T20 automatically recalled out-of-window memory with exact source question and final answer.

Read the Markdown benchmark, per-turn data, method, and limits →

Memory survives the context window

The graph is a navigation layer, not a replacement for evidence. TASK, SKILL, and EVENT nodes point back to the original user question and final visible answer; recalled context includes those exact source messages.

Install on DeepSeek Harness

1.6.0-beta.17 fixes producer attribution on DSH 0.1.7+ / Session V4 (#113), extraction on models that cannot use off (#117), and configurable SQLite lock waiting. Context-window and recall policies remain unchanged. Fix details and recovery instructions (Chinese) →

Node.js 22.13+ · no DSH fork · until npm 1.6 is published, install the pinned GitHub release:

npx @deepseek-ai/dsh plugin --profile web add github:adoresever/graph-memory#v1.6.0-beta.17
npx @deepseek-ai/dsh --profile web --dump-config
npx @deepseek-ai/dsh web

The npm registry still serves the old 1.5.8; do not use it to validate DSH. Switch to npx @deepseek-ai/dsh plugin --profile web add graph-memory only after npm view graph-memory version reports 1.6.0-beta.17 or newer.

Confirm that graph-memory/dsh is active under Settings → Plugins. The default database is $DSH_HOME/graph-memory/graph-memory.db, normally ~/.dsh/graph-memory/graph-memory.db.

What ships

CapabilityImplementation
Context takeoverConfigurable newest-N completed turns; one archive marker replaces the older model surface
Lightweight extractionOnly the user question and final answer; strict structured tool contract; no reasoning/tool transcript ingestion
Query-first recallVector Top-K with FTS5 fallback; exact source Q/A travels with graph hits
Durable memoryLocal SQLite, stable provenance, cross-session and cross-project recall
Failure behaviorInvalid extraction is quarantined; foreground conversation continues; bad data is not repaired or persisted
Host supportNative DSH/Cordis adapter; maintained OpenClaw Context Engine adapter

Graph Memory supports OpenAI-compatible embedding endpoints. Without embeddings it falls back to FTS5 and does not block conversation.

export GRAPH_MEMORY_EMBEDDING_API_KEY='replace-with-your-key'
export GRAPH_MEMORY_EMBEDDING_BASE_URL='https://dashscope.aliyuncs.com/compatible-mode/v1'
export GRAPH_MEMORY_EMBEDDING_MODEL='text-embedding-v4'
export GRAPH_MEMORY_EMBEDDING_DIMENSIONS='1024'
dsh web
ToolPurpose
gm_statusStore, extraction, recall, vector, and retention state
gm_searchExplicit graph-memory search
gm_recordDeterministically persist a TASK, SKILL, or EVENT
gm_statsGraph and retention receipts
gm_maintainOne bounded maintenance tick
gm_retry_extractionExplicitly retry pending or quarantined extraction

Automatic recall needs no tool call. Extraction may use a dedicated model via GRAPH_MEMORY_LLM_PROVIDER and GRAPH_MEMORY_LLM_MODEL; optional reasoning and output controls are GRAPH_MEMORY_LLM_REASONING_EFFORT and GRAPH_MEMORY_LLM_MAX_TOKENS.

Without an explicit effort, extraction reads the exact model capability: prefer off, otherwise the host's first advertised effort, or omit the field on non-reasoning models. Route/provider failures keep source Q/A pending and report the cause in logs and gm_status. To recover old quarantined records, enable assistantTools: all and invoke gm_retry_extraction. Configure SQLite lock waiting with GRAPH_MEMORY_DB_BUSY_TIMEOUT_MS (default: 5000 milliseconds).

openclaw plugins install graph-memory
openclaw plugins enable graph-memory
openclaw gateway restart

Activate the Context Engine slot in ~/.openclaw/openclaw.json:

{
  "plugins": {
    "slots": { "contextEngine": "graph-memory" },
    "entries": { "graph-memory": { "enabled": true } }
  }
}

The repository also contains an experimental read-only DSH Pro Lite Host + Client plugin backed by Community SQLite. The 2D/3D graph workbench, split view, and controlled drag-to-context remain planned. See dsh-pro/README_CN.md.

Verification and limits

Current beta 1.6.0-beta.17 passes 149/149 automated tests, including DSH 0.2.0-rc.2's official V4 validator and real SQLite write contention. The GLM-5.2 20-turn figures above come from the navigation-upgrade run on 2026-09-09; this compatibility patch did not rerun that paid experiment.

  • Structured extraction still depends on model contract compliance: the historical run succeeded 20/20 times. Contract failures stay quarantined; route/provider failures remain pending for explicit retry after configuration is corrected.
  • Recall is bounded by configurable Top-K. Focused probes succeeded; one broad multi-topic query can require a larger Top-K or separate questions.
  • The published run is an engineering workload, not a universal LoCoMo/LongMemEval score.
  • The design, source-code map, and porting sequence for the summary + SPO navigation + exact-Q/A upgrade are documented in the Chinese upgrade guide.

Reproduce it from benchmarks/dsh-context-takeover/. Raw conversations, provider responses, local paths, and credentials are excluded.

Development

npm install
npm test
npm run build
npm run verify:package

MIT © 2026 adoresever · Asset and trademark notes

Comments

0
Newest first