黑曜石知识库
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的指南,将 @user_ae76a857/knowledge-obsidian 安装到你的 AI 助手中。
技能介绍
解决什么问题
Obsidian 适合长期积累笔记,但当 .md 文件数量增多后,靠目录浏览或全文搜索会很快变得吃力:关键词没出现但意思相近的段落很难命中,返回结果也常常缺乏上下文。这个技能把笔记仓库变成可查询的本地知识库,先做离线向量索引,再用混合检索返回更贴近语义的片段。
它如何工作
核心流程分三步:
- 初始化向量库:扫描指定路径下的 Markdown 文件,按
H1/H2/H3标题层级切块,同时保护表格、代码块和 YAML frontmatter 不被拆散;片段之间保留重叠,降低语义断裂。 - 嵌入与存储:使用
jinaai/jina-embeddings-v2-base-zh在本地生成 768 维向量,依托 ONNX Runtime,无需 PyTorch,也不依赖外部 API;向量持久化到本地 ChromaDB。 - 查询与更新:检索时融合向量相似度(权重 0.7)与 BM25 关键词匹配(权重 0.3),综合评分后返回 Top-K 结果;脚本末尾通过
[SUCCESS]或[ERROR]标记明确执行状态,即使输出被截断也能判断。
增量更新会检测新增、修改、删除和未变化文件,并只对受影响部分重算向量,通常几秒到几十秒完成。
适用边界
它只索引 UTF-8 编码的 Markdown 文件,不适用于 Word、PDF 或其他格式。初始化 500 篇文档大约需要 5–10 分钟,向量库通常占用 100–200MB;知识库更新后需要手动触发增量更新,否则检索结果会滞后。向量库查询失败时应按错误信息修复环境,不能回退到 grep 等替代查询方式。
使用场景
- 笔记库积累数百篇后,记不清原文措辞,按语义找回与某个问题相关的段落
- 修改、新增或删除部分笔记后,执行增量更新让检索结果与最新文档保持一致
- 处于无网络的离线环境,需要查询本地知识库且不能调用外部嵌入 API
- 把查询脚本接入自动化流程,靠输出末尾的 SUCCESS/ERROR 标记判断执行结果
适合人员
- 维护数百篇技术笔记的工程师:想按意图找回某段方案说明,不必记住原文关键词
- 负责团队 Obsidian 知识库的文档工程师:需要在本地离线环境对 Markdown 语料做稳定检索
- 长期用 Obsidian 写研究笔记的研究生:笔记变多后想找概念相关章节,关键词搜不到
- 搭建内部 RAG 系统的开发者:需要一个可增量维护的本地向量检索与混合排序模块