deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
🧠 Obsidian Memory for DeepSeek Harness — persistent memory via local Markdown vault
A DSH plugin that gives your AI agent persistent memory backed by a local Obsidian (or plain Markdown) vault. It registers 5 file-system tools (obsidian_memory_*) and renders a sidebar panel showing vault status and tool reference.
Inspired by @Saccc_c's Codex memory techniques.

sidebar.obsidian-memory slot in DSH's left columnCodex/ directory structure recommended by the community| Tool | Action |
|---|---|
obsidian_memory_read |
Read a Markdown or text file |
obsidian_memory_list |
List files and directories |
obsidian_memory_search |
Full-text search across .md and .txt files |
obsidian_memory_write |
Write or overwrite a file |
obsidian_memory_append |
Append content to the end of a file |
Create a Codex/ folder anywhere on your machine (e.g. inside an Obsidian vault):
~/Documents/Obsidian Vault/
└── Codex/
├── AGENTS.md ← AI operating instructions
├── TODO.md ← pending tasks / open loops
├── people/
├── projects/
├── notes/
└── daily/
One command, from anywhere:
dsh plugin add dsh-client-ui-obsidian-memory # npm release (recommended)
# or install straight from source:
dsh plugin add detongz/dsh-client-ui-obsidian-memory
The plugin ships a
dsh.bundlemanifest, sodsh plugin addboth installs the package and activates it as a profile layer (the bundledcordis.patch.ymlinserts theui-obsidian-memoryentry). No manualcordis.patch.ymledit is needed to load the plugin.
Point the plugin at your Codex/ folder. In your profile's cordis.patch.yml:
- id: ui-obsidian-memory
config:
vaultPath: /Users/YOURNAME/Documents/Obsidian Vault/Codex
Replace vaultPath with the absolute path to your Codex/ folder.
Alternatively set the environment variable OBSIDIAN_VAULT_PATH.
dsh web # or however you launch DSH
After restart:
vaultPath is configured| Option | Type | Default | Description |
|---|---|---|---|
vaultPath |
string |
— | Absolute path to your Codex/ vault directory |
Environment variable fallback (optional):
export OBSIDIAN_VAULT_PATH=/Users/YOURNAME/Documents/Obsidian Vault/Codex
If neither vaultPath in config nor the env var is set, the plugin logs a warning and skips tool registration.
┌─────────────────────────────────────────┐
│ DSH Web (browser) │
│ ┌─────────────────────────────────┐ │
│ │ sidebar.obsidian-memory │ │
│ │ ┌─────────────────────────┐ │ │
│ │ │ 🧠 Obsidian Memory │ │ │
│ │ │ — tool reference │ │ │
│ │ │ — vault structure │ │ │
│ │ └─────────────────────────┘ │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────────┘
│
┌───────────────────▼─────────────────────┐
│ DSH Host (Node.js) │
│ • reads / writes local files │
│ • registers 5 obsidian_memory_* tools │
└─────────────────────────────────────────┘
│
┌───────────────────▼─────────────────────┐
│ Local File System │
│ ~/Documents/Obsidian Vault/Codex/ │
└─────────────────────────────────────────┘
| Component | Role |
|---|---|
Host (lib/index.js) |
Node side: registers tools, reads/writes vault files |
Client (lib/client.js) |
Browser side: sidebar panel with static tool reference |
| Vault | Data source: local Markdown files |
| Symptom | Cause | Fix |
|---|---|---|
| Plugin not in Settings → Plugins | dsh plugin add installed an older version (pre-0.3.2) as a plain dependency |
Reinstall: dsh plugin add dsh-client-ui-obsidian-memory@latest |
| Tools not available to AI | vaultPath not configured |
Set vaultPath in cordis.patch.yml or env var |
| Sidebar panel not visible | DSH version lacks sidebar.obsidian-memory slot |
Upgrade DSH to ≥ 0.1.0-rc.5 (or a build that declares the slot) |
| "Path traversal detected" error | AI tried to access files outside vault | All paths are sandboxed to vaultPath |
git clone https://github.com/detongz/dsh-client-ui-obsidian-memory.git
cd dsh-client-ui-obsidian-memory
npm install
npm run build # outputs lib/index.js + lib/client.js
npm run watch # dev mode with auto-rebuild
Build artifacts:
lib/index.js — host entry (tool registration + file I/O)lib/client.js — browser bundle (DSH closure-factory format, CSS inlined)MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。