Перейти к основному содержимому
O

dsh-mnemon

omdsh-dev/dsh-mnemon

Глубокая интеграция с Mnemon: локальная трёхуровневая память (Runtime Memory, извлекаемые Documents, курируемые Memory Spaces).

Установка

dsh plugin --profile web add github:omdsh-dev/dsh-mnemon

README

dsh-mnemon

English · 简体中文

release v0.2.9 three memory tiers nine providers Node.js 20 or newer MIT license

The three-tier, pluggable, Agent-driven memory system for DeepSeek Harness.

Three memory tiers · Nine long-term providers · One supervised workflow

dsh-mnemon v0.2.0 live multi-memory snapshot and observable provider surfaces

Explore the capability map · Start in five minutes · Read the v0.2.9 notes · Watch the widescreen demo

dsh-mnemon gives DSH one memory control plane without forcing every kind of knowledge into one database. Runtime Memory keeps compact context available every turn. Project Documents preserve complete narratives. Memory Spaces retrieve durable evidence on demand and can use Mnemon, OpenViking, Honcho, Mem0, Hindsight, Holographic, RetainDB, ByteRover, or Supermemory.

Mnemon remains the official, prioritized native engine. The third tier is replaceable; the first two keep the same storage, workspace, and interaction model regardless of provider.

Understand the scope in 30 seconds

TierKeep hereHow it reaches the AgentManaged by
RuntimePreferences, collaboration rules, project conventions, environment factsCompact USER.md / MEMORY.md projection on every turnDeterministic dsh-mnemon Host
DocumentsDesigns, investigations, procedures, postmortems, handoffsSearch first, full Markdown on demandDeterministic dsh-mnemon Host
Memory SpacesCross-session facts, decisions, entities, relationsBounded recall from active spacesMnemon Native or an external Provider

The tiers are not copies. A useful rule is: every-turn context goes to Runtime, complete narratives go to Documents, and cross-task evidence goes to Memory Spaces. Current instructions, repository files, and live tool results always outrank historical memory.

Clicks that start real work

User actionWhat actually runsData effect
SearchConcurrent provider-native recallRead-only
Agent queryA clean top-level task Agent receives bounded evidence and writes an answerRead-only
Remember / Save to memoryA clean task Agent qualifies, routes, deduplicates, distills, and writes behind Host controlsWrites only if accepted
Smart selectionHard rules filter providers; a task Agent resolves only genuine ambiguitySaves a routing receipt
AI metadataOne asynchronous task Agent per selected Memory Space, each using the provider's fastest sample pathLocal title/description only
Archive DocumentA task Agent creates a searchable cold reference before the Host moves the originalSupervised move
Turn memoryExpands exact recall, write, and Document-search activity; each item navigates to its sourceRead-only

These tasks do not reuse or consume the main conversation history. By default they follow DSH's new-session model route; Settings → Memory System → Background task Agent can select a dedicated Provider and model.

One Memory Space workflow, nine providers

ProviderShapeBest fit
MnemonOfficial native local CLI + SQLiteExact writes, entities, typed relationships, local-first sharing
OpenVikingHTTP + viking://Resource trees and asynchronous extraction
HonchoHTTP workspace / peersTeam and Agent-peer conclusions
Mem0Platform or self-hosted HTTPExisting user / Agent memory
HindsightHTTP memory bankBanks, entities, provider-native graph
HolographicLocal structured fact filesAuditable facts, trust scores, local entities
RetainDBHTTP project / userProject- and user-scoped profiles
ByteRoverLocal brv CLICode knowledge trees and curate workflows
SupermemoryHTTP containerDocument ingestion and container sharing

Provider capability differences stay visible. dsh-mnemon never invents graph edges, deletion semantics, or enumerable content for an engine that does not provide them. Settings owns reusable Provider services; Memory Spaces owns concrete instances, activation, scope, and metadata. External Providers are off by default.

See the provider capability and deployment matrix.

Real WebUI walkthrough

The following roughly 55-second capture comes from a live 1600×900 DSH WebUI. It deliberately pauses on full-page scrolling, page transitions, Provider cards, dialogs, button-state changes, and a completed read-only Agent Query. Destructive confirmations are deliberately not submitted.

Full dsh-mnemon v0.2.0 WebUI walkthrough with scrolling and button interactions

Watch the 1600×900 MP4 · Open the page-by-page UI guide

Start in five minutes

1. Install Mnemon Native

Mnemon is the default engine and the simplest local-first starting point:

# macOS
brew install --cask mnemon-dev/tap/mnemon

# macOS / Linux via Go
go install github.com/mnemon-dev/mnemon@latest

mnemon --version

Windows users can install the official v0.2.3-or-newer release ZIP. The expected installation path and checksum procedure are in Getting Started.

2. Install the DSH plugin

dsh plugin --profile web add dsh-mnemon
dsh --profile web

DSH profiles have independent plugin rosters. Install the same package separately for one-shot Headless tasks:

dsh plugin --profile headless add dsh-mnemon
dsh --profile headless "Check durable project context before answering this task."

For a local checkout, use an absolute path:

dsh plugin --profile web add "link:/absolute/path/to/dsh-mnemon"
dsh plugin --profile headless add "link:/absolute/path/to/dsh-mnemon"

3. Verify the first workflow

  1. Open Memory System → Status and verify dsh-mnemon, Mnemon Native, Runtime, Documents, and enabled Providers.
  2. Open Memory Spaces → Overview → Create Memory Space and choose an enabled Provider explicitly.
  3. Submit one stable, future-useful candidate through Remember.
  4. Open Recall, run a direct search, then run Agent query against the same question.
  5. Return to the conversation, expand Turn memory, and follow one exact tool link.

The primary tab order is intentionally stable: Status, Runtime, Documents, Memory Spaces.

Familiar controls, expanded capability

Agent-driven memory operations

Supervised distillationBounded Agent query
Edit a candidate before dispatching an independent task AgentRead-only Agent answer grounded in bounded multi-provider evidence

The workbench makes the task boundary explicit before dispatch and keeps the returned answer beside its evidence scope. Conversation-native Turn memory and Save to memory remain enabled by default and can be changed independently under Settings → Memory System → Conversation interface.

Manual or policy-driven placement

Create explicitlyRoute future distillation intelligently
Choose a Provider while creating a Memory SpaceChoose manual or smart Provider placement

Manual creation always asks the user to choose. Smart selection is a distillation policy: hard rules define the eligible set, then an optional prompt guides the Agent only when several candidates remain.

Global, workspace, and custom scope

ScopeBehavior
globalUses ~/.mnemon; ideal for a local control plane shared across workspaces and Agents
workspaceUses <workspace>/.mnemon; local Providers that support workspace following move with the effective workspace
customAn explicit path with global semantics, useful for team conventions or isolated environments

Remote Provider workspaces, users, banks, projects, containers, and URIs remain their own namespaces; switching the DSH workspace never silently rewrites them. In workspace mode, the workbench may inspect one selected workspace while the current conversation continues to execute in its own cwd. Independent task Agents launched from the workbench use the inspected workspace even when no main session is selected.

Web, conversation, and Headless share one system

SurfaceWhat remains available
Sidebar WebUIStatus, Runtime, Documents, Memory Spaces, Provider services, visualization, and confirmation surfaces
Conversation UITurn memory, Save to memory, exact navigation to the corresponding page
HeadlessRuntime injection, Document search, Memory Space tools, workspace routing, and supervised writes without a WebUI
Commands/mnemon status, recall, related, remember, and forget

Data and security boundaries

  • Runtime and Documents are local deterministic stores. Mnemon Native is local by default; external Providers are explicit opt-ins.
  • Provider credentials are mode 0600 under <storageRoot>/state/memory-providers.json. They are never returned to the browser, smart-selection Agent, or Mnemon Pack.
  • Host calls use argument arrays with shell disabled, bounded output, timeouts, cancellation, schema validation, path boundaries, locks, and revisions.
  • Disabling a Provider clears its local catalog metadata but never deletes remote data. Reconnecting rebuilds metadata from the Provider, using local defaults only when a field cannot be mapped.
  • Changing scope never migrates, merges, or deletes an old root automatically.
  • There is no deterministic secret scanner yet. Never store keys, tokens, private keys, or raw sensitive logs in any tier.
  • Uninstalling the plugin does not remove local or remote memory data.

See Operations, security, and troubleshooting for backup, recovery, and diagnostics.

Documentation

I want to…Start here
See the complete product boundaryCapability map
Install and verify the first workflowGetting Started
Follow every visible click and Agent actionSidebar and conversation UI guide
Compare or deploy all nine ProvidersLong-term memory providers
Understand tiering and lifecycleStorage model · Workflows
Configure scope, routing, and model selectionConfiguration
Back up, update, or troubleshootOperations
Integrate tools, commands, or RPCInterface reference
Review the releasev0.2.9 release notes

See the documentation hub for the full map.

Development

pnpm install
pnpm run verify

verify runs TypeScript checks, Vitest, a reproducible double build, an isolated real Headless-profile activation check, and published-package validation. lib/ is generated and intentionally not tracked.

License

MIT. Report security issues privately through SECURITY.md, not a public issue.

Похожие плагины