知识库检索系统

Ontobi是一个基于SKOS概念图谱的知识库检索系统,提供SPARQL端点、MCP工具和Obsidian插件,适用于教育知识库和LLM代理的检索需求。

  • by aTigar
  • Rust
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 aTigar/ontobi

使用说明

Ontobi

进行中 --该软件正在积极开发中,尚未准备好投入生产使用。API、接口和行为将发生变化,恕不另行通知。

基于本体论的知识库检索——通过MCP实现SKOS概念图。

包裹

包 语言 状态 描述
ontobi-core 锈蚀 🚧 第一阶段 原生二进制:SKOS解析器、Oxigraph RDF存储、SPARQL 1.1端点、文件监视器、CLI
@ontobi/mcp TypeScript 🔜 第2阶段 MCP服务器:3个用于SKOS本体范围内LLM代理检索的工具
@ontobi/obsidian TypeScript 🔜 第3阶段 黑曜石插件:vault事件桥+Cytoscape.js图形视图

运作原理

  1. ontobi-core 先开始--解析 .md 将frontmatter放入Oxigraph RDF三元组中,并将其作为SPARQL 1.1端点公开 localhost:14321
  2. @ontobi/mcp 连接到该端点——3个MCP工具允许LLM代理在加载文档内容之前导航SKOS本体
  3. @ontobi/obsidian (可选)--瘦黑曜石插件,将vault更改事件连接到核心,并呈现Cytoscape.js图形视图

设计原则是 元数据优先,按需内容:代理在任何完整的文档正文进入其上下文窗口之前检查概念标签和关系。

快速开始

要求锈蚀≥1.75(rustup)Node.js≥20.19,pnpm≥10。

# Build the Rust binary
cargo build --release -p ontobi-core

# Index vault and start SPARQL endpoint (port 14321)
./target/release/ontobi serve --vault /path/to/vault --index

# Start MCP server (separate terminal)
pnpm install && pnpm build
ONTOBI_VAULT_PATH=/path/to/vault pnpm --filter @ontobi/mcp exec ontobi-mcp

发展

# Rust (ontobi-core)
cargo build -p ontobi-core    # debug build
cargo test -p ontobi-core     # run unit tests

# TypeScript (mcp, obsidian)
pnpm install
pnpm build         # tsc --build (incremental)
pnpm test          # vitest for @ontobi/mcp
pnpm typecheck     # type-check without emitting
pnpm lint          # eslint all packages
pnpm format        # prettier all packages

建筑

看 docs/ARCHITECTURE.md 对于涵盖组件清单、MCP工具规范、SPARQL查询跟踪和开放式工程问题的完整设计文档。

路线图

请参阅 GitHub里程碑 对于完整的计划。

里程碑 目标 范围
v0.1.0-MVP 3月7日 ontobi-core + @ontobi/mcp 功能齐全,实验就绪
v0.2.0--插件 3月15日 @ontobi/obsidian Cytoscape.js视图+vault事件桥
v0.3.0--硬化 3月25日 错误处理、日志记录、文档

研究背景

该软件是作为CIIT 2026(IEEE)研究论文的一部分而开发的。该实验比较了在教育知识库上操作的LLM代理的三种检索策略:

  • 代理人A (治疗)——通过ontobi-mcp引导的本体论
  • 代理人B (基线)——向量RAG(平余弦相似度)
  • 代理人C (floor)--非结构化文件系统访问

许可证

麻省理工学院