fango19961106-dotcom / dsh-knowledge-graph

Listed

Durable knowledge tools for DeepSeek Harness: kg_remember/kg_search/kg_recent — zero-dependency node:sqlite FTS5, one file, survives session ends

masterToolSession View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:fango19961106-dotcom/dsh-knowledge-graph

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit b08a8bcSynced Aug 18, 2026

dsh-knowledge-graph

Durable knowledge graph plugin for DeepSeek Harness (DSH).

Gives every agent session three model-facing tools backed by one embedded FTS5 database — so lessons, patterns and decisions survive session ends, preset switches and process restarts:

ToolPurpose
kg_rememberPersist a lesson / pattern / decision / field note / false positive
kg_searchBM25 full-text recall across everything ever remembered
kg_recentNewest entries — cheap context refresh at session start

Extracted from the agent-knowledge-graph architecture (L1 entries → L3 BM25 recall → L4 memory), compressed into a single zero-dependency plugin.

Features

  • Zero npm dependencies — storage is Node's built-in node:sqlite (FTS5, WAL mode, porter tokenizer)
  • One file, one store~/.local/share/dsh-knowledge-graph/knowledge.db (respects $XDG_DATA_HOME), shared by every session and preset in the profile
  • Triggers keep FTS in sync — insert/delete triggers, no manual reindex
  • Sanitized MATCH input — model-supplied queries are stripped of FTS operators; malformed input falls back to recent-listing instead of erroring
  • Clean unload — the DB handle closes when the plugin unloads (Cordis effect unwinding)

Install

Requires Node >= 22.5 (for node:sqlite).

# from a checkout
git clone https://github.com/fango19961106-dotcom/dsh-knowledge-graph
cd dsh-knowledge-graph

Then add to a DSH profile (a running dsh is a plugin tree composed of bundles — add this as an out-of-tree plugin):

mkdir -p ~/.dsh/plugins
cp -r . ~/.dsh/plugins/dsh-knowledge-graph

and list it in your profile's cordis.patch.yml:

- insert:
    - id: knowledge-graph
      name: '~/.dsh/plugins/dsh-knowledge-graph/src/index.ts'

(or install from npm once published: npm i dsh-knowledge-graph, then reference dsh-knowledge-graph by name in the patch file).

Tool contract

kg_remember:

{
  "kind": "lesson | pattern | decision | field_note | false_positive",
  "title": "One-line imperative summary",
  "body": "Self-contained note: what happened, the rule, the evidence",
  "tags": ["optional", "keywords"],
  "project": "optional-scope"
}

kg_search / kg_recent return ranked hits with «highlighted» snippets (FTS5 snippet()).

Verify without a model

node --experimental-strip-types -e "
import('./src/store.ts').then(async m => {
  const s = new m.KnowledgeStore('/tmp/kg-test.db');
  s.remember('lesson', 'Pin third-party action SHAs', 'Tag-pinned actions can be mutated; @vX tags are moveable refs.', ['supply-chain'], 'dsh-plugin');
  console.log(JSON.stringify(s.search('supply chain'), null, 1));
  s.close();
})"

License

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected

Repository information

Language
TypeScript
License
Not reported
Last updated
Aug 17, 2026, 12:06 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.