Introduction¶
DeepSeek Harness (DSH) adopts a plugin-based architecture, enabling agent capabilities to be extended through plugins. In development scenarios, agents usually run in WSL environments, while local file systems (such as an Obsidian vault on Windows) are Windows system resources. The dsh-wsl-obsidian plugin resolves this cross-environment access issue, allowing a DSH Agent in WSL to directly operate the Obsidian vault on Windows.
Plugin Overview¶
This plugin is a standalone tool in the DeepSeek Harness ecosystem, maintained by developer 173787247, and released under the MIT license. It is an optional component of the dsh-wsl-kit toolkit and is not included in the standard installation script by default.
Core Capabilities¶
The plugin provides the following functional modules for controlling Windows Obsidian from a WSL environment:
- obsidian_status: Resolves the vault path, confirms the path type, and locates
Obsidian.exe. - obsidian_list: Lists all Markdown files in the vault.
- obsidian_search: Performs case-insensitive substring search in the vault.
- obsidian_read: Reads the contents of a specified note.
- obsidian_write: Creates a new note or overwrites an existing note.
- obsidian_append: Appends content to an existing note.
- obsidian_open: Opens a note by invoking the Windows
obsidian://openprotocol through PowerShell (WSL only).
Prerequisites and Notes¶
- Environment requirement: DeepSeek Harness version
>= 0.1.2is required. - Path restriction: All file paths must be relative to the vault (for example,
Inbox/Note.md). The plugin rejects absolute paths or relative paths containing../. - File system restriction: The vault must be stored on a Windows NTFS file system (such as
C:\orD:\). Mounting the vault inside WSL (such as\\wsl$\...) will break Obsidian’s file watching mechanism. - Configuration fallback: If
vaultPathis not configured, the plugin will try to read the default vault configuration on Windows through/mnt/c/.../AppData/Roaming/obsidian/obsidian.json.
Installation and Enabling¶
The plugin is not included in the installation script by default and must be added manually. Run the following command to install it:
dsh plugin --profile web add github:173787247/dsh-wsl-obsidian
After installation, restart dsh web and start a new session. The obsidian_* commands will then appear in the tool list.
Configuration Example¶
Add the following snippet to the DSH configuration file to enable the plugin and specify the vault path:
- id: dsh-wsl-obsidian
name: dsh-wsl-obsidian
config:
enabled: true
vaultPath: "/mnt/d/Notes/MyVault"
vaultName: "MyVault"
timeoutMs: 20000
Note: For
vaultPath, it is recommended to directly use the WSL path for accessing the Windows partition (such as/mnt/d/...). The plugin will automatically handle path conversion.
Setup Recommendations¶
For the best compatibility, set up the environment using the following steps:
- Install the Obsidian desktop app on Windows.
- Create or open the vault on the
C:orD:drive (do not create the vault on the disk partition where the Linux distribution is installed). - Access the vault path in WSL via
/mnt/c/...or/mnt/d/..., and use the corresponding WSL path in the configuration.
Conclusion¶
dsh-wsl-obsidian provides the ability to directly read from and write to a Windows Obsidian vault from a WSL environment. For DSH Agent developers who need to perform automated operations in a local knowledge base, this is an essential bridging tool.
- GitHub repository: https://github.com/173787247/dsh-wsl-obsidian