설치
npx -y @deepseek-ai/dsh plugin --profile web add github:chancelu/dsh-llmwiki이 설치 명령은 GitHub 저장소 주소에서 생성된 확인되지 않은 시작점입니다.
README
유지 관리자가 작성한 문서 스냅샷입니다.
dsh-llmwiki
Context Window = RAM, Local Wiki = Disk — long-term memory for DeepSeek Harness, powered by your local Markdown vault.
TypeScript port of llmwiki (Python: llmwiki-harness on PyPI), packaged as a native dsh plugin.
What it does
| Mechanism | dsh extension point |
|---|---|
| Inject relevant wiki knowledge into the same turn's model request | session/event (agent/inbox/spliced, pre-assembly live event) → ctx.systemPrompt.context() |
| Teach the model about memory | ctx.systemPrompt.section() |
memory_search — model recalls prior sessions / curated notes | ctx.tools.register() |
memory_save — model persists durable insights | ctx.tools.register() |
Auto-capture every turn to chronicle/daily/YYYY-MM-DD.md | session/event (turn/end) |
Retrieval: keyword + wikilink graph + temporal strategies fused with RRF (Reciprocal Rank Fusion), assembled under a token budget, with an LRU + TTL cache. Zero runtime dependencies beyond Node.js.
Vault layout (created automatically)
my-vault/
├── raw/ # Layer 1: session dumps
├── chronicle/daily/ # Layer 2: auto-captured daily logs
├── entities/ # Layer 3: compiled knowledge
├── concepts/
├── comparisons/
├── projects/
└── queries/
Open it with Obsidian, curate Layer-3 notes with [[wikilinks]] — the graph strategy follows them.
Install
Requires Node.js ≥ 22 (same as dsh itself) and a working dsh CLI (npm install -g @deepseek-ai/dsh) with pnpm on PATH.
# from npm
dsh plugin --profile web add dsh-llmwiki
# or from a tarball
dsh plugin --profile web add ./dsh-llmwiki-0.1.1.tgz
# verify the layer, then boot
dsh --profile web --dump-config # shows a "# == dsh-llmwiki" layer
dsh web # logs: [dsh-llmwiki] memory plugin loaded, vault: ...
The package declares dsh.bundle, so dsh plugin add activates it automatically — no manual patching needed.
Configure
The plugin works zero-config (vault defaults to ~/llmwiki-vault). To override, add a row to your profile's cordis.patch.yml (or a --patch overlay) — note the override restates the row by id without insert:
- id: llmwiki
config:
vaultPath: /path/to/your/vault # Obsidian vault welcome
tokenBudget: 2000
strategies: [keyword, graph, temporal]
daysBack: 7
topK: 5
autoInject: true
autoCapture: true
A patch replaces the row's entire config, so restate every key you want to keep.
Config
| Key | Default | Meaning |
|---|---|---|
vaultPath | ~/llmwiki-vault | Markdown vault path; structure created if missing |
tokenBudget | 2000 | Max tokens of injected wiki context |
strategies | [keyword, graph, temporal] | Enabled recall strategies |
daysBack | 7 | Temporal look-back window |
topK | 5 | Results per retrieval |
priority | relevance | Assembly priority: relevance / recency / diversity / structured |
cacheTtl | 300 | Cache TTL seconds |
autoInject | true | Inject wiki context on each user message |
autoCapture | true | Append each turn to the daily chronicle |
How the pieces map from the Python original
Python (llmwiki) | TypeScript (dsh-llmwiki) |
|---|---|
core/retriever.py | src/retriever.ts |
core/assembler.py | src/assembler.ts |
core/cache.py | src/cache.ts |
vault/capture.py | src/capture.ts |
search/python_engine.py | merged into retriever.ts (keeps the package zero-dep) |
OpenClawMemoryHook adapter | the dsh plugin itself (src/index.ts) |
Not yet ported: ripgrep / SQLite FTS engines (the pure-JS engine keeps installs dependency-free — contributions welcome), the LLM-driven curate pipeline (run the Python CLI alongside for now).
License
MIT
저장소 정보
- 언어
- TypeScript
- 라이선스
- MIT
- 마지막 업데이트
- 2026. 8. 15. 오전 6:54
신중하게 설치하기
소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.