LEANN语义搜索Skill leann-search

LEANN语义搜索是一种基于人工智能的代码搜索工具,利用自然语言处理(NLP)技术进行语义理解,帮助开发者通过概念性查询快速定位代码。关键词:语义搜索、代码搜索、NLP、AI、开发工具、自然语言理解。

NLP 0 次安装 0 次浏览 更新于 3/14/2026

name: leann-search description: 使用LEANN向量索引在代码库中进行语义搜索 allowed-tools: [Bash, Read]

LEANN语义搜索

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

何时使用

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

何时不使用

  • 精确匹配:使用Grep进行class Foodef bar、特定标识符
  • 正则表达式模式:使用Grep进行error.*handlingimport.*from
  • 文件路径:使用Glob进行*.test.tssrc/**/*.py

命令

# 搜索当前项目的索引
leann search <index-name> "<查询>" --top-k 5

# 列出可用索引
leann list

# 示例
leann search rigg "提供者如何处理流式" --top-k 5

MCP工具(在Claude代码中)

leann_search(index_name="rigg", query="您的语义查询", top_k=5)

重建索引

当代码库发生重大变化时:

cd /path/to/project
leann build <项目名称> --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 vs LEANN决策

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