Daseanle/dsh-obsidian-bridge ↗★ 0
dsh-obsidian-bridge
Bidirectional knowledge bridge between DeepSeek Harness and Obsidian Vault — FTS5 search, draft writing, session linking
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗Configuration
Create or edit cordis.patch.yml in your DSH config directory:
- id: dsh-obsidian-bridge
config:
vaultPath: /path/to/your/vault
autoContext: false # auto-inject vault context before each model step
autoCapture: false # auto-capture non-Obsidian tool results as drafts
draftFolder: dsh-drafts # folder for draft notes
sessionId: "" # optional: link drafts to a specific session
Or use environment variables (legacy, used as fallback when config values are not provided):
export OBSIDIAN_VAULT_PATH="/path/to/your/vault"
export DSH_OBSIDIAN_AUTO_CONTEXT=true # optional
export DSH_OBSIDIAN_AUTO_CAPTURE=true # optional
export DSH_SESSION_ID="my-session" # optional
Configuration
Config Schema (zod)
| Field | Type | Default | Description |
|---|---|---|---|
vaultPath | string | "" | Absolute path to your Obsidian Vault |
autoContext | boolean | false | Auto-inject vault context before each model step |
autoCapture | boolean | false | Auto-capture non-Obsidian tool results as drafts |
draftFolder | string | "dsh-drafts" | Folder name for draft notes |
sessionId | string | "" | Session ID for draft frontmatter and session linking |
Config is validated via zod Standard Schema V1. Values can be provided through cordis.patch.yml or environment variables (as fallback).
Environment Variables
| Variable | Fallback For | Default |
|---|---|---|
OBSIDIAN_VAULT_PATH | vaultPath | — |
DSH_OBSIDIAN_AUTO_CONTEXT | autoContext | false |
DSH_OBSIDIAN_AUTO_CAPTURE | autoCapture | false |
DSH_SESSION_ID | sessionId | "" |
SQLite FTS5 Index
The plugin creates a .dsh/index.db SQLite database inside your vault directory:
- FTS5 virtual table with
unicode61tokenizer - UNINDEXED columns for metadata (path, frontmatter, mtime, etc.)
- BM25 relevance ranking for search results
- Incremental sync: only re-reads notes whose
mtimechanged - Throttled sync: skips re-sync within 2s of last sync (unless invalidated)
- Chinese support: CJK characters are split for unicode61 tokenization
- WAL mode with 16MB cache for performance