# Xiaoyao Search

小遥搜索 MCP 工具 - 本地文件智能搜索（语义/全文/图像/语音/混合搜索）

- Repository: https://github.com/dtsola/xiaoyaosearch (1026 stars)
- Category: AI and agents
- License: see repository
- Last updated: 2026-10-02
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add dtsola/xiaoyaosearch --skill xiaoyao-search -g -a claude-code -y`
Codex: `npx skills add dtsola/xiaoyaosearch --skill xiaoyao-search -g -a codex -y`
Cursor: `npx skills add dtsola/xiaoyaosearch --skill xiaoyao-search -g -a cursor -y`
Gemini CLI: `npx skills add dtsola/xiaoyaosearch --skill xiaoyao-search -g -a gemini-cli -y`

## Description

小遥搜索 MCP 工具 - 本地文件智能搜索（语义/全文/图像/语音/混合搜索）

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## When to use

当需要搜索本地文件时使用此 Skill：

- 通过自然语言描述搜索本地文档
- 查找包含特定关键词的文件
- 用图片搜索相似的本地图片
- 用语音转文字后搜索文件
- 需要综合语义和全文搜索结果

## Capability

小遥搜索 MCP 服务器提供以下 5 个搜索工具：

### 1. semantic_search（语义搜索）
- **用途**：基于 BGE-M3 向量模型的语义搜索
- **适用**：自然语言查询，如"关于机器学习的文档"
- **参数**：
  - `query`: string - 搜索关键词（1-500字符）
  - `limit`: int - 返回结果数（1-100，默认20）
  - `threshold`: float - 相似度阈值（0.0-1.0，默认0.5）
  - `file_types`: string[] - 文件类型过滤（可选）

### 2. fulltext_search（全文搜索）
- **用途**：基于 Whoosh 的精确关键词匹配
- **适用**：查找特定术语、代码片段
- **参数**：
  - `query`: string - 搜索关键词（1-500字符）
  - `limit`: int - 返回结果数（1-100，默认20）
  - `file_types`: string[] - 文件类型过滤（可选）

### 3. hybrid_search（混合搜索）
- **用途**：结合语义和全文搜索，RRF 算法融合结果
- **适用**：需要全面搜索结果的场景
- **参数**：
  - `query`: string - 搜索关键词（1-500字符）
  - `limit`: int - 返回结果数（1-100，默认20）
  - `threshold`: float - 相似度阈值（0.0-1.0，默认0.5）
  - `file_types`: string[] - 文件类型过滤（可选）

### 4. image_search（图像搜索）
- **用途**：基于 CN-CLIP 的图像相似度搜索
- **适用**：用图片查找相似的本地文件
- **参数**：
  - `image_path`: string - 图片绝对路径
  - `limit`: int - 返回结果数（1-100，默认20）
  - `threshold`: float - 相似度阈值（0.0-1.0，默认0.5）

### 5. voice_search（语音搜索）
- **用途**：FasterWhisper 语音识别后搜索
- **适用**：通过语音快速搜索本地文件
- **参数**：
  - `audio_path`: string - 音频绝对路径
  - `search_type`: string - 搜索类型（semantic/fulltext/hybrid，默认semantic）
  - `limit`: int - 返回结果数（1-100，默认20）
  - `threshold`: float - 相似度阈值（0.0-1.0，默认0.5）

## Usage

### 前提条件

1. 小遥搜索后端服务已启动（默认 http://127.0.0.1:8000）
2. MCP 功能已启用（默认启用）
3. 索引已构建完成

### 调用方式

Claude Code 通过 MCP 协议自动发现和调用工具：

```
用户：帮我找一下关于 Python 异步编程的文档
→ Claude Code 调用 semantic_search(query="Python 异步编程")
→ 返回搜索结果
→ Claude 基于结果回答用户
```

### 响应格式

搜索结果返回 JSON 格式：
```json
{
  "total": 10,
  "search_time": 0.523,
  "results": [
    {
      "file_name": "async_guide.md",
      "file_path": "D:/docs/async_guide.md",
      "file_type": "markdown",
      "relevance_score": 0.95,
      "preview_text": "Python异步编程指南..."
    }
  ]
}
```

## Examples

### 示例1：语义搜索
```
用户：查找关于机器学习算法优化的文档

The rest: https://github.com/dtsola/xiaoyaosearch/blob/HEAD/skills/xiaoyao-search/SKILL.md
