Foreword¶
When using DeepSeek Harness (DSH) to write code and run agents, a common pain point is “having to start from scratch every time a new conversation begins”: technical decisions made last week, coding preferences you’ve repeatedly emphasized, and pitfalls encountered in the project are often forgotten by the model. Even with a large context window, it cannot replace a cross-session, persistent, and human-reviewable memory layer.
If you’re already running agents in DSH and want memory to be persisted, searchable, and migratable from tools like Cursor or Claude Code, the community plugin dsh-noema (npm package @zseven-w/dsh-noema) is worth a look. Published by maintainer ZSeven-W, it is categorized under “Memory” in the SkillHub Plugin Directory. As of verification, its GitHub repository ZSeven-W/dsh-noema has approximately 123 stars and 7 forks, and is licensed under MIT. It should be noted that SkillHub is an independent community directory for Chinese users and has no official affiliation with DeepSeek or High-Flyer. DSH itself adheres to a “everything is a plugin” philosophy, and memory capabilities are similarly integrated as plugins.
What Is This¶
dsh-noema is a long-term memory plugin for DSH based on Noema: it connects DeepSeek Harness with Noema. Noema is a local-first, non-vector memory system designed for programming agents; the plugin builds upon this foundation to provide agents with persistent, inspectable memory read/write capabilities, along with a visual settings page.
In short: It allows agents to retain knowledge across multiple sessions instead of starting with a blank context every time.
The current plugin version is 0.1.0-rc.3, and the README indicates it has been tested on DSH 0.1.1-rc.1; the runtime requires Node.js >= 24.11.0.
Core Features & Highlights¶
Durable Recall¶
Memories are stored as inspectable Markdown files in the NOEMA_ROOT directory, defaulting to ~/.agent-memory/. At the start of a session, noema_recall loads relevant context based on queries; for searching, browsing, or auditing, tools like noema_search, noema_browse, noema_catalog, and noema_recall_graph are also available.
Import Memories from Other Agent Tools¶
noema_import can read memory files from various AI programming tools, split them by paragraph, write them to Noema, and deduplicate using a content key ledger to avoid redundant imports. The README lists sources including: Codex, Claude Code, opencode, Cursor, Grok, WorkBuddy, Antigravity, Trae, Qoder, Hermes, and others, covering global configuration and project-level rule files (such as AGENTS.md, CLAUDE.md, .cursor/rules/*.mdc, etc.). The settings page allows toggling imports for each source individually and supports automatic import at startup.
Unified Settings Page Management¶
In the DSH web interface, go to Settings → Noema Memory to configure server commands, memory root directory, recall token budget, idle/call timeout, and other parameters. The “Manage memories” card supports searching, browsing, adding, reviewing, and deleting stored memories without manually editing disk files.
Service Keep-Alive¶
The memory service defaults to not exiting when idle (an idle timeout of 0 means it never stops) and automatically restarts the noema-mcp subprocess in a background keep-alive loop after crashes or exits. Check intervals and restart backoff times are configurable.
Entity Extraction & Hot Reload¶
Noema’s extraction engine combines jieba tokenization with signals from English proper nouns, CJK technical terms, quoted topics, etc., to maintain a PageIndex topic directory. Development support includes Cordis HMR for host plugin hot reload, client bundle hot replacement, and immediate effect of settings changes (though a service restart is still required after the first plugin load to enter the hot reload cycle).
Installation & Activation¶
The plugin is designed for the web profile, and the official README provides the following installation method:
dsh plugin --profile web add @zseven-w/dsh-noema@latest
dsh web
For local source development and debugging, you can use the link: protocol to link the profile dependency to the repository directory, which is convenient with HMR:
dsh plugin --profile web add link:/path/to/dsh-noema
dsh web
The plugin bundles the noema-mcp binary via optional npm packages across platforms; you can also build it yourself in the bundled noema submodule by running cargo build --release -p noema-mcp, or point the Server command in settings to a custom noema-mcp executable.
Before installation, it is recommended to review the repository source code and MIT license to ensure the memory read/write scope and permissions align with your security expectations—the plugin runs with the permissions of the current dsh process, and accessible paths are those the agent can reach.
Typical Usage¶
Model-Side Memory Tools¶
The plugin exposes a set of noema_* tools to the model, aligned with the Noema MCP surface. Common capabilities include:
| Tool | Function |
|---|---|
noema_recall |
Recall relevant memories based on a query, with configurable token budget |
noema_search |
Full-text search across stored memories |
noema_browse |
Browse a topic or entity in the PageIndex |
noema_remember |
Save facts, decisions, constraints, or preferences |
noema_import |
Import memories from other AI programming tools |
noema_forget |
Mark for deletion or permanently delete memories |
noema_status |
View service and tenant status, index health |
Each tool returns a unified envelope { ok, tool, text }, where the text field contains the full server output.
Migration from Cursor and Other Tools¶
In a conversation, have the agent call noema_import, or click Import now on the settings page. For example, when importing from Cursor, it scans ~/.cursor/rules/*.mdc, ~/.cursorrules, and corresponding files in the workspace. Import records are written to $DSH_HOME/storages/dsh-noema-imports.json and deduplicated by “file path + paragraph content”; to force a full re-import, pass force: true.
Settings Overview¶
| Setting | Default | Description |
|---|---|---|
| Enable memory | On | Master switch for all noema_* tools |
| Memory guidance | On | Injects memory usage guidance into the system prompt |
| Start server at boot | On | Launches the memory service when DSH starts |
| Auto-accept new memories | On | noema_remember immediately persists to disk |
| Memory root | Empty | Uses ~/.agent-memory if empty |
| Recall token budget | 1200 | Default token limit for noema_recall |
| Keep alive | On | Automatically restarts the service in the background after crashes |
For a more complete parameter description, see the Settings section in the GitHub README.
Applicable Scenarios & Considerations¶
Who It’s For:
- Those maintaining the same project long-term on DSH who want to preserve architectural decisions, pitfall notes, and personal preferences across sessions;
- Those who have accumulated numerous
AGENTS.md/ rule files from tools like Cursor, Claude Code, Codex, etc., and want to migrate them into DSH in one go; - Those needing “plaintext memory you can open in a folder and read directly” rather than a black-box vector database.
Please Note Before Use:
- Memory files are stored on the local disk; please back up
NOEMA_ROOTappropriately and check for sensitive information. - The import function reads configuration and memory paths from other tools; ensure these directories do not contain confidential content that should not be learned by the agent.
- The plugin is currently a 0.1.0-rc.3 candidate version; APIs and behaviors may evolve with DSH / Noema updates.
- Before installing any community plugin, always review the source code and license yourself; the plugin’s permissions are equivalent to those of the user running
dsh.
Conclusion¶
If you’re tired of “explaining the context from scratch in every conversation,” dsh-noema offers a relatively practical path: local Markdown storage, rich recall and import tools, unified management via a web settings page, plus engineering details like service keep-alive and hot reload. You might start by installing it with the official commands and try importing your existing Cursor / Claude Code rules.
- Plugin Directory Page: https://www.skillhub.cn/plugins/ZSeven-W/dsh-noema
- GitHub Repository: https://github.com/ZSeven-W/dsh-noema
- Noema Project: https://github.com/ZSeven-W/noema