# skill-router

技能路由器：通过语义向量搜索，自动匹配并调用最合适的子技能，避免 Agent 逐一读取所有 SKILL.md，减少 token 消耗。

## 目录结构

```
skill-router/
├── SKILL.md                  # 本技能的说明文档（Agent 读取此文件）
├── README.md                 # 本文件
├── skills_faiss.index        # FAISS 向量索引（build_index.py 生成）
├── skills_map.json           # 技能映射表（build_index.py 生成）
├── scripts/
│   ├── build_index.py        # 构建/重建向量索引
│   └── step1_search.py       # 语义检索，返回匹配技能
└── skills/                   # 所有子技能目录
    ├── your-skill-1/
    │   ├── SKILL.md
    │   └── scripts/
    ├── your-skill-2/
    │   ├── SKILL.md
    │   └── scripts/
    └── ...
```

## 快速开始

### 1. 将子技能放入 skills/ 目录

```bash
mv /path/to/your-skill skill-router/skills/
```

### 2. 构建向量索引

```bash
cd /home/admin/.openclaw/workspace-216/skills/skill-router
python3 scripts/build_index.py
```

### 3. 测试查询

```bash
python3 scripts/step1_search.py --query "帮我查一下今天在线的逆变器"
```

## 注意事项

- 每次新增、修改、删除子技能后，需重新运行 `build_index.py` 重建索引
- 匹配阈值为 0.3（余弦相似度），低于此值视为无匹配
- 每次最多返回 3 个候选技能
- 模型路径：`/home/admin/bge-small-zh-v1.5/`
