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=agent by default; override the binary with ENGRAM_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.md into user directories.
Prerequisites
- A working DeepSeek Harness installation with
dsh available in PowerShell.
engram available on PATH, or ENGRAM_BIN pointing to the executable.
- Examples use the
web profile; 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, then mem_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
systemPrompt section.
- 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.