- Home
- Plugins
- MCP & Connectors
- dsh-engram-bundle
dsh-engram-bundle
michengai/dsh-engram-bundle
NPM-installable DeepSeek Harness plugin that bundles Engram persistent memory MCP and injects parent-agent memory protocol.
Install
dsh plugin --profile web add github:michengai/dsh-engram-bundleREADME
DSH Engram Bundle
A DeepSeek Harness plugin that wires Engram persistent memory MCP into a profile and injects parent-agent memory rules.
Report an issue · View on npm · 简体中文
DSH Engram Bundle is a community-maintained plugin, not an official DeepSeek AI product.
Features
- Registers Engram as a stdio MCP server through
@deepseek-ai/dsh-mcp-client. - Starts
engram mcp --tools=agentby default; override the binary withENGRAM_BIN. - Injects a minimal memory protocol into the parent agent via DSH
systemPrompt. - Skips child agents so memory is not saved twice.
- Does not write
AGENTS.mdinto user directories.
Prerequisites
- A working DeepSeek Harness installation with
dshavailable in PowerShell. engramavailable onPATH, orENGRAM_BINpointing to the executable.- Examples use the
webprofile; replace it with the target profile. - Source installation and development require Node.js 20+.
Installation
Install from npm
Run this from any PowerShell directory. Install into the DSH profile through dsh plugin:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
dsh plugin --profile web add @michengai/dsh-engram-bundle
dsh --profile web --dump-config
Restart DSH or reload the active profile. If a package mirror is behind, append --registry=https://registry.npmjs.org/.
Install from source
Use this for debugging or unpublished changes. The cloned directory becomes the plugin source path:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
Set-Location D:\Repository\deepseek-harness-plugin
git clone https://github.com/MichengAI/dsh-engram-bundle.git
Set-Location .\dsh-engram-bundle
npm test
dsh plugin --profile web add .
dsh --profile web --dump-config
Then restart DSH or reload the active profile. dsh plugin ... add . reads and applies cordis.patch.yml; do not copy lib files by hand.
Configuration
| Item | Default | Notes |
|---|---|---|
| MCP command | engram | Set ENGRAM_BIN when the binary is not on PATH. |
| MCP args | mcp --tools=agent | Uses Engram's agent tool surface. |
| Working directory | process.cwd() | Follows the current DSH working directory. |
| Prompt injection | Parent agent only | Child agents with parentSession receive an empty section. |
Memory protocol
The plugin injects these parent-agent rules:
- Search existing memory first for continuation work (
mem_context, thenmem_search). - Save after bug fixes, design decisions, configuration changes, or important discoveries (
mem_save). - Write a session summary before ending (
mem_session_summary). - Do not persist ordinary chat or throwaway notes.
The full protocol and MCP wiring live in the handoff docs.
Development
This repository keeps runtime source in lib and has no build step:
- lib\index.js: Host plugin that registers the
systemPromptsection. - lib\protocol.js: Parent-agent memory rules.
test\memory-plugin.test.mjs: Injection behavior.test\package-contract.test.mjs: Package and patch contract.
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
npm test
npm run pack:check
dsh plugin --profile web add .
Verification
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
npm test
npm run pack:check
prepublishOnly runs the tests before publish.
Project docs and license
Start at the handoff index. This project uses Apache License 2.0.