这个项目能做什么
GrooveSeek 是一个 MCP 服务器,用于对 Markdown 文件构成的知识库进行混合搜索——语义加全文——纯文本、PDF、Office 文档和源代码可作为可选项启用。命令为 `groove`。
开箱即用,无需配置文件并使用默认模型时,它会索引带 YAML frontmatter 的英文 Markdown。多语言或日文内容需要 `--model bge-m3`;其他所有文件格式都在 `groove.toml` 中启用。
工作原理:Markdown(以及可选的 .txt、.pdf、.docx、.xlsx、.pptx,还有自 v1.2.0 起的 Rust 源代码、自 v1.3.0 起的 Python 以及自 v1.5.0 起的 PHP,其语法需手动下载并放置)会被解析 YAML frontmatter,并拆分为基于标题的分块——对于源代码,则每个定义一个分块。嵌入默认使用 FastEmbed 生成(BGE-small-en-v1.5,或多语言知识库使用 BGE-M3),并借助 sqlite-vec 存储在 SQLite 中,用于向量相似度搜索。受信任的配置也可以选择使用兼容 OpenAI 的嵌入端点。
客户端通过 stdio(默认,单客户端)或 Streamable HTTP(多客户端)连接,因此它可与 Claude Code、Cursor 或任何兼容 MCP 的客户端配合使用。实时同步文件监听器可在手动编辑、`git pull` 和外部脚本后保持索引最新。可选的 TOML schema 可通过 `groove validate` 校验 frontmatter 约定,并且自 v1.9.0 起,它声明的额外键会由 `groove index` 存储,以便 `groove search --field` 可基于这些键进行过滤。
MCP 接口暴露六个工具——`search`、`get_document`、`list_topics`、`get_connection_graph`、`get_best_practice`、`rebuild_index`——四个提示,以及作为 `kb://` 资源的知识库。使用 `--transport http` 时,服务器还会在 `/ui` 上响应,这是一个运维视图,显示版本、文档和分块数量、嵌入模型、监听器状态、运行时长和 pid,并可通过客户端使用的同一 `/mcp` 端点进行搜索。
安装可通过适用于 Linux x86_64 和 aarch64、macOS Apple Silicon 和 Windows x86_64 的预构建二进制文件完成,并提供 SHA-256 校验和与 GitHub 构件证明;Intel Mac 构建必须从源代码进行。ONNX runtime 和 SQLite 为静态链接,嵌入模型会在首次运行时从 HuggingFace 下载。从源代码构建使用 `cargo build --release`。
快速开始是 `groove index --kb-path /path/to/knowledge-base`,然后在 `.mcp.json` 中添加指向 `groove serve --kb-path ...` 的条目,或使用 `groove search "..." --limit 3` 直接查询。文档涵盖命令、配置键、客户端配方、检索流水线(RRF、重排序、MMR、父检索器)、过滤器、带字节偏移的引用、基于黄金查询集的评估、架构和稳定性保证;每个页面都提供日文版本,且这些页面会作为站点发布。还包含个人 stdio、NAS 共享和内网 HTTP 设置的部署配方。1.0.0 之前的版本为 beta,不保证兼容性;从 1.0.0 起,稳定性文档说明了哪些内容已冻结、哪些内容有意不冻结,包括 Web 界面和 Rust API。采用 MIT 或 Apache-2.0 双许可。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。