About this project
DSH for Vaults is an Obsidian desktop plugin that embeds the DeepSeek Harness (DSH) native Web UI inside Obsidian. According to the README, each vault gets its own fully isolated DSH instance: opening a vault starts DSH with that vault as its workspace, and session histories stay per vault and never mix. The plugin acts as a launcher and embedded client rather than bundling a DSH implementation.
Key capabilities described in the README:
- Embedded webview UI: the real DSH interface runs in a dedicated Electron webview with persistent per-vault session storage and cookie-safe token authentication.
- Two-way bridge: right-click selected text to send a locator line with file and line/column range to the DSH composer; click a vault file path in DSH chat to open the corresponding note in Obsidian. A missing file gets a notice, while out-of-vault and binary paths keep DSH behavior.
- Hotkey passthrough: configured Obsidian shortcuts continue to fire while the DSH panel has focus, with a settings toggle.
- Zero-terminal bootstrap: if Node.js or DSH is missing, the panel can install a private portable runtime (about 30 MB, no admin, system untouched) and then download and start the DSH kernel on its own, with live progress and npm mirror fallback.
- Model configuration sync between DSH instances: incremental mode copies missing entries and prompts per conflict; overwrite mode aligns providers and credential references to a chosen source and auto-backs up files. Synced items include LLM providers and API credential references; per-instance login records, default model route, search model, and plugin profiles are not synced.
- Update policy: tracks the official stable channel and installs only after explicit confirmation; startup does not go online to change versions.
- Data migration: upgrading from older kernels auto-migrates session data and backs it up first, with a configurable backup directory.
- Per-vault isolation: data is stored in a vault-dedicated local directory outside the vault and is not synced through OneDrive per the README.
- Diagnostics: settings show per-stage boot timing for probe, Node detection, port, kernel and UI load, plus error tails and copyable logs; stale process trees are cleaned on timeout.
Requirements: Obsidian desktop v1.4 or newer on Windows. Node.js is not required up front because the plugin can install a portable runtime or detect an existing installation by absolute path.
Installation: available via Obsidian community plugins by searching DSH for Vaults, via BRAT using the repository moozhu/dsh-obsidian, or manually by placing main.js, manifest.json and styles.css in the vault's .obsidian/plugins/dsh-ob/ folder and enabling the plugin.
Usage: open the panel from the whale icon or command palette, wait for startup, then chat with the vault as the active workspace. The status bar shows the instance state. Multi-vault behavior includes deterministic ports per vault, independent instances for different vaults, a shared instance for the same vault in two windows, and stopping an instance on window close unless configured otherwise. Bottom padding is adjustable from 0 to 40 pixels.
Privacy: the README states the plugin is a launcher plus embedded client, talks to DSH only over localhost (127.0.0.1), and has no telemetry or relay. DSH itself may make outbound requests such as model APIs depending on tasks. Session history, model config and API credentials live in the vault's dedicated local data directory.
Settings include executable path, version update, data backup directory, base port, auto-start on Obsidian open, stop on close, hotkey passthrough, reverse bridge, model config sync, panel location, panel bottom padding, and boot timing diagnostics.
Development commands are npm install, npm run dev for TypeScript watch, npm run typecheck, and npm run build to type-check and bundle with esbuild.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.