JohnXu22786/docindex ↗★ 1

dsh-doc-index

dsh bundle: local semantic index over workspace documents (MD/PDF/DOCX/TXT) with FTS5 BM25 + local embedding hybrid retrieval, hit citations with line numbers, and incremental updates. 适合需要在本地文档中做语义检索的用户,支持多种格式并自动监听更新。

パッケージ
dsh-doc-index
互換性
未検証
Harness ピア範囲
>=0.0.1-rc.1
Cordis ピア範囲
>=4.0.1
バージョン
0.1.0
ライセンス
MIT
最終更新
2026/08/20

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:JohnXu22786/docindex

ドキュメント

README 全文を読む ↗

Configuration reference

KeyDefaultMeaning
roots[] → process.cwd()Workspace root(s) to scan.
dbPath'' → $DSH_HOME/doc-index/index.dbSQLite database path (:memory: allowed).
openAtstartupWhen to open the DB: startup, first-use, never.
updatewatchKeep the index current: watch (fs.watch + debounce) or manual.
watchDebounceMs1500Debounce for the watch-driven rescan.
excludes[]Extra gitignore-style patterns (see notes below).
includeHiddenfalseIndex dot-files/directories.
followSymlinksfalseFollow directory symlinks (cycles are broken).
maxDocs20000Max documents in the index.
maxSegments300000Max stored text segments.
maxEmbeddedSegments50000Max segments that receive an embedding vector.
maxFileBytes5 MBSkip files larger than this.
maxDepth64Max directory depth below a root (0 = unlimited).
maxWalkedFiles200000Max candidate files collected per scan (the internal examined-file budget is 4×). If the walk is truncated by this cap, no pruning happens on that run.
tokenizer.cjkN2CJK n-gram depth: 1 (unigrams), 2 (+bigrams), 3 (+trigrams).
segmentChars400Approx. max chars per indexed segment.
snippetChars240Max snippet length returned per hit.
textExtensions[]Extra extensions (e.g. .csv) treated as plain UTF-8 text.
search.topK10Default hits per query (1–50).
search.minScore0Filter fused results below this normalized score.
search.modeautoauto, lexical, or semantic.
search.highlighttrueWrap matched terms in **…**.
search.matchOpandCombine query runs with and or or.
search.rrfK60RRF constant.
search.semanticWeight0.5Weight of the semantic list in RRF (lexical gets 1 - w).
embedding.providerngramnone, ngram, or transformers.
embedding.dim256ngram embedder dimension.
embedding.model''transformers model id (default: multilingual MiniLM).
embedding.device / cacheDir / quantizedauto / HF cache / truetransformers provider options.
journalModewalSQLite journal mode.