代码搜索工具决策指南Skill search-tools

这个技能提供了代码搜索工具的决策树,帮助开发者根据需求选择最合适的搜索工具,包括语义搜索、结构分析和文本查找,优化代码审查和开发效率。关键词:代码搜索、语义搜索、AST-grep、Morph、Grep、决策树、工具比较、SEO优化。

代码搜索工具 0 次安装 4 次浏览 更新于 3/14/2026

name: search-tools description: 搜索工具层次结构 user-invocable: false

搜索工具层次结构

当搜索代码时,使用此决策树:

决策树

需要概念/语义搜索?
  (X如何工作,查找模式,理解架构)
  → 使用 LEANN (/leann-search) - 基于嵌入的语义搜索
  → PreToolUse 钩子自动重定向语义 Grep 查询

需要理解代码结构?
  (查找函数调用,类使用,重构模式)
  → 使用 AST-grep (/ast-grep-find)

需要在代码中查找文本?
  → 使用 Morph (/morph-search) - 速度快20倍
  → 如果没有 Morph API 密钥:回退到 Grep 工具

简单的一次性搜索?
  → 直接使用内置的 Grep 工具

工具比较

工具 最佳用途 要求
LEANN 语义搜索:“缓存如何工作”,“错误处理模式”,概念查询 索引已构建
AST-grep 结构模式:“查找所有调用 foo() 的地方”,重构,按类型查找使用 MCP 服务器
Morph 快速文本搜索:“查找提及 ‘error’ 的文件”,在代码库中grep API 密钥
Grep 字面模式,类/函数名称,正则表达式 无(内置)

示例

LEANN(语义/概念):

  • “身份验证如何工作”
  • “查找错误处理模式”
  • “速率限制在哪里实现”

AST-grep(结构):

  • “查找所有返回 Promise 的函数”
  • “查找所有使用 useState 的 React 组件”
  • “将所有导入 X 重构为 Y”

Morph(文本搜索):

  • “查找所有提及 ‘authentication’ 的文件”
  • “搜索 TODO 注释”

Grep(字面):

  • class ProviderAdapter
  • def __init__
  • 正则表达式模式

LEANN 命令

# 使用语义查询搜索
leann search opc-dev "黑板通信如何工作" --top-k 5

# 列出可用索引
leann list

# 重建索引(当代码更改时)
leann build opc-dev --docs dir1 dir2 --no-recompute --no-compact --force