DeepSeek Harness memory and knowledge hub that routes update, retrieve, and subscribe calls across compatible plugins, with an optional transactional Rust backend.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-patchouli
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:memorax-ai/dsh-patchouli
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
English · 简体中文
Overview
Patchouli exposes one update / retrieve / subscribe service inside
DeepSeek Harness. Connectors
provide trusted runtime data, memory and knowledge plugins own their algorithms,
and an independent Rust backend provides durable transactional storage.
DeepSeek Harness is the first supported integration. The database backend remains harness-neutral.
Features
- Common Memory Service with provider filters, user routing policies, and provenance.
- Consumer-side aggregation that keeps native plugin results intact, with optional dedicated-model evidence selection.
- Incremental retrieval streams with backpressure and a final
completeaggregate. - Agent Loop connector with configurable hooks and model tools.
- Pluggable local or remote memory and knowledge implementations.
- Managed image and workspace-file ingestion as typed Artifacts.
- Durable subscriptions and a transactional Rust backend with SQLite and remote providers.
Load use-dsh-patchouli for installation, DSH integration, MemoryPlugin development, storage and backend work, and troubleshooting.
Plugin compatibility
Official means the upstream plugin registers the patchouli service directly.
Patch means GOOJFC adapts one exact plugin version through
dsh-harmony. The table distinguishes
upstream integrations from version-pinned patches.
| Plugin | Tested package | Compatibility | Patchouli DB |
|---|---|---|---|
| MemoraX Code | @memorax-code/dsh-adapter@0.1.2 (source) |
Official | No — plugin-managed |
| OpenViking | @openviking/dsh-memory-plugin@0.1.0 |
Patch | No — plugin-managed |
| Hindsight | @vectorize-io/hindsight-coding-agents@0.3.4 |
Patch | No — plugin-managed |
| MemOS | @memtensor/memos-local-plugin@2.0.16-beta.1 |
Patch | No — plugin-managed |
| Mneme | @modusensus/dsh-mneme@0.3.7 |
Patch | No — plugin-managed |
| Mnemon | dsh-mnemon@0.1.6 |
Patch | No — plugin-managed |
| Memory Gate | dsh-memory-gate@0.9.0 |
Patch | No — plugin-managed |
| Lingshu Memory | @furongjun1999/dsh-memory@0.2.8 |
Patch | No — plugin-managed |
| Graph Memory | graph-memory@1.5.8 |
Patch | No — plugin-managed |
| Engramory | dsh-engramory@0.2.1 |
Patch | No — plugin-managed |
| Memory Evolve | dsh-memory-evolve@0.1.0 |
Patch | No — plugin-managed |
Building a DSH plugin or exploring compatibility with an existing one? Try dsh-harmony to inspect and adapt plugin behavior without maintaining an upstream fork.
The Engramory compatibility patch keeps its index guard but sets its documented
registerSkill: false option. Patchouli is the only automatic recall path while
the adapter is active.
Install and use
Requires Node.js ^22.19.0 || >=24, pnpm 11, and a DeepSeek Harness runtime
compatible with 0.1.0-rc.6:
dsh plugin --profile web add dsh-patchouli
dsh --profile web --dump-config
The plugin includes patchouli-db as a dependency. On first use it downloads
the matching, checksum-verified daemon binary from the same-version GitHub
release and initializes the default local database home. The bundled DSH profile
enables its storage client by default; it connects to the local daemon and starts
it when needed. The last command
should list patchouli, patchouli-storage, and the connector plugins.
Register at least one compatible memory or knowledge plugin to handle routed
update, retrieve, and subscribe calls.
See the Getting started guide for configuration and platform-specific details.
What does the plugin's name mean???
The name refers directly to Patchouli Knowledge, and also pays tribute to the widely known Minecraft mod Patchouli.
DSH compatibility (2026-09-19)
The Host and Agent/Native Context adapters retain the legacy baseline and now pass type checks against DSH 0.1.5-rc.2 and 0.1.6-alpha.2. History reads adapt to read-only persistence handles and always close them; session-start retrieval follows both lifecycle contracts without double injection. The optional Fleet archive adapter activates only when Fleet services exist. The complete check passes 174 tests with one skip. Isolated Web startup with Native Context and all seven Harmony patches passes on both upstream versions. Memory UI and live model/browser interactions are not covered by these checks.
Links
More in this category
vectorize-io/hindsight#coding-agents★ 44741
Hindsight, agent memory that learns: long-term project memory with auto recall and retain, knowledge pages, deep reflection, and per-repo memory banks.
volcengine/OpenViking#examples/dsh-memory-plugin★ 39138
OpenViking memory and context bundle for DeepSeek Harness: pre-step auto-recall and profile injection, session capture, `viking://` URI guarding, and recall/write memory tools backed by an OpenViking server.
agentscope-ai/ReMe#dsh★ 3547
Connects DeepSeek Harness to ReMe's local-first, self-evolving personal knowledge base: automatically captures completed main-agent conversations as user-owned Markdown memory, searches conversations and source material through reme_search with BM25, optional embeddings, and wikilink expansion, and schedules daily memory consolidation.
zilliztech/memsearch#MemSearch★ 2706
Shared Markdown memory for DSH and other coding agents, with automatic capture, pre-step context injection, searchable recall, and memory-to-skill self-evolution through a review panel.
vshulcz/deja-vu#extensions/dsh★ 1120
Reads the session files thirty-three other coding agents on this machine already wrote — Claude Code, Codex, Cursor, VS Code Copilot Chat, opencode, OpenClaw, Hermes, Kimi, Cline, Zed and more — including sessions from before it was installed: six tools (deja_recall, deja_session, deja_blame, deja_fix, deja_how, deja_remember), a /deja command, and optional automatic recall added to the runtime context. Local BM25 index, no LLM, no embeddings, no network (dsh plugin --profile web add dsh-deja).
adoresever/graph-memory★ 635
Traceable, searchable cross-session memory for DeepSeek Harness — conversation knowledge as typed graph nodes (TASK/SKILL/EVENT) and typed edges.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.