Bundle
dsh-plugin-wiki-tools
Native DeepSeek Harness tools for an Obsidian wiki vault: wiki_query, wiki_write, and wiki_lint implement the mechanical core (path routing, delta tracking, index/log bookkeeping, health checks) of the wiki skill suite.
- Source
- Lion-1209
- License
- MIT
- Updated
- Updated 3 days ago
Readme
# dsh-plugin-wiki-tools
English | [中文](#中文)
Native [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) tools for an Obsidian wiki vault: `wiki_query`, `wiki_write`, and `wiki_lint` implement the mechanical core of the wiki skill suite — path routing, frontmatter completion, index/log bookkeeping, source delta tracking, and health checks — so the model spends its turns on synthesis instead of filesystem chores.
Pair with **[dsh-plugin-wiki-skills](https://github.com/Lion-1209/dsh-plugin-wiki-skills)** for the prompt-level skills (`wiki`, `wiki-ingest`, `wiki-query`, `wiki-lint`, `save`).
## Attribution
The vault layout and operation contracts follow the LLM Wiki pattern (Andrej Karpathy) as embodied by [claude-obsidian](https://github.com/AgriciDaniel/claude-obsidian) (MIT, © 2026 AgriciDaniel). This package is an independent plain-ESM implementation of the mechanical core; it contains no code or skill text from claude-obsidian.
## Tools
| Tool | What it does |
| --- | --- |
| `wiki_query` | Quick mode returns `hot.md` + `index.md` verbatim (the skill's read order); standard mode is full-text search over content pages with snippets and the inbound/outbound link graph |
| `wiki_write` | Writes one page with complete bookkeeping: type→folder routing, frontmatter completion (keeps `created` and unknown fields on update), filename-uniqueness guard, master-index entry, log entry; with `source_path`, records the source hash and skips unchanged sources unless `force` |
| `wiki_lint` | Health check: duplicate filenames, dead wikilinks, orphan pages, frontmatter gaps, empty sections, stale index entries, stale hot cache — report only, with suggestions, written to `wiki/meta/Lint Report <date>.md` |
## Install and configure
```sh
dsh plugin --profile web add dsh-plugin-wiki-tools
```
`vaultPath` is **required**. The boot fails loud until you set it from your profile's `cordis.patch.yml`:
```yaml
- id: wiki-tools
config:
vaultPath: /absolute/path/to/vault
# optional: reroute page types to your vault's folders; index section
# headings follow the mapped folder name (e.g. "## Areas")
typeFolders:
domain: wiki/areas
```
The vault is the directory holding `wiki/` and `.raw/` — scaffold it first with the `wiki` skill's SCAFFOLD operation. `maxQueryResults` (default 10) is optional. `wiki_write` refreshes existing index entries in the section's own style (`: ` or ` — `), so em-dash vaults stay consistent.
## Design notes
- The vault is host-local user data outside any session workspace (cross-project referencing is the point), so the tools read and write through `node:fs` against the explicitly configured absolute root — not a dsh filesystem seam.
- Writes serialize per target file in-process; filenames are guarded unique vault-wide because wikilinks resolve by bare name.
- Registers on `ctx.tools` via `defineTool`; schemas stay stable regardless of vault contents.
## Develop
```sh
npm install
node --test
```
## License
[MIT](LICENSE)
---
# 中文
Obsidian wiki vault 的 DeepSeek Harness 原生工具:`wiki_query`、`wiki_write`、`wiki_lint` 实现知识库技能套件的机械核心(路径路由、frontmatter 补全、索引/日志簿记、来源增量追踪、健康检查),让模型把轮次花在综合而非文件操作上。与 [dsh-plugin-wiki-skills](https://github.com/Lion-1209/dsh-plugin-wiki-skills) 配套使用。
## 出处
vault 布局与操作契约遵循 LLM Wiki 模式(Karpathy),形态来自 claude-obsidian(AgriciDaniel,MIT)。本包为独立的纯 ESM 实现,不含 claude-obsidian 的代码或技能文本。
## 安装与配置
```sh
dsh plugin --profile web add dsh-plugin-wiki-tools
```
`vaultPath` 为必填项:在你的 profile `cordis.patch.yml` 里覆盖 `wiki-tools` 行的 config 指向 vault 根目录(含 `wiki/` 与 `.raw/`,先用 wiki 技能的 SCAFFOLD 操作搭建),否则启动时会明确报错并给出示例。
Install
dsh plugin --profile web add dsh-plugin-wiki-tools@0.14.1
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-plugin-wiki-tools from the hub