Introduction¶
When collaborating with multiple coding agents (such as Claude Code, Cursor, and Copilot CLI), a common problem is that each agent maintains its own separate memory. A problem you fixed in Codex may need to be fixed again from scratch in Claude Code. The plugin ecosystem of DeepSeek Harness aims to solve this kind of tool fragmentation, and dsh-deja was created for exactly that purpose.
What Is This¶
dsh-deja is a plugin that provides memory-sharing capabilities for DeepSeek Harness. It is maintained by vshulcz and licensed under the MIT License. Its core value is: One memory shared by Claude Code, Codex, Cursor, Copilot CLI, OpenClaw and 20 more coding agents, built from the session history already on disk.
It indexes session history already on disk to build a shared index, allowing different agents to access that memory when needed without relying on cloud models or additional servers.
Core Features¶
The plugin provides the following capabilities:
1. Full indexing on startup: begins indexing history before installation completes, with no waiting.
2. Single source of memory: all supported agents share the same index.
3. No manual triggering required: supports auto-recall, so agents can proactively invoke memory at the start of a session or when a command fails.
4. Compression resistance: maintains decision history during log compression.
5. Tracks work, not only conversation: records not only chat content but also file openings, command executions, and specific edit ranges.
6. Records decision outcomes: uses promote/reject commands to mark whether a decision is accepted or rejected; when a later recall hits it, it explains the reason.
7. Detects environment changes: when files change, it tells the agent that the memory may no longer apply.
8. Local and privacy-focused: no server, no model, no embedding vectors; all data processing happens locally, ensuring privacy.
9. Portable synchronization: supports transferring memory between different machines or agents via sync and handoff.
10. Cross-platform binaries: provides a single-file binary with support for macOS, Linux, and other platforms.
Installation and Activation¶
The plugin requires Node.js >= 18.
macOS and Linux systems can install it directly using the official script:
curl -fsSL https://raw.githubusercontent.com/vshulcz/deja-vu/main/install.sh | sh
deja install --auto
After installation, the script automatically configures MCP recall for the detected agents and builds the initial index. Windows users need to install it via scoop or winget, or download the binary for their platform.
Typical Usage¶
After installation and activation, you can use the following commands in the command line or during agent interactions:
- Query memory directly:
deja "connection pool exhausted"
- Mark decision status:
- Mark a history record as rejected:
deja promote <id> --state rejected
* Remove the rejection and restore it to accepted:
deja promote <id> --state accepted
- View the statistics card:
deja stats --card
- Sync across devices/agents:
- Sync to another machine over SSH:
deja sync ssh laptop
* Hand off memory to another agent (such as Codex):
deja handoff --to codex
Use Cases and Notes¶
This plugin is suitable for developers who need to maintain contextual consistency across multiple agents or different sessions. Note that the agent must support auto-recall at session startup for the plugin to be effective. Additionally, the plugin runs with the permissions of the current DSH process, so please make sure to review the source code and license before installation.
Conclusion¶
dsh-deja solves the problem of memory silos in multi-agent collaboration through local indexing. If you are using DeepSeek Harness and want to reuse previous debugging decisions across different tools, you can visit the community directory or check the GitHub repository for more details.