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 密钥:
- 分块 (Chunking):使用
tree-sitter将文件分割为具备代码意识的区块。 - 混合搜索 (Hybrid Search):结合语义相似度(通过
potion-code-16M-v2模型使用静态Model2Vec嵌入)与词汇匹配(BM25)来处理标识符与 API 名称。 - 融合与重排序 (Fusion and Reranking):使用倒数排名融合 (RRF) 合并结果,并根据代码特定信号进行重排序,例如提升函数定义的权重、降低引用的权重,并惩罚测试文件或旧版 shim 等杂讯。
- 缓存 (Caching):索引会在本地缓存,并随着文件变更进行增量更新。
适用对象
专为 AI 编程代理(如 Claude Code、Cursor 或 Codex)的开发者,以及希望为其工具提供更快速、更准确且更具 Token 效率之本地或远程存储库访问权的代理用户所设计。
特色亮点
- 极致效率:比
grep+read方法减少约 99% 的 Token 使用量。 - 高性能:在 CPU 上平均约 500ms 即可索引存储库,并在约 1ms 内返回查询结果。
- 零设置:无需 API 密钥、GPU 或外部服务。
- MCP 集成:作为模型上下文协议 (MCP) 服务器运行,允许代理将搜索作为原生工具调用。
- 灵活搜索:支持搜索本地路径、远程 git URL 以及同时搜索多个存储库。
相关
- Dispatch
- 项目
- 项目
- 项目