用途:从指定 vault 的 wiki/ 中派生检索数据到 .vault-meta/,构建本地 BM25 上下文索引并查询相关段落,可选多语言 Nomic 余弦重排序。检索输出本身不是证据,调用方需读取返回页面后再做综合。
主要能力与流程:contextual-prefix.py 按段落边界切分页面,存储原始分块加简短页面级前缀;bm25-index.py 基于标准库构建本地 BM25 索引;retrieve.py 选取候选、可选重排、拒绝无效记录、按页面去重并返回路径与片段。分块与索引文件是可丢弃的运行时状态,增量前缀会跳过哈希未变记录,完整扫描会移除已删页面的多余记录。
使用方式:先解析安装根目录,再预览、构建前缀与索引并查询。 python3 "$PREFIX" --vault "$VAULT" --all --no-llm --peek python3 "$PREFIX" --vault "$VAULT" --all --no-llm python3 "$BM25" --vault "$VAULT" build python3 "$RETRIEVE" --vault "$VAULT" "wiki" --top 1 --no-rerank --explain 只读查询可加 --no-rerank;显式重排时省略该参数。默认重排模型为 Ollama 多语言 nomic-embed-text-v2-moe(约 958 MB),产品不会自动拉取。诊断命令包括 bm25 stats、bm25 query、rerank --peek。
隐私与限制:合成前缀只用本地 frontmatter 和页面文本;Anthropic API 与 claude 子进程可能把页面正文传出机器,需用户明确同意并加 --allow-egress,不得仅凭 API key 或已装二进制推断同意。远程 Ollama 需显式批准并加 --allow-remote-ollama,默认重排器仅接受 localhost。查询输入上限为 8000 个规范化字符,结果数须在 1 到 1000 之间。嵌入按模型、输入方案与精确前缀哈希缓存;Ollama 缺失或嵌入失败时整体回退到 BM25 顺序。空索引是诚实的无结果状态,索引缺失或损坏时 retrieve.py 以退出码 10 退出并给出稳定重建命令。未提供价格、平台与效果数据。