semble
semble:它是什么、解决了什么问题以及为何受到关注
它解决了什么
Semble 为 AI 代理提供快速、令牌高效的代码搜索。它解决了代理在探索大型代码库时必须读取整个文件或依赖不精确的 grep‑style 搜索,从而消耗大量令牌的问题。它能够让代理仅检索与自然语言查询相关的精确代码片段,与传统的 grep‑后读取方式相比,可将令牌使用量降低最高达 98%。
工作原理
Semble 使用一种混合检索系统,完全在 CPU 上运行,无需 GPU 或 API 密钥。它通过 tree-sitter 将文件拆分为代码感知的块,然后采用两种互补的搜索方式:
- 语义搜索:使用静态
Model2Vec嵌入(通过potion-code-16M模型)进行语义相似度匹配。 - 词法搜索:使用
BM25对标识符和 API 名称进行精确匹配。
这些结果通过 Reciprocal Rank Fusion(RRF)进行融合,然后由一组代码感知的排序信号进一步优化,例如提升定义相对于引用的权重,惩罚噪声(如测试文件或旧版 shim)。
适用人群
为构建或使用 AI 编码代理(如 Claude Code、Cursor、Codex 或 OpenCode)的开发者提供服务,帮助他们为代理提供对任何本地或远程仓库的即时、低成本访问。
亮点
- 极致速度:在 CPU 上约 250 ms 完成仓库索引,约 1.5 ms 回答查询。
- 令牌高效:仅返回相关块,显著降低代理的上下文窗口负担。
- 零配置:无需 API 密钥、GPU 或外部服务。
- MCP 服务器支持:作为 Model Context Protocol(MCP)服务器集成,允许代理将搜索作为原生工具调用。
- 灵活索引:支持本地路径和 git URL,并可根据文件变更自动失效缓存。
Sources
- undefinedMinishLab/semble