知识图谱搜索插件

Engram是一个强大的搜索和知识图谱插件,为Obsidian提供全文搜索、语义搜索和知识图谱可视化功能。

  • by JeGwan
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 JeGwan/engram

使用说明

记忆印迹

一个强大的搜索和知识图谱插件 黑曜石.使用SQLite FTS5为您的保险库建立索引,以进行即时全文搜索,连接到 奥拉玛 用于语义搜索,并将您的知识可视化为交互式图形。

特性

全文搜索(FTS5)

  • 由SQLite FTS5支持的即时关键字搜索,完全通过WebAssembly在浏览器中运行
  • 突出显示的片段与匹配的术语
  • 按目录或标签筛选
  • 实时增量索引——编辑立即反映出来

语义搜索(Ollama)

  • 按含义查找笔记,而不仅仅是关键字
  • 使用本地Ollama嵌入(默认为bge-m3)——您的数据永远不会离开您的机器
  • 余弦相似度百分比排名
  • 可选的 --在没有Ollama的情况下工作;当您需要更深入的搜索时启用

知识图谱

  • 自动从笔记中提取实体(人员、项目、组织)和关系
  • 通过拖动、缩放和单击进行交互式网络可视化探索
  • 按实体类型或关系类型筛选
  • 包含实体事实和连接的详细面板

仪表盘

  • Vault统计数据概览:文件数、字数、目录分布
  • Ollama连接状态
  • 一键操作:重新索引、嵌入、提取图形

数据库浏览器

  • 直接浏览底层SQLite数据库
  • 检查表、列和行
  • 可用于调试和高级查询

安装

来自社区插件(推荐)

  1. 打开黑曜石设置→ 社区插件
  2. 搜索 记忆印迹
  3. 单击安装,然后启用

手动安装

  1. 下载 main.js, manifest.json, styles.css,以及 sql-wasm.wasm 从 最新版本
  2. 创建文件夹 <vault>/.obsidian/plugins/obsidian-engram/
  3. 将下载的文件复制到该文件夹中
  4. 重新启动Obsidian并在设置中启用插件→ 社区插件

设置语义搜索(可选)

语义搜索需要 奥拉玛 在本地运行。这是 完全可选 --该插件仅适用于关键字搜索和知识图。

  1. 安装Ollama: brew install ollama (macOS)或访问 ollama.com
  2. 启动服务器: ollama serve
  3. 拉动嵌入模型: ollama pull bge-m3
  4. 在Engram设置中,启用“语义搜索”,然后单击“运行嵌入”

默认模型为 bge-m3 (多语言,1024昏暗)。您可以在设置中更改此设置。

命令

命令 描述
打开Engram 打开Engram面板
重新索引Vault 重新扫描所有标记文件
搜索 跳转到关键字搜索
运行嵌入 生成语义搜索的嵌入
提取图形 提取实体和关系
加载向量 将嵌入向量加载到内存中

通过命令面板访问命令(Cmd/Ctrl + P)或使用 Cmd/Ctrl + K Engram面板内部。

设置

设置 默认值 说明
启动时自动索引 打开 黑曜石启动时递增索引更改的文件
跳过目录 node_modules, .git 要从索引中排除的目录
启用语义搜索 关闭 连接到Ollama进行基于嵌入的搜索
Ollama网址 http://localhost:11434 Ollama服务器地址
Ollama模型 bge-m3 嵌入模型名称
人员目录 (空) 人员备注的路径(例如。, People/)用于图形提取

运作原理

  • 数据库:SQLite通过以下方式编译为WebAssembly sql.js-fts5,存储在插件文件夹中 vault.db
  • 索引:解析markdown文件,提取frontmatter/tags/wiki链接,并插入到FTS5虚拟表中
  • 语义搜索:打电话给Ollama /api/embeddings 本地端点,将向量存储在数据库中,并在内存中执行余弦相似性搜索
  • 图形提取:从wiki链接、frontmatter和标题模式中提取基于规则的实体和关系
  • 实时更新:监听黑曜石保险库事件(修改、删除、重命名)以进行增量索引

移动支持

该插件适用于移动设备上的关键字搜索和知识图谱功能。语义搜索需要Ollama,这是一项仅限桌面的服务,因此无法在移动设备上使用。

许可证

麻省理工学院