Install
Inside DeepSeek Harness, with dsh-market
dsh plugin --profile web add dshmarket
Or from the command line
dsh plugin --profile web add dsh-patchouli
Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.
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.
Comments
Comments live in GitHub Discussions. Sign in with GitHub to post or react.