开发者生态
morning
Show HN: Semble – 代理代码搜索使用的标记比 grep 少 98%
2026-05-17
1 阅读
Bibabomas
快速准确的代理代码搜索 比 grep+read 使用的令牌少约 98% 快速入门 • MCP 服务器 • Bash / AGENTS.md • CLI • Python API • 基准 Semble 是为代理构建的代码搜索库。它立即返回他们需要的确切代码片段,使用的令牌比 grep+read 少约 98%,并减少了每个步骤的延迟。端到端索引和搜索完整代码库只需不到一秒的时间,与代码专用转换器相比,索引速度快约 200 倍,查询速度快约 10 倍,检索质量为 99%(请参阅基准)。一切都在 CPU 上运行,没有 API 密钥、GPU 或外部服务。将其作为 MCP 服务器运行,或通过 AGENTS.md 从 shell 调用它,任何代理(Claude Code、Cursor、Codex、OpenCode 等)都可以即时访问任何存储库。快速入门 当您的代理需要查找代码时,它将自动使用 Semble。它不是使用关键字进行 grep 并读取完整文件,而是使用自然语言进行查询(例如“如何处理身份验证?”)并仅返回相关上下文。 Semble 可以设置为 MCP 服务器或 bash 工具: MCP 将 Semble 添加到 Claude 代码(需要 uv ): claude mcp add semble -s user -- uvx --from " semble[mcp] " semble 使用另一个代理工具?有关 Codex、OpenCode、Cursor 和其他 MCP 客户端的设置说明,请参阅 MCP 服务器。 Bash / AGENTS.md 首先安装 Semble,然后将代码搜索片段添加到 AGENTS.md 或 CLAUDE.md 中: pip install semble # Install with pip uv tool install semble # 或者使用 uv 安装 注意:对于 Claude Code 或 Codex CLI 子代理,请使用 bash 集成代替 MCP,或与 MCP 一起使用。要更新 Semble,请参阅更新。好奇 Semble 为您节省了多少代币?运行semble saving 看看。有关详细信息,请参阅节省。主要特点 快速:平均在约 250 毫秒内索引一个存储库,并在约 1.5 毫秒内回答查询,所有这些都在 CPU 上进行。准确:在我们的基准测试中,NDCG@10 为 0.854,与代码专用变压器模型相当,但尺寸和成本仅为其一小部分。令牌高效:仅返回相关块,使用的令牌比 grep+read 少约 98%。零设置:在 CPU 上运行,无需 API 密钥、GPU 或外部服务。 MCP 服务器:Claude Code、Cursor、Codex、OpenCode 和任何其他 MCP 兼容代理的嵌入式工具。本地和远程:传递本地路径或 git URL。 MCP Server Semble 可以作为 MCP 服务器运行,因此代理可以直接搜索任何代码库。 Repos are cloned and indexed on demand, and indexes are cached for the lifetime of the session.监视本地路径的文件更改并自动重新索引。安装 需要安装 uv。 Claude Code claude mcp add semble -s user -- uvx --from " semble[mcp] " semble Codex 添加到 ~/.codex/config.toml : [ mcp_servers . semble ] command = " uvx " args = [ " --from " , " semble[mcp] " , " semble " ] OpenCode 添加到 ~/.opencode/config.json : { "mcp" : { "semble" : { "type" : " local " , "command" : [ " uvx " , " --from " , " semble[mcp] " , " semble " ] }光标添加到 ~/.cursor/mcp.json (或项目中的 .cursor/mcp.json): { "mcpServers" : { "semble" : { "command" : " uvx " , "args" : [ " --from " , " semble[mcp] " , " semble " ] } } } 工具 工具 描述 搜索 使用自然语言或代码搜索代码库查询。将存储库作为本地目录路径或 https:// git URL 传递。 find_相关 给定文件路径和行号,返回语义上与该位置的代码相似的块。 Bash 集成 MCP 的替代方案是通过 Bash 调用 Semble。对于 Claude Code 和 Codex CLI,这是子代理的唯一选项,子代理无法直接调用 MCP 工具(两者都仅在顶级代理处延迟加载 MCP 模式)。要添加 Bash 支持,请将以下内容附加到 AGENTS.md 或 CLAUDE.md 中: ## 代码搜索 使用 `semble search` 通过描述其功能或命名符号/标识符来查找代码,而不是 grep:```bash semble search "authentication flow" ./my-project semble search "save_pretrained" ./my-project semble search "save model to disk" ./my-project --top-k 10``` 使用`semble find-相关`来发现与已知位置相似的代码(从之前的搜索结果中传递`file_path`和`line`):```bash semble find-lated src/auth.py 42 ./my-project````path`省略时默认为当前目录;接受 git URL。如果 `semble` 不在 `$PATH` 上,请使用 `uvx --from "semble[mcp]" semble` 代替。 ## 工作流程 1 .从“semble search”开始查找相关块。 2.仅当返回的块没有足够的上下文时才检查完整文件。 3.可以选择使用“semble find-lated”和有希望结果的“file_path”和“line”来发现相关的实现。 4.仅当您需要详尽的文字匹配或快速确认确切的字符串时才使用 grep。 Claude Code 子代理:Claude Code 还支持专用的子代理。在项目根目录中运行一次: semble init # 或者,如果 semble 不在 $PATH 上: uvx --from " semble[mcp] " semble init 这会写入 .claude/agents/semble-search.md 。 CLI 组件