Introduction¶
The core philosophy of DSH is “everything is a plugin,” which means tools must have strong environment connectivity. For developers using Obsidian as a knowledge base, the biggest pain point is: Obsidian does not scan code repositories by default; it only indexes .md files and [[wiki links]] inside the vault. Therefore, the key is not to make Obsidian scan projects, but to transform local project metadata (such as dependencies and tech stack) into a Wiki link structure that Obsidian can understand.
The dsh-obsidian plugin uses DSH to scan local projects and generate corresponding notes and graph edges, enabling the Obsidian graph view to automatically present knowledge relations between projects. It is an independent, unofficial DSH integration solution.
Core Features¶
- Native DSH integration: Provides a native settings tab directly within DSH, without extra UI components.
- Local project scanning: The scanner supports manifest detection and can extract tech stack and project information.
- Deterministic knowledge graph: Automatically generates four types of edges—dependency, technology, region, and topic—with a deterministic structure and no fabricated relationships.
- Dual transport modes: Supports local REST API (loopback) and a file system fallback mode. If the REST plugin is not enabled, direct file system writes can be used.
- Incremental writing: State is managed through the
graph/.dsh-obsidian-statefile, and only files managed by the plugin are rewritten or deleted. - Security and preview: Strict loopback + same-origin protection is provided. A mini force-directed graph preview is available in the settings page.
Installation and Activation¶
Use the following command to install the plugin into the DSH Web configuration file:
dsh plugin --profile web add ./artifacts/harness-flow-dsh-obsidian-0.1.0-alpha.0.tgz
After installation, enable the plugin on the DSH settings page, and you can use the “Scan Projects” and “Generate Knowledge Graph” features.
Typical Usage¶
- Configure environment variables (optional):
If you need to specify the vault path or scan root directories, you can override the default behavior using environment variables:
export DSH_OBSIDIAN_VAULT="/path/to/vault"
export DSH_OBSIDIAN_SCAN_ROOTS='["/path/to/project1", "/path/to/project2"]'
-
Generate:
In the DSH settings page, click “Scan Projects,” confirm that local projects are recognized, then click “Generate Knowledge Graph.” -
View in Obsidian:
Open the corresponding Obsidian vault and go to the graph view. The generated notes are located under thegraph/namespace, linking projects, tech stacks, and regions through[[links]].
Notes¶
- Fully offline: The Obsidian application does not need to run while notes are generated. The plugin operates with the current DSH process permissions and is fully local.
- Data security: No data leaves the local machine.
- Basic functionality: The basic functionalities run by relying on the file system without requiring the Obsidian REST plugin to be installed.
- File management: The plugin only rewrites or deletes files it manages, and does not affect notes written manually by users.