Repolode
MinishLab

MinishLab/semble

面向 AI 编程代理的代码搜索库,只返回相关代码片段,纯 CPU 运行,无需 API Key。

Star
6,367
Fork
286
未关闭 Issue
7
最近提交
4天前

这是什么?

Semble 是一个为 Claude Code、Cursor、Codex 等编程代理设计的代码搜索库。给定自然语言或代码查询,它直接返回仓库中匹配的代码片段,代理无需先 grep 关键词再通读整个文件,从而减少探索代码时消耗的 token。

它使用 tree-sitter 将文件切分为感知代码结构的分块,并结合两种检索方式打分:用于语义相似度的静态 Model2Vec 嵌入,以及用于标识符和 API 名称匹配的 BM25。两路结果通过 Reciprocal Rank Fusion 融合,再根据定义优先、测试文件降权等信号重排。索引会缓存到本地,文件变化时增量更新。

使用方式包括 MCP 服务器、配合 AGENTS.md 的命令行工具,以及 Python API。它支持本地路径和 Git 地址,可同时搜索多个仓库,并覆盖代码、文档和配置等内容类型。

核心功能

  • 01针对自然语言或代码查询返回排序后的代码片段。
  • 02纯 CPU 运行,无需 API Key、GPU 或外部服务。
  • 03提供包含搜索与相似代码查找工具的 MCP 服务器。
  • 04提供命令行工具和 Python 库,便于脚本与自定义集成。
  • 05可将多个本地或远程 Git 仓库作为一个语料库同时检索。
  • 06遵循 .gitignore 与 .sembleignore 规则,并增量更新索引。

适用场景

  • 让编程代理在修改大型代码库前快速定位相关函数。
  • 在多个微服务仓库中搜索某个接口或定义。
  • 降低代理先 grep 再通读整个文件所带来的 token 消耗。
  • 在无法调用外部 API 的沙箱或 CI 环境中编写代码搜索脚本。

快速上手

  1. 1

    安装 uv(参见 uv 安装指南)

  2. 2

    将 semble 安装为 uv 工具

    uv tool install semble
  3. 3

    运行交互式安装程序以配置智能体集成

    semble install

使用前须知

  • 首次使用时需从 Hugging Face 下载嵌入模型,因此需要联网一次。

收录于专题

标签

常见问题

semble 是什么?
面向 AI 编程代理的代码搜索库,只返回相关代码片段,纯 CPU 运行,无需 API Key。 Semble 是一个为 Claude Code、Cursor、Codex 等编程代理设计的代码搜索库。给定自然语言或代码查询,它直接返回仓库中匹配的代码片段,代理无需先 grep 关键词再通读整个文件,从而减少探索代码时消耗的 token。
semble 可以免费使用吗?用的什么许可证?
semble 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
semble 还在维护吗?
活跃维护中。semble 最近一次提交是在 2026年11月3日。
semble 适合用来做什么?
让编程代理在修改大型代码库前快速定位相关函数。 在多个微服务仓库中搜索某个接口或定义。 降低代理先 grep 再通读整个文件所带来的 token 消耗。 在无法调用外部 API 的沙箱或 CI 环境中编写代码搜索脚本。
semble 怎么安装和运行?
安装 uv(参见 uv 安装指南) 将 semble 安装为 uv 工具: uv tool install semble 运行交互式安装程序以配置智能体集成: semble install
在哪里获取 semble?
源代码和安装说明在 GitHub 上:https://github.com/MinishLab/semble

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目