Back to marketplace

dsh-client-ui-obsidian-memory

Models & Data

detongz/dsh-client-ui-obsidian-memory

Provides persistent memory for DeepSeek Harness via a local Obsidian or Markdown vault, with file tools and a sidebar panel.

  • dsh-plugin
  • dsh-plugins
GitHub Stars
12GitHub
Views
0DSH Plugin Hub
Forks
0GitHub
Open issues
1GitHub Issues
Manifest version
0.3.2dsh-client-ui-obsidian-memory
Latest push
Aug 17, 2026GitHub
License
MITTypeScript
Plugin type
Host + ClientRuns in both Host and Web Client

README

View source

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

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.bundle manifest, so dsh plugin add both installs the package and activates it as a profile layer (the bundled cordis.patch.yml inserts the ui-obsidian-memory entry). No manual cordis.patch.yml edit is needed to load the plugin.

3. Configure your vault path

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.

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
vaultPathstringβ€”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.


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 β†’ Pluginsdsh plugin add installed an older version (pre-0.3.2) as a plain dependencyReinstall: dsh plugin add dsh-client-ui-obsidian-memory@latest
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 (or a build that declares the slot)
"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
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

Comments

0
Newest first