Bear知识连接器
通过语义搜索和RAG(检索增强生成)将Bear Notes与人工智能助手连接起来,使人工智能系统能够通过有意义的搜索而非仅仅是关键词匹配来访问和理解你的个人知识库。
服务介绍
Bear Notes MCP Server with RAG
想要通过AI助手增强你的Bear Notes体验吗?这个小工具通过语义搜索和RAG(检索增强生成)将你的个人知识库连接到AI系统。
我之所以构建这个工具,是因为我希望我的AI助手能够真正理解我的笔记内容,而不仅仅是进行简单的文本匹配。结果非常令人满意,如果我可以这么说的话。
开始使用
设置过程非常简单:
git clone [your-repo-url]
cd bear-mcp-server
npm install
使脚本可执行(因为权限很重要):
chmod +x src/bear-mcp-server.js
chmod +x src/create-index.js
首先:索引你的笔记
在深入之前,你需要创建笔记的向量嵌入:
npm run index
温馨提示:如果你像我一样是一个高产的笔记作者,这可能需要几分钟时间。它会将你所有的笔记转换成捕捉其意义的数学向量——非常聪明的东西😉。
配置
更新你的MCP配置文件:
{
"mcpServers": {
"bear-notes": {
"command": "node",
"args": [
"/absolute/path/to/bear-mcp-server/src/bear-mcp-server.js"
],
"env": {
"BEAR_DATABASE_PATH": "/Users/yourusername/Library/Group Containers/9K33E3U3T4.net.shinyfrog.net.bear/Application Data/database.sqlite"
}
}
}
}
🚨 请记得将路径替换为你实际的安装位置。直接使用示例路径是不会有奖励的,恐怕。
为什么特别?
- 语义搜索:根据意思而不是仅凭关键词查找笔记。询问关于“生产力系统”的信息,它会找到你有关GTD和番茄工作法的笔记,即使它们不包含这些确切的词语。
- RAG支持:你的AI助手现在可以从你的笔记中提取相关上下文,即使你没有明确提到它们。
- 全部本地处理:所有操作都在你的机器上运行。数据不会离开你的电脑,不需要API密钥,也不依赖互联网(初始设置后)。
- 优雅的回退机制:如果由于某种原因无法使用语义搜索,它会安静地回退到传统的搜索方式。双重保险。
工作原理
聪明的部分
该服务器使用Xenova实现的transformers.js与all-MiniLM-L6-v2模型:
- 它创建了384维向量来捕捉笔记的语义本质
- 所有处理都在你的机器上本地完成
- 第一次启动时可能会有点慢,因为模型正在加载,但之后就会变得非常快
流程
- 你的查询通过变换器模型转换为一个向量
- 这个向量与预先索引的笔记向量进行比较
- 返回具有相似意义的笔记,无论是否精确匹配关键词
- AI助手利用这些相关的笔记作为响应的上下文
项目结构
这里没有什么太复杂的:
bear-mcp-server/
├── package.json
├── readme.md
└── src/
├── bear-mcp-server.js # Main MCP server
├── create-index.js # Script to index notes
├── utils.js # Utility functions
├── lib/ # Additional utilities and diagnostic scripts
│ └── explore-database.js # Database exploration and diagnostic tool
├── note_vectors.index # Generated vector index (after indexing)
└── note_vectors.json # Note ID mapping (after indexing)
可供AI助手使用的工具
连接到此服务器的AI助手可以使用以下工具:
-
search_notes: 查找与查询匹配的笔记
- 参数:
query(必需),limit(可选, 默认: 10),semantic(可选, 默认: true)
- 参数:
-
get_note: 通过ID获取特定的笔记
- 参数:
id(必需)
- 参数:
-
get_tags: 列出您在Bear Notes中使用的所有标签
-
retrieve_for_rag: 获取与查询语义相似的笔记,特别格式化用于RAG
- 参数:
query(必需),limit(可选, 默认: 5)
- 参数:
要求
- Node.js 版本 16 或更高
- macOS 上的 Bear Notes
- 兼容MCP的AI助手客户端
限制与注意事项
- 只读访问Bear Notes(我们不会修改您的宝贵笔记)
- 仅限macOS(对Windows和Linux用户表示歉意)
- 如果您添加了大量的新笔记,您可能需要使用
npm run index重建索引 - 首次启动时,由于嵌入模型加载,可能会有点像等待水壶烧开一样慢
故障排除
如果出现问题:
- 仔细检查您的Bear数据库路径
- 确保已经运行了索引过程
npm run index - 检查Bear Notes数据库的权限
- 确认服务器脚本是可执行的
- 在日志中查找错误信息
当不确定时,尝试重启。这比我们愿意承认的次数更有效。
许可证
MIT(随意修改、分享和改进)