使用说明

项目简介

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 格式文档。

安装步骤

  1. 安装 Go: 确保已安装 Go 1.20 或更高版本。
  2. 安装 Ollama: 确保已安装并运行 Ollama,并已拉取 'nomic-embed-text' 模型 ('ollama pull nomic-embed-text')。
  3. 安装 Git: 确保已安装 Git。
  4. 克隆仓库:
    git clone https://github.com/gzuuus/beating-heart-nostr.git
    cd beating-heart-nostr
  5. 下载依赖:
    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 服务器。

注意: 默认配置下,服务器无需额外参数即可启动。

基本使用方法

  1. 启动 MCP 服务器: 在仓库根目录下,运行命令 'go run .' 即可启动 MCP 服务器。默认情况下,服务器将监听标准输入/输出 (stdio) 并等待 MCP 客户端连接。
  2. 使用 MCP 客户端连接: 使用任何 MCP 客户端(例如 MCP Inspector 'npx @modelcontextprotocol/inspector go run .')连接到该服务器。客户端将通过 stdio 与服务器进行通信。
  3. 调用工具: 客户端可以调用 'query_nostr_data' 工具,并传入 'query' 参数进行 Nostr 文档的语义搜索。可选参数 'similarity' 和 'num_results' 可以调整搜索的相似度阈值和返回结果数量。
  4. 访问资源: 客户端可以读取 'nostr://event-kinds' 和 'nostr://standard-tags' 资源,获取 Nostr 事件类型和标准标签的 Markdown 文档。

信息

分类

AI与计算