关于 leann-search
leann-search 是一项用 LEANN 按语义检索代码的技能,适合查找概念、实现模式和相关代码。它以句子嵌入理解含义,并按语义相似度排序;精确标识符、正则和路径匹配仍应使用 Grep 或 Glob。
主要功能
- 01按含义搜索代码
- 02按语义相似度排序结果
- 03列出可用索引
- 04支持重建项目索引
- 05提供 Claude Code MCP 工具
适用场景
- 01查找身份验证或错误处理逻辑
- 02探索流式处理或提供方架构
- 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
工作原理
- LEANN 使用句子嵌入来理解含义
- 搜索会查找概念相似的代码,而不只是文本匹配
- 结果按语义相似度分数(0-1)排序
Grep 与 LEANN 的选择
| 查询类型 | 工具 | 示例 |
|---|---|---|
| 自然语言 | LEANN | “缓存是如何工作的” |
| 类或函数名称 | Grep | “class CacheManager” |
| 模式匹配 | Grep | error|warning |
| 查找实现 | LEANN | “速率限制逻辑” |
评论
支持 Markdown