MinishLab/semble

Fast and Accurate Code Search for Agents. Uses 99% fewer tokens than grep+read

它解决了什么问题

Semble 解决了 AI 编程代理在搜索大型代码库时面临的“Token 膨胀”与效率低下问题。传统方法如 grep 后接着读取整个文件,会消耗大量的上下文窗口 Token 且速度缓慢。Semble 提供了一种让代理能即时检索回答查询所需之精确、相关代码片段的方法,显著降低了 Token 使用量与延迟。

运作原理

Semble 使用一种完全在 CPU 上运行的混合检索方法,无需 GPU 或 API 密钥:

  1. 分块 (Chunking):使用 tree-sitter 将文件分割为具备代码意识的区块。
  2. 混合搜索 (Hybrid Search):结合语义相似度(通过 potion-code-16M-v2 模型使用静态 Model2Vec 嵌入)与词汇匹配(BM25)来处理标识符与 API 名称。
  3. 融合与重排序 (Fusion and Reranking):使用倒数排名融合 (RRF) 合并结果,并根据代码特定信号进行重排序,例如提升函数定义的权重、降低引用的权重,并惩罚测试文件或旧版 shim 等杂讯。
  4. 缓存 (Caching):索引会在本地缓存,并随着文件变更进行增量更新。

适用对象

专为 AI 编程代理(如 Claude Code、Cursor 或 Codex)的开发者,以及希望为其工具提供更快速、更准确且更具 Token 效率之本地或远程存储库访问权的代理用户所设计。

特色亮点

  • 极致效率:比 grep+read 方法减少约 99% 的 Token 使用量。
  • 高性能:在 CPU 上平均约 500ms 即可索引存储库,并在约 1ms 内返回查询结果。
  • 零设置:无需 API 密钥、GPU 或外部服务。
  • MCP 集成:作为模型上下文协议 (MCP) 服务器运行,允许代理将搜索作为原生工具调用。
  • 灵活搜索:支持搜索本地路径、远程 git URL 以及同时搜索多个存储库。

相关

  • Dispatch
  • 项目
  • 项目
  • 项目