语义搜索服务

kb是一个为Obsidian知识库提供的语义搜索服务,允许AI代理通过自然语言查询个人知识库,支持多库实时索引和语义检索。

  • by ivy
  • Go
  • 本地部署
  • 更新于

使用说明

千字节

你的第二大脑即服务。

[!警告] 这个项目正在进行中。API、架构和功能可能会发生重大变化。

kb是黑曜石金库的语义搜索服务。它允许任何人工智能代理使用自然语言查询您的个人知识库,而无需再摸索文件路径或希望代理找到正确的上下文。

问题

你有一个1500多个音符的黑曜石金库,里面装满了会议笔记、项目文档和积累的知识。当你要求人工智能代理帮助做某事时,它很难找到相关的上下文:

  • 错误的钞票出现,或者根本没有出现
  • 您最终会手动搜索文件并将其粘贴到
  • 新的对话需要手握文件路径
  • 特工们在你的金库里摸索着浪费代币

你成了瓶颈 -手动检索上下文,而不是合成和创建。

解决方案

kb通过MCP(模型上下文协议)在您的保险库上提供语义搜索。任何地方的任何代理都可以利用您的知识:

> "I need to draft an epic for sandboxed execution. Pull relevant
>  context from my notes about security conversations and prior art."

[Agent calls ask_knowledge_base]

Based on your notes, here's what I found...
- Sean discussed container isolation in your 2026-01-15 meeting
- The RunLayer architecture doc covers sandboxing approaches
- You explored gVisor vs Firecracker in December

[Synthesized answer with citations]

运作原理

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Agent     │────▶│   kb-mcp    │────▶│  kb-server  │
│ (any tool)  │ MCP │   (stdio)   │socket│  (daemon)   │
└─────────────┘     └─────────────┘     └─────────────┘
                                              │
                                              ▼
                                        ┌─────────────┐
                                        │   SQLite    │
                                        │ + sqlite-vec│
                                        └─────────────┘
  1. kb服务器 作为守护进程运行,为您的保管库建立索引并保持嵌入最新
  2. kb mcp 是任何代理都可以连接到的MCP服务器
  3. 客服电话 list_knowledge_bases 为了发现可用的来源,那么 ask_knowledge_base 自然语言问题
  4. kb进行语义搜索,检索相关注释,并返回带有引用的合成答案

特性

  • 语义搜索 -按含义查询,而不是按关键字或文件名查询
  • 多保险库支持 -索引多个黑曜石拱顶
  • 实时索引 -编辑时自动重新嵌入笔记
  • 努力程度 -快速查找或深入研究,由您选择
  • 适用于任何地方 -任何兼容MCP的代理都可以使用它

组件

组件 描述
kb-server 处理查询和管理索引的后台守护进程
kb-mcp MCP服务器(stdio传输)公开知识库工具

技术栈

  • 去 -单二进制,快速启动
  • SQLite+SQLite-vec -嵌入式矢量存储,无外部依赖
  • OpenAI嵌入 - text-embedding-3-small 用于语义理解
  • Unix套接字 -清洁IPC,在devcontainers中工作