Bundle
dsh-wsl-obsidian
DeepSeek Harness tools: bridge WSL dsh agents to a Windows Obsidian vault (status/open/read/write/search).
- Source
- 173787247
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 3 days ago
Readme
# dsh-wsl-obsidian
> **Install set:** optional companion to [dsh-wsl-kit](https://github.com/173787247/dsh-wsl-kit). Not in `KIT_SET=daily`. Fault tree: [TROUBLESHOOTING.md](https://github.com/173787247/dsh-wsl-kit/blob/master/docs/TROUBLESHOOTING.md).
DeepSeek Harness plugin: **WSL agent ↔ Windows Obsidian vault** — `obsidian_status` / `open` / `list` / `search` / `read` / `write` / `append`.
Standalone MIT plugin under **[dsh-wsl-kit](https://github.com/173787247/dsh-wsl-kit)** (optional; not shipped in `install.sh` by default).
[中文说明 → README.zh.md](./README.zh.md)
## Where it sits
```mermaid
flowchart LR
agent["dsh agent in WSL"] --> tools["obsidian_*"]
tools --> ntfs["Vault on NTFS /mnt/c|d/..."]
tools --> uri["obsidian:// → Windows Obsidian"]
```
Keep the vault on **Windows NTFS**. Opening a vault from `\\wsl$\…` breaks Obsidian’s file watcher.
## Compatibility
| Field | Value |
|-------|-------|
| **Plugin** | `dsh-wsl-obsidian` **0.2.1** |
| **Minimum dsh** | ≥ **0.1.2** |
| **Latest verified** | See [dsh-wsl-kit Compatibility](https://github.com/173787247/dsh-wsl-kit#compatibility-2026-09) (currently **`0.2.0-rc.2`**) — single source of truth for the suite |
| **Kit set** | optional (not in `daily`) |
| **Obsidian** | Windows desktop app (install from [obsidian.md](https://obsidian.md)) |
## Tools
| Tool | Role |
|------|------|
| `obsidian_status` | Resolve vault (`vaultPath` or `%APPDATA%\obsidian\obsidian.json`), path kind, `Obsidian.exe` |
| `obsidian_list` | List `.md` notes |
| `obsidian_search` | Case-insensitive substring search |
| `obsidian_read` | Read note |
| `obsidian_write` | Create / overwrite note |
| `obsidian_append` | Append to note |
| `obsidian_open` | `obsidian://open?vault=…&file=…` via PowerShell (WSL only) |
Paths are **vault-relative** (`Inbox/Note.md`). Absolute / `../` paths are rejected.
## Config
```yaml
- id: dsh-wsl-obsidian
name: dsh-wsl-obsidian
config:
enabled: true
vaultPath: "/mnt/d/Notes/MyVault" # preferred
vaultName: "MyVault" # for obsidian://
timeoutMs: 20000
```
If `vaultPath` is omitted, the plugin reads Windows `obsidian.json` through `/mnt/c/Users/…/AppData/Roaming/obsidian/`.
## Install
```sh
dsh plugin --profile web add github:173787247/dsh-wsl-obsidian
```
Restart `dsh web`, open a **new** session, run `obsidian_status`.
## Layout recommendation
1. Install Obsidian on **Windows**.
2. Create/open the vault under `C:\` or `D:\` (not inside the Linux distro disk).
3. From WSL use `/mnt/c/...` or `/mnt/d/...` as `vaultPath`.
4. Optional later: Local REST API — not required for 0.1.0.
## License
MIT
Install
dsh plugin --profile web add github:173787247/dsh-wsl-obsidian
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-wsl-obsidian from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.