mcpField
L
leann-search

leann-search

github.com/parcadei开发3.9k76 次安装39 周前更新
代码仓库

关于 leann-search

leann-search 是一项用 LEANN 按语义检索代码的技能,适合查找概念、实现模式和相关代码。它以句子嵌入理解含义,并按语义相似度排序;精确标识符、正则和路径匹配仍应使用 Grep 或 Glob。

主要功能

  1. 01按含义搜索代码
  2. 02按语义相似度排序结果
  3. 03列出可用索引
  4. 04支持重建项目索引
  5. 05提供 Claude Code MCP 工具

适用场景

  1. 01查找身份验证或错误处理逻辑
  2. 02探索流式处理或提供方架构
  3. 03寻找使用不同术语的相似实现

MCP 相关

在 Claude Code 中提供 `leann_search` MCP 工具,用于对指定索引执行语义查询。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/parcadei/continuous-claude-v3 --skill leann-search

安装后在 Claude Code 中输入/leann-search确认已加载。

详细介绍

LEANN 语义搜索

使用 LEANN 进行基于含义的代码搜索,而不是使用 grep。

适用场景

  • 概念性查询:“身份验证是如何工作的”“在哪里处理错误”
  • 理解模式:“流式传输的实现”“提供方架构”
  • 查找相关代码:语义相似但使用不同术语的代码

不适用场景

  • 精确匹配:使用 Grep 查找 class Foo、def bar 等特定标识符
  • 正则表达式模式:使用 Grep 查找 error.*handling、import.*from
  • 文件路径:使用 Glob 查找 *.test.ts、src/**/*.py

命令

# Search the current project's index
leann search <index-name> "<query>" --top-k 5

# List available indexes
leann list

# Example
leann search rigg "how do providers handle streaming" --top-k 5

MCP 工具(在 Claude Code 中)

leann_search(index_name="rigg", query="your semantic query", top_k=5)

重建索引

代码库发生重大变化时:

cd /path/to/project
leann build <project-name> --docs src tests scripts \
  --file-types '.ts,.py,.md,.json' \
  --no-recompute --no-compact \
  --embedding-mode sentence-transformers \
  --embedding-model all-MiniLM-L6-v2

工作原理

  1. LEANN 使用句子嵌入来理解含义
  2. 搜索会查找概念相似的代码,而不只是文本匹配
  3. 结果按语义相似度分数(0-1)排序

Grep 与 LEANN 的选择

查询类型工具示例
自然语言LEANN“缓存是如何工作的”
类或函数名称Grep“class CacheManager”
模式匹配Greperror|warning
查找实现LEANN“速率限制逻辑”

评论

支持 Markdown