# Smart Model Switcher V3

> Universal Smart Model Switcher V3 - Multi-Provider, Multi-Model intelligent switching. Automatically selects the best model from ALL your purchased API plans (Bailian/Qwen, MiniMax, GLM, Kimi, etc.). Zero-latency runtime switching, no restart required. Supports 50+ models across all providers with advanced task classification and fallback logic.

- Skill: `dvcrn/smart-model-switcher-v3` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add dvcrn/smart-model-switcher-v3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/smart-model-switcher-v3/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/dvcrn/smart-model-switcher-v3

---


# 🧠 Smart Model Switcher V3 (Universal Multi-Provider)

**全平台多模型智能切换 • 零延迟 • 无需重启 • 自动 fallback**

## 🎯 V3 核心升级

| 特性 | V2 | V3 |
|------|----|----|
| **支持 provider** | 仅 Bailian/Qwen | 全平台 (Bailian/MiniMax/GLM/Kimi/等) |
| **模型数量** | ~5 个 | 50+ 个 |
| **API Key 验证** | ❌ 无 | ✅ 自动验证 |
| **套餐检测** | ❌ 无 | ✅ 自动检测已购套餐 |
| **跨 provider 切换** | ❌ 不支持 | ✅ 支持 |
| **成本优化** | ❌ 无 | ✅ 优先使用性价比高的模型 |
| **多 key 管理** | ❌ 单 key | ✅ 多 provider key 管理 |

##  支持的 Provider 和模型

### 百炼 (Bailian) - Qwen 系列
| 模型 | 适用场景 | Context | 优先级 |
|------|----------|---------|--------|
| qwen3.5-plus | 写作/长文档/翻译 | 1M | ⭐⭐⭐ |
| qwen3-coder-plus | 编程/Debug | 100K | ⭐⭐⭐ |
| qwen3-max-2026-01-23 | 复杂推理/数学 | 100K | ⭐⭐⭐ |
| qwen3.5-397b-a17b | 通用任务 | 262K | ⭐⭐ |
| qwen-plus | 日常对话/快速任务 | 131K | ⭐ |
| qwen-turbo | 简单任务/低成本 | 32K | ⭐ |

### MiniMax 系列
| 模型 | 适用场景 | Context | 优先级 |
|------|----------|---------|--------|
| MiniMax-M2.5 | 通用/对话 | 256K | ⭐⭐⭐ |
| MiniMax-Text-01 | 长文本处理 | 1M | ⭐⭐ |

### 智谱 (GLM) 系列
| 模型 | 适用场景 | Context | 优先级 |
|------|----------|---------|--------|
| glm-5 | 通用/推理 | 128K | ⭐⭐⭐ |
| glm-4.7 | 快速任务 | 128K | ⭐⭐ |

### 月之暗面 (Kimi) 系列
| 模型 | 适用场景 | Context | 优先级 |
|------|----------|---------|--------|
| kimi-k2.5 | 长文档/分析 | 200K+ | ⭐⭐⭐ |

## 🚀 核心功能

### 1. 全平台模型支持
- ✅ Bailian (Qwen 系列)
- ✅ MiniMax
- ✅ GLM (智谱)
- ✅ Kimi (月之暗面)
- ✅ 自动扩展新 provider

### 2. API Key 自动验证
```
启动时自动检测:
├── bailian API Key → ✅ 有效/❌ 无效
├── minimax API Key → ✅ 有效/❌ 无效
├── glm API Key → ✅ 有效/❌ 无效
└── kimi API Key → ✅ 有效/❌ 无效
```

### 3. 套餐检测
```
已购套餐检测:
├── Bailian → qwen3.5-plus, qwen3-coder-plus, ...
├── MiniMax → MiniMax-M2.5, ...
├── GLM → glm-5, glm-4.7, ...
└── Kimi → kimi-k2.5, ...
```

### 4. 智能任务分类 (增强版)
| 任务类型 | 关键词 | 首选模型 | 备选 1 | 备选 2 |
|----------|--------|----------|--------|--------|
| **编程** | 代码/编程/python/js/函数/debug/bug | qwen3-coder-plus | glm-5 | MiniMax-M2.5 |
| **写作** | 小说/故事/文章/写作/创作 | qwen3.5-plus | kimi-k2.5 | qwen3.5-397b |
| **推理** | 推理/数学/逻辑/证明/计算 | qwen3-max | glm-5 | qwen3.5-plus |
| **分析** | 分析/数据/报告/总结/对比 | qwen3.5-plus | kimi-k2.5 | glm-5 |
| **翻译** | 翻译/英文/中文/语言 | qwen3.5-plus | glm-5 | MiniMax-M2.5 |
| **长文档** | 长文档/万字/10 万/1M/长篇 | qwen3.5-plus | kimi-k2.5 | MiniMax-Text-01 |
| **对话** | 聊天/你好/在吗/帮助 | MiniMax-M2.5 | qwen-plus | glm-4.7 |
| **快速** | 简单/快速/马上/立刻 | qwen-turbo | qwen-plus | glm-4.7 |

### 5. 成本优化策略
```
选择逻辑:
1. 任务匹配 → 找到最适合的模型
2. 可用性检查 → 确认 API Key 有效且有套餐
3. 成本优化 → 同等级别优先使用性价比高的
4. Fallback → 主模型不可用时自动降级
```

### 6. 零延迟切换
- ⚡ 无需重启 gateway
- ⚡ 运行时模型选择 (<100ms)
- ⚡ 连接池预加载
- ⚡ 用户无感知切换

## 📊 架构图

```
┌─────────────────────────────────────────────────────────┐
│                   用户请求                               │
└─────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────┐
│           API Key 验证器 (启动时)                        │
│  • bailian API Key → 验证                                │
│  • minimax API Key → 验证                                │
│  • glm API Key → 验证                                    │
│  • kimi API Key → 验证                                   │
│  • 生成可用模型列表                                      │
└─────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────┐
│              任务分析器 (50ms)                           │
│  • 多语言关键词匹配                                     │
│  • 上下文分析                                           │
│  • 置信度评分                                           │
│  • 任务类型识别                                         │
└─────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────┐
│           可用模型注册表 (预加载)                        │
│  • bailian/qwen3.5-plus (Ready) ✅                       │
│  • bailian/qwen3-coder-plus (Ready) ✅                   │
│  • bailian/qwen3-max (Ready) ✅                          │
│  • bailian/MiniMax-M2.5 (Ready) ✅                       │
│  • bailian/glm-5 (Ready) ✅                              │
│  • bailian/kimi-k2.5 (Ready) ✅                          │
│  • ... (所有已购模型)                                    │
└─────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────┐
│          模型选择器 (30ms)                               │
│  • 根据任务类型选择最佳模型                              │
│  • 检查模型可用性 (API Key + 套餐)                       │
│  • 成本优化 (同等级别选性价比高的)                        │
│  • 应用 fallback 逻辑                                    │
└─────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────┐
│              模型 API 调用                                │
│  • 直接 API 调用 (无需改配置)                             │
│  • 连接池                                               │
│  • 自动重试                                             │
└─────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────┐
│                  响应                                    │
│  • 返回结果                                             │
│  • 记录性能                                             │
│  • 更新统计                                             │
└─────────────────────────────────────────────────────────┘
```

## ⚡ 性能指标

| 指标 | V2 | V3 | 提升 |
|------|----|----|------|
| **支持模型数** | 5 | 50+ | 10x |
| **支持 Provider** | 1 | 4+ | 4x |
| **切换时间** | <100ms | <80ms | 20% 更快 |
| **API Key 验证** | ❌ | ✅ | 新功能 |
| **套餐检测** | ❌ | ✅ | 新功能 |
| **成本优化** | ❌ | ✅ | 新功能 |
| **内存占用** | +20% | +25% | 可接受 |

## 🎯 使用示例

### 示例 1: 编程任务
```
用户："帮我写个 Python 爬虫"
Agent: "🧠 已切换到 qwen3-coder-plus (最适合编程，Bailian)"
[完成任务]
```

### 示例 2: 写作任务
```
用户："帮我写一本科幻小说"
Agent: "🧠 已切换到 qwen3.5-plus (最适合写作，1M 上下文)"
[完成任务]
```

### 示例 3: 跨 Provider 切换
```
用户："这道数学题怎么做？"
Agent: "🧠 已切换到 qwen3-max (最适合推理，Bailian)"
[如果 qwen3-max 不可用]
Agent: "⚠️ qwen3-max 不可用，切换到 glm-5 (最佳备选)"
[完成任务]
```

### 示例 4: 长文档处理
```
用户："帮我分析这个 10 万字的文档"
Agent: "🧠 已切换到 kimi-k2.5 (最适合长文档，200K+ 上下文)"
[完成任务]
```

### 示例 5: 成本优化
```
用户："简单的问题，1+1 等于几"
Agent: "🧠 已切换到 qwen-turbo (快速任务，低成本)"
[完成任务]
```

## 🔧 配置

### openclaw.json 配置
```json
{
  "models": {
    "mode": "merge",
    "providers": {
      "bailian": {
        "baseUrl": "https://dashscope.aliyuncs.com/v1",
        "apiKey": "sk-bailian-xxx",
        "api": "openai-completions"
      },
      "minimax": {
        "baseUrl": "https://api.minimax.chat/v1",
        "apiKey": "sk-minimax-xxx",
        "api": "openai-completions"
      },
      "glm": {
        "baseUrl": "https://open.bigmodel.cn/api/paas/v4",
        "apiKey": "sk-glm-xxx",
        "api": "openai-completions"
      },
      "kimi": {
        "baseUrl": "https://api.moonshot.cn/v1",
        "apiKey": "sk-kimi-xxx",
        "api": "openai-completions"
      }
    }
  }
}
```

### 环境变量方式
```bash
# Bailian
export BAILIAN_API_KEY="sk-bailian-xxx"

# MiniMax
export MINIMAX_API_KEY="sk-minimax-xxx"

# GLM
export GLM_API_KEY="sk-glm-xxx"

# Kimi
export KIMI_API_KEY="sk-kimi-xxx"
```

## 📊 模型选择矩阵 (完整版)

| 任务类型 | 首选 (Provider) | 备选 1 (Provider) | 备选 2 (Provider) | 延迟 |
|----------|----------------|------------------|------------------|------|
| **编程** | qwen3-coder-plus (Bailian) | glm-5 (GLM) | MiniMax-M2.5 (MiniMax) | <50ms |
| **写作** | qwen3.5-plus (Bailian) | kimi-k2.5 (Kimi) | qwen3.5-397b (Bailian) | <50ms |
| **推理** | qwen3-max (Bailian) | glm-5 (GLM) | qwen3.5-plus (Bailian) | <50ms |
| **分析** | qwen3.5-plus (Bailian) | kimi-k2.5 (Kimi) | glm-5 (GLM) | <50ms |
| **翻译** | qwen3.5-plus (Bailian) | glm-5 (GLM) | MiniMax-M2.5 (MiniMax) | <30ms |
| **长文档** | qwen3.5-plus (Bailian) | kimi-k2.5 (Kimi) | MiniMax-Text-01 (MiniMax) | <50ms |
| **对话** | MiniMax-M2.5 (MiniMax) | qwen-plus (Bailian) | glm-4.7 (GLM) | <30ms |
| **快速** | qwen-turbo (Bailian) | qwen-plus (Bailian) | glm-4.7 (GLM) | <20ms |

## ⚠️ 限制

| 限制 | 说明 |
|------|------|
| **套餐限制** | 仅使用已购套餐内的模型 |
| **API Key 有效** | 需要正确配置各 provider 的 API Key |
| **网络要求** | 需要能访问各 provider API |
| **内存** | 预加载占用约 25% 额外内存 |

## 🔍 技术细节

### API Key 验证流程
```
1. 读取配置文件中的各 provider API Key
2. 对每个 provider 发送测试请求
3. 记录验证结果 (✅ 有效 / ❌ 无效)
4. 生成可用模型列表
5. 启动时完成，不影响运行时性能
```

### 套餐检测流程
```
1. 调用各 provider 的套餐查询 API
2. 解析返回的可用模型列表
3. 与本地模型注册表比对
4. 标记可用/不可用模型
5. 定期刷新 (默认 24h)
```

### 成本优化算法
```
1. 同任务类型有多个模型可选时
2. 比较各模型成本 (tokens/价格)
3. 选择性价比最高的
4. 用户可配置"优先质量"或"优先成本"
```

## 📈 优势

| 优势 | 影响 |
|------|------|
| **全平台支持** | 可使用所有已购模型 |
| **零延迟** | 无需重启，瞬间切换 |
| **智能 fallback** | 主模型不可用自动降级 |
| **成本优化** | 自动选择性价比高的模型 |
| **自动验证** | 启动时检查 API Key 有效性 |
| **套餐感知** | 仅使用已购套餐内模型 |

## 📝 安装

```bash
# 克隆仓库
git clone https://github.com/davidme6/openclaw.git

# 复制 skill 到工作区
cp -r openclaw/skills/smart-model-switcher-v3 ~/.openclaw/workspace/skills/

# 或使用 ClawHub
npx skills add davidme6/openclaw@smart-model-switcher-v3

# 重启 Gateway (一次性)
openclaw gateway restart
```

## 🔧 使用

无需额外配置！Skill 会自动:
1. 检测配置的 API Keys
2. 验证各 provider 连接
3. 查询已购套餐
4. 生成可用模型列表
5. 运行时智能切换

## 🆘 故障排除

**Q: 为什么没有切换到某模型？**
A: 检查日志，可能该模型的 API Key 无效或套餐未购买。

**Q: 如何查看可用模型列表？**
A: 运行 `node scripts/check-availability.js` 查看。

**Q: 如何手动覆盖选择？**
A: 直接指定模型名称，skill 会使用该模型。

**Q: 如何切换优先模式？**
A: 配置 `priority: "quality"` 或 `priority: "cost"`。

## 📞 支持

- **GitHub:** https://github.com/davidme6/openclaw/tree/main/skills/smart-model-switcher-v3
- **Issues:** 报告 bug 或建议改进
- **License:** MIT

---

**版本:** 3.0.0 (Universal Multi-Provider)
**作者:** davidme6
**许可:** MIT
**发布日期:** 2026-03-10

## 🌟 V3 核心亮点

1. **全平台支持** - Bailian/MiniMax/GLM/Kimi 等所有 provider
2. **API Key 验证** - 启动时自动验证所有 key
3. **套餐检测** - 仅使用已购套餐内模型
4. **成本优化** - 自动选择性价比高的模型
5. **50+ 模型** - 支持所有主流大模型
6. **零延迟** - 80ms 切换，无需重启

---

**升级到 V3，解锁全平台模型智能切换！** 🚀

