用途:在代码库中按模式或概念查找代码,单一入口自动路由两种搜索策略,并额外提供 Python 绑定解析查询。
主要能力:正则模式匹配标识符、字面文本与正则;语义模式按自然语言概念检索;绑定解析模式(仅 Python,经 pyright)提供 --refs 查找真实调用者、--def 跳转定义、--hover 推断类型/签名。支持 --expand 返回完整函数体、--benchmark 对比、--branch 指定分支、--skip 跳过目录、--json 机器可读输出、-v 显示索引统计。
使用方式:先安装 ripgrep(uv tool install ripgrep)。主命令为 python3 $SKILL_DIR/scripts/search.py SOURCE "query" [OPTIONS],SOURCE 可为本地目录、GitHub URL、uploads、project 或压缩包路径。示例:python3 $SKILL_DIR/scripts/search.py ./repo "def handle_error";python3 $SKILL_DIR/scripts/search.py ./repo "retry logic with backoff" --semantic;python3 $SKILL_DIR/scripts/search.py ./repo --refs SYMBOL。短查询与类代码 token 自动走正则,多词自然语言走语义,可用 --regex/--semantic 覆盖。
适用场景:唯一推荐用途是 Python 符号的绑定解析查询,例如查找某 .py 符号的全部真实调用者或真实定义,避免文本 grep 被同名无关符号污染。
限制:非 Python 代码无 pyright 绑定解析,不适用;绑定解析层为惰性启用,仅 Python,pyright/node 不可用时降级为正则文本路径;--refs/--def/--hover 各接受单个裸符号名,三者互斥且与文本查询互斥。资料称其余多数场景用普通 ripgrep、tree-sitting、bm25 或 exploring-codebases 更合适;小于约 20 个文件的代码库直接阅读即可。语义模式需 scikit-learn,--expand 与绑定解析依赖 tree-sitting,绑定解析依赖 python-lsp 与 node v18+。具体收费与平台信息暂未提供。