Introduction¶
In the plugin-based ecosystem of DeepSeek Harness (DSH), keeping consistent context across multiple sessions in the same workspace is a common requirement. Existing approaches often struggle to balance reusable behavioral rules with stable project facts. This section introduces the dsh-workspace-memory plugin, which provides an approval-based solution for maintaining workspace instructions and project memory.
The plugin is maintained by luyy9apples and is licensed under the MIT License. It allows users to maintain two types of shared context within a workspace: AGENTS.md (reusable behavioral rules) and .dsh-memory.md (stable project facts and decisions). By separating these, behavioral instructions remain focused, while factual context is preserved for use by subsequent sessions.
Core Features¶
The plugin provides the following capabilities:
1. File maintenance: Maintains AGENTS.md (reusable rules) and .dsh-memory.md (stable facts/decisions).
2. Interactive approval: When the model identifies long-term instructions or memories, it requests user confirmation through a Diff preview, preventing silent inferred writes.
3. Shared context across concurrent sessions: New conversations opened in the same workspace automatically read the latest context files.
4. Local storage: Uses only standard Markdown files for storage, with no network requests, telemetry, databases, or hidden in-memory storage.
5. Focused Diff: Shows only changed content for easy review.
6. Conflict prevention: Prevents stale updates from overwriting newer work, with validation based on file version.
7. Sandbox awareness: Write operations use the invoking session’s session policy and current working directory (cwd), rather than the plugin startup directory.
Installation and Enabling¶
Before installing, ensure the environment meets the requirements:
* DeepSeek Harness 0.1.1-rc.2
* Node.js ^22.19.0 or >=24.0.0
Use the official plugin installation command:
dsh plugin --profile web add dsh-workspace-memory
This package declares dsh.bundle; after installation, DSH automatically adds the configuration layer to the web profile. No manual editing of configuration files is required. After installing or updating, running profiles must be restarted.
To update or remove it:
# 更新
dsh plugin --profile web update dsh-workspace-memory@latest
# 移除
dsh plugin --profile web remove dsh-workspace-memory
Typical Usage¶
The plugin maintains two standard Markdown files in the workspace directory.
- Define rules: Save reusable rules in
AGENTS.md.- Example:
Whenever you change files here, finish by summarizing what changed and what you verified.
- Example:
- Define facts: Save stable project decisions in
.dsh-memory.md.- Example:
This project prioritizes backward compatibility over adopting new APIs.
- Example:
- Verify context: Open a new conversation in the same workspace and ask about the currently applicable instructions and project decisions.
- Propose updates: During a conversation, the model can use the
workspace_memorytool to propose updates to the files above.- The user reviews the focused Diff in DSH Web (showing line numbers and color-coded additions/deletions).
- Changes are written only after confirmation.
Configuration Notes¶
The default configuration included during Bundle installation is:
memoryFile: .dsh-memory.md
instructionFile: AGENTS.md
suggestUpdates: true
maxBytes: 32768
To override it, add the following to $DSH_HOME/profiles/web/cordis.patch.yml:
- id: workspace-memory
config:
memoryFile: .dsh-memory.md
instructionFile: AGENTS.md
suggestUpdates: false
maxBytes: 65536
Note: DSH replaces the entire config value, so all fields must be rewritten. File names must be in the same directory and must not contain path separators.
Notes and Limitations¶
- Compatibility: Verified with DeepSeek Harness
0.1.1-rc.2, Windows x64, and Ubuntu (Node.js 22/24). macOS compatibility has not been verified. - Headless mode: For non-interactive Headless profiles, it is recommended to set
suggestUpdates: false. - Storage scope: Limited to the two configuration files in the session’s current working directory (cwd).
- Symbolic links: Symbolic links in the final path component are rejected.
- Ecosystem context: The DSH philosophy is “everything is a plugin”; community directories (such as SkillHub) have no official affiliation with DeepSeek / High-Flyer.
Ecosystem Background¶
The plugin follows DSH’s plugin-based design and aims to address localized, controllable workspace context management.