# Sou

> Sou - 语义搜索 MCP

- Skill: `wenjunduan/sou-5` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wenjunduan/sou-5`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wenjunduan/sou-5/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: wenjunduan (https://skillmd.com/u/wenjunduan)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wenjunduan/sou-5

---

# Sou - 语义搜索 MCP

## 概述
Sou 是一个语义代码搜索工具，基于向量嵌入实现智能代码检索。

## 能力
```yaml
语义搜索:
  - 自然语言查询代码
  - 理解代码意图而非仅匹配关键词
  - 跨文件关联分析

代码理解:
  - 找到相关函数/类
  - 识别使用模式
  - 追踪依赖关系
```

## VibeCoding 集成

### 调用时机
```yaml
Research 阶段 (优先):
  - 理解现有代码结构
  - 查找相关实现
  - 识别修改影响范围

Execute 阶段:
  - 查找类似实现参考
  - 确认命名一致性
```

### MCP 调用
```javascript
// 基础搜索
sou_search({
  query: "用户认证相关的函数",
  scope: "src/",
  limit: 10
})

// 带过滤搜索
sou_search({
  query: "处理 JWT token 的代码",
  scope: "src/auth/",
  file_types: [".ts", ".js"],
  limit: 5
})
```

## 使用示例

### 查找功能实现
```javascript
// 查找登录相关代码
sou_search({
  query: "用户登录验证逻辑"
})

// 结果示例:
// [
//   { file: "src/auth/login.ts", line: 45, content: "async function validateLogin..." },
//   { file: "src/middleware/auth.ts", line: 12, content: "export const authMiddleware..." }
// ]
```

### 查找使用模式
```javascript
// 查找某个函数的使用
sou_search({
  query: "调用 validateUser 函数的地方"
})
```

### 查找相似实现
```javascript
// 查找类似的错误处理
sou_search({
  query: "API 错误响应处理模式"
})
```

## 最佳实践

### 查询技巧
```yaml
好的查询:
  - "处理用户认证的函数"
  - "数据库连接配置"
  - "React 组件的状态管理"

差的查询:
  - "function" (太泛)
  - "const a = 1" (太具体)
  - "代码" (无意义)
```

### 与 grep 对比
```yaml
sou 优势:
  - 理解语义，不只是文本匹配
  - 找到相关但用词不同的代码
  - 更智能的排序

grep 优势:
  - 精确匹配
  - 更快（无需向量计算）
  - 支持正则表达式

建议: 先用 sou 探索，再用 grep 精确定位
```

## 配置
```yaml
# orchestrator.yaml
mcp_tools:
  recommended:
    - name: sou
      purpose: "语义搜索"
      fallback: "grep/ripgrep"
```

## 降级策略
若 sou 不可用:
```bash
# 使用 ripgrep
rg "pattern" --type ts

# 使用 grep
grep -r "pattern" src/ --include="*.ts"
```

