detongz / dsh-client-ui-obsidian-memory

Listed

deepseek harness plugin obsidian memory

mainToolSession View source

Installation

npm install dsh-client-ui-obsidian-memory

This command is generated from the GitHub repository address. Inspect the upstream README and source before running it; pin a release or commit when reproducibility matters.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 4d3dbdeSynced Aug 17, 2026

dsh-client-ui-obsidian-memory

🧠 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.

Obsidian Memory Panel


What it does

  • 5 memory tools — AI can read, list, search, write, and append to your local vault
  • Sidebar panel — renders inside the sidebar.obsidian-memory slot in DSH's left column
  • No external server — talks directly to the file system via DSH's host runtime
  • Codex-compatible — works with the Codex/ directory structure recommended by the community

Available Tools

ToolAction
obsidian_memory_readRead a Markdown or text file
obsidian_memory_listList files and directories
obsidian_memory_searchFull-text search across .md and .txt files
obsidian_memory_writeWrite or overwrite a file
obsidian_memory_appendAppend content to the end of a file

Quick Start

1. Prepare your vault

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/

2. Install the plugin

cd ~/.dsh/profiles/web        # or your DSH profile directory
npm install dsh-client-ui-obsidian-memory

If you installed DSH from source and don't use profiles, install into the DSH workspace root instead.

3. Add to cordis.patch.yml

Edit your profile's cordis.patch.yml (or cordis.yml):

- insert:
    - id: ui-obsidian-memory
      name: dsh-client-ui-obsidian-memory
      config:
        vaultPath: /Users/YOURNAME/Documents/Obsidian Vault/Codex

Replace vaultPath with the absolute path to your Codex/ folder.

Note: insert (not just id + config) is required so DSH loads the host-side tool plugin. If you only add id: ui-obsidian-memory with config, the sidebar UI may load but the tools will not be registered.

4. Restart DSH

dsh web   # or however you launch DSH

After restart:

  • The sidebar panel appears in the left column (🧠 Obsidian Memory)
  • The 5 tools are available to the AI when vaultPath is configured

Configuration

OptionTypeDefaultDescription
vaultPathstringAbsolute 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.


Architecture

┌─────────────────────────────────────────┐
│ 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/      │
└─────────────────────────────────────────┘
ComponentRole
Host (lib/index.js)Node side: registers tools, reads/writes vault files
Client (lib/client.js)Browser side: sidebar panel with static tool reference
VaultData source: local Markdown files

Troubleshooting

SymptomCauseFix
Plugin not in Settings → Pluginsinsert missing in cordis.patch.ymlAdd the insert block (see Quick Start step 3)
Tools not available to AIvaultPath not configuredSet vaultPath in cordis.patch.yml or env var
Sidebar panel not visibleDSH version lacks sidebar.obsidian-memory slotUpgrade DSH to ≥ 0.1.0-rc.5
"Path traversal detected" errorAI tried to access files outside vaultAll paths are sandboxed to vaultPath

Development

git clone https://github.com/detongz/dsh-client-ui-obsidian-memory.git
cd dsh-client-ui-obsidian-memory/plugin
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)

License

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

Contributing guideDetected

Repository information

Language
TypeScript
License
MIT
Last updated
Aug 17, 2026, 7:06 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.