使用说明
项目简介
Beating Heart Nostr 是一个针对 Nostr 协议文档的检索增强生成(RAG)系统。它通过语义分析技术,将多个 Nostr 相关的知识库文档进行向量化存储,并对外提供 MCP 服务器接口,允许 LLM 智能体通过该服务器查询 Nostr 协议的相关信息。
主要功能点
- Nostr 文档语义搜索: 能够理解开发者关于 Nostr 协议的自然语言查询,并返回相关的文档片段。
- MCP 服务器接口: 默认以 MCP 服务器模式运行,提供标准化的工具和资源接口,方便 LLM 客户端集成。
- 可扩展的知识库: 支持添加和管理多个 Nostr 协议相关的 Git 仓库作为知识来源。
- 工具 (Tools):
- 'query_nostr_data': 用于在 Nostr 文档中执行语义搜索。
- 资源 (Resources):
- 'nostr://event-kinds': 提供标准 Nostr 事件类型及其描述的 Markdown 格式文档。
- 'nostr://standard-tags': 提供标准 Nostr 标签及其描述的 Markdown 格式文档。
安装步骤
- 安装 Go: 确保已安装 Go 1.20 或更高版本。
- 安装 Ollama: 确保已安装并运行 Ollama,并已拉取 'nomic-embed-text' 模型 ('ollama pull nomic-embed-text')。
- 安装 Git: 确保已安装 Git。
- 克隆仓库:
git clone https://github.com/gzuuus/beating-heart-nostr.git cd beating-heart-nostr - 下载依赖:
go mod tidy
服务器配置
MCP 客户端需要配置以下信息以连接到 Beating Heart Nostr RAG 服务器:
{ "serverName": "Beating Heart Nostr RAG Server", "command": "go", "args": ["run", "."] }
配置参数说明:
- 'serverName': 服务器名称,可自定义。
- 'command': 启动服务器的命令,这里使用 'go' 命令。
- 'args': 传递给 'go' 命令的参数,'run .' 表示运行当前目录下的 'main.go' 文件,即启动 MCP 服务器。
注意: 默认配置下,服务器无需额外参数即可启动。
基本使用方法
- 启动 MCP 服务器: 在仓库根目录下,运行命令 'go run .' 即可启动 MCP 服务器。默认情况下,服务器将监听标准输入/输出 (stdio) 并等待 MCP 客户端连接。
- 使用 MCP 客户端连接: 使用任何 MCP 客户端(例如 MCP Inspector 'npx @modelcontextprotocol/inspector go run .')连接到该服务器。客户端将通过 stdio 与服务器进行通信。
- 调用工具: 客户端可以调用 'query_nostr_data' 工具,并传入 'query' 参数进行 Nostr 文档的语义搜索。可选参数 'similarity' 和 'num_results' 可以调整搜索的相似度阈值和返回结果数量。
- 访问资源: 客户端可以读取 'nostr://event-kinds' 和 'nostr://standard-tags' 资源,获取 Nostr 事件类型和标准标签的 Markdown 文档。
信息
分类
AI与计算