名称: llm-router 描述: 该技能应用于用户希望使用SwiftOpenAI-CLI将LLM请求路由到不同的AI提供商(OpenAI、Grok/xAI、Groq、DeepSeek、OpenRouter)时。当用户要求“使用grok”、“询问grok”、“使用groq”、“询问deepseek”或任何类似请求在代理模式下查询特定LLM提供商时,使用此技能。
LLM路由器
概述
使用SwiftOpenAI-CLI的代理模式将AI请求路由到不同的LLM提供商。此技能自动配置CLI以使用请求的提供商(OpenAI、Grok、Groq、DeepSeek或OpenRouter),确保工具已安装并更新,并执行一次性代理任务。
核心工作流
当用户请求使用特定LLM提供商时(例如,“使用grok解释量子计算”),遵循此工作流:
步骤1:确保SwiftOpenAI-CLI就绪
检查SwiftOpenAI-CLI是否已安装并更新:
scripts/check_install_cli.sh
此脚本将:
- 检查是否安装了
swiftopenai - 验证版本(最低1.4.4)
- 如果需要则安装或更新
- 报告当前安装状态
步骤2:配置提供商
根据用户的请求,识别目标提供商并配置SwiftOpenAI-CLI:
scripts/configure_provider.sh <provider> [model]
支持的提供商:
openai- OpenAI(GPT-4、GPT-5等)grok- xAI Grok模型groq- Groq(Llama、Mixtral等)deepseek- DeepSeek模型openrouter- OpenRouter(300+模型)
示例:
# 为Grok配置
scripts/configure_provider.sh grok grok-4-0709
# 为Groq与Llama配置
scripts/configure_provider.sh groq llama-3.3-70b-versatile
# 为DeepSeek Reasoner配置
scripts/configure_provider.sh deepseek deepseek-reasoner
# 为OpenAI GPT-5配置
scripts/configure_provider.sh openai gpt-5
脚本自动:
- 设置提供商配置
- 设置适当的基URL
- 设置默认模型
- 提供API密钥配置指导
步骤3:验证API密钥
配置脚本自动检查是否设置了API密钥,如果未找到API密钥,将以清晰指令停止。
如果API密钥缺失:
脚本以错误代码1退出并显示:
- ⚠️ 警告API密钥未设置
- 通过环境变量设置的指令
- 通过配置(持久)设置的指令
如果配置脚本因缺少API密钥失败,请不要继续步骤4。
相反,通知用户需要先设置API密钥:
选项1 - 环境变量(仅会话):
export XAI_API_KEY=xai-... # 为Grok
export GROQ_API_KEY=gsk_... # 为Groq
export DEEPSEEK_API_KEY=sk-... # 为DeepSeek
export OPENROUTER_API_KEY=sk-or-... # 为OpenRouter
export OPENAI_API_KEY=sk-... # 为OpenAI
选项2 - 配置文件(持久):
swiftopenai config set api-key <api-key-value>
用户设置API密钥后,重新运行配置脚本以验证。
步骤4:执行代理任务
使用代理模式运行用户的请求:
swiftopenai agent "<用户的问题或任务>"
代理模式功能:
- 一次性任务执行
- 内置工具调用
- MCP(模型上下文协议)集成支持
- 带会话ID的对话记忆
- 多种输出格式
示例:
# 简单问题
swiftopenai agent "什么是量子纠缠?"
# 带特定模型覆盖
swiftopenai agent "编写Python函数" --model grok-3
# 带会话以保持对话连续性
swiftopenai agent "记住我的名字是Alice" --session-id chat-123
swiftopenai agent "我的名字是什么?" --session-id chat-123
# 带MCP工具(文件系统示例)
swiftopenai agent "读取README.md文件" \
--mcp-servers filesystem \
--allowed-tools "mcp__filesystem__*"
使用模式
模式1:简单提供商路由
用户请求: “使用grok解释量子计算”
执行:
# 1. 检查CLI安装
scripts/check_install_cli.sh
# 2. 为Grok配置
scripts/configure_provider.sh grok grok-4-0709
# 3. 执行任务
swiftopenai agent "解释量子计算"
模式2:特定模型选择
用户请求: “询问DeepSeek Reasoner逐步解决此数学问题”
执行:
# 1. 检查CLI安装
scripts/check_install_cli.sh
# 2. 为DeepSeek与Reasoner模型配置
scripts/configure_provider.sh deepseek deepseek-reasoner
# 3. 带显式模型执行
swiftopenai agent "逐步解决x^2 + 5x + 6 = 0" --model deepseek-reasoner
模式3:使用Groq快速推理
用户请求: “使用groq快速生成代码”
执行:
# 1. 检查CLI安装
scripts/check_install_cli.sh
# 2. 为Groq配置(以快速推理闻名)
scripts/configure_provider.sh groq llama-3.3-70b-versatile
# 3. 执行任务
swiftopenai agent "编写计算斐波那契数的函数"
模式4:通过OpenRouter访问多个模型
用户请求: “使用OpenRouter访问Claude”
执行:
# 1. 检查CLI安装
scripts/check_install_cli.sh
# 2. 为OpenRouter配置
scripts/configure_provider.sh openrouter anthropic/claude-3.5-sonnet
# 3. 通过OpenRouter使用Claude执行
swiftopenai agent "解释函数式编程的好处"
提供商特定考虑
OpenAI(GPT-5模型)
GPT-5模型支持高级参数:
# 最小推理用于快速编码任务
swiftopenai agent "编写排序函数" \
--model gpt-5 \
--reasoning minimal \
--verbose low
# 高推理用于复杂问题
swiftopenai agent "解释量子力学" \
--model gpt-5 \
--reasoning high \
--verbose high
详细级别: low、medium、high
推理努力: minimal、low、medium、high
Grok(xAI)
Grok模型优化用于实时信息和编码:
grok-4-0709- 最新版,增强推理grok-3- 通用目的grok-code-fast-1- 优化用于代码生成
Groq
以开源模型超快推理闻名:
llama-3.3-70b-versatile- 最佳通用目的mixtral-8x7b-32768- 专家混合
DeepSeek
专门用于推理和编码:
deepseek-reasoner- 高级逐步推理deepseek-coder- 编码专家deepseek-chat- 通用聊天
OpenRouter
提供访问300+模型:
- Anthropic Claude模型
- OpenAI模型
- Google Gemini模型
- Meta Llama模型
- 以及更多
API密钥管理
推荐:为多个提供商使用环境变量
使用多个提供商的最佳实践是将所有API密钥设置为环境变量。这允许无缝切换提供商而无需重新配置密钥。
添加到shell配置文件(~/.zshrc或~/.bashrc):
# LLM提供商的API密钥
export OPENAI_API_KEY=sk-...
export XAI_API_KEY=xai-...
export GROQ_API_KEY=gsk_...
export DEEPSEEK_API_KEY=sk-...
export OPENROUTER_API_KEY=sk-or-v1-...
添加后,重新加载shell:
source ~/.zshrc # 或 source ~/.bashrc
工作原理:
- SwiftOpenAI-CLI自动使用正确的提供商特定密钥基于配置的提供商
- 当切换到Grok时,使用
XAI_API_KEY - 当切换到OpenAI时,使用
OPENAI_API_KEY - 无需每次重新配置密钥
替代:通过配置单API密钥(不推荐用于多个提供商)
如果仅使用一个提供商,可以将密钥存储在配置文件中:
swiftopenai config set api-key <your-key>
限制: 配置文件仅存储一个API密钥。如果切换提供商,每次需要重新配置密钥。
检查当前API密钥
# 查看当前配置(API密钥被屏蔽)
swiftopenai config list
# 获取特定API密钥设置
swiftopenai config get api-key
优先级: 提供商特定环境变量优先于配置文件设置。
高级功能
交互式配置
对于复杂设置,使用交互式向导:
swiftopenai config setup
此启动引导设置,逐步:
- 提供商选择
- API密钥输入
- 模型选择
- 调试模式配置
- 基URL设置(如果需要)
会话管理
跨多个请求维护对话上下文:
# 启动会话
swiftopenai agent "我的项目是React应用" --session-id project-123
# 继续会话
swiftopenai agent "我提到了什么框架?" --session-id project-123
MCP工具集成
通过模型上下文协议连接到外部服务:
# 带GitHub MCP
swiftopenai agent "列出我的仓库" \
--mcp-servers github \
--allowed-tools "mcp__github__*"
# 带文件系统MCP
swiftopenai agent "读取package.json并解释依赖项" \
--mcp-servers filesystem \
--allowed-tools "mcp__filesystem__*"
# 多个MCP服务器
swiftopenai agent "复杂任务" \
--mcp-servers github,filesystem,postgres \
--allowed-tools "mcp__*"
输出格式
控制结果呈现方式:
# 纯文本(默认)
swiftopenai agent "计算5 + 3" --output-format plain
# 结构化JSON
swiftopenai agent "列出3种颜色" --output-format json
# 流式JSON事件(Claude SDK风格)
swiftopenai agent "分析数据" --output-format stream-json
故障排除
常见问题
问题:“swiftopenai: command not found”
解决方案:运行check_install_cli.sh脚本,它将自动安装CLI。
问题:认证错误
解决方案:验证为提供商设置了正确的API密钥:
# 检查当前配置
swiftopenai config list
# 设置适当的API密钥
swiftopenai config set api-key <your-key>
# 或使用环境变量
export XAI_API_KEY=xai-... # 为Grok
问题:模型不可用
解决方案:验证模型名称匹配提供商可用模型。检查references/providers.md获取正确模型名称或运行:
swiftopenai models
问题:速率限制或配额错误
解决方案:这些是提供商特定限制。考虑:
- 使用不同模型层级
- 临时切换到不同提供商
- 检查API使用仪表板
调试模式
启用调试模式查看详细HTTP信息:
swiftopenai config set debug true
此显示:
- HTTP状态代码和头
- API请求详情
- 响应元数据
资源
此技能包括捆绑资源以支持LLM路由:
scripts/
- check_install_cli.sh - 确保SwiftOpenAI-CLI已安装并更新
- configure_provider.sh - 为特定提供商配置CLI
references/
- providers.md - 所有支持的提供商、模型、配置和能力的全面参考
最佳实践
- 始终先检查安装 - 路由请求前运行
check_install_cli.sh - 显式配置提供商 - 使用
configure_provider.sh确保正确设置 - 验证API密钥 - 检查为目标提供商设置了适当的API密钥
- 选择合适模型 - 匹配任务(编码、推理、通用聊天)
- 使用会话保持连续性 - 利用
--session-id进行多轮对话 - 启用调试模式进行故障排除 - 当问题出现时,调试模式提供宝贵洞察
- 参考提供商文档 - 查阅
references/providers.md获取详细提供商信息
示例
示例1:路由到Grok获取实时信息
# 用户:“使用grok告诉我最近的AI发展”
scripts/check_install_cli.sh
scripts/configure_provider.sh grok grok-4-0709
swiftopenai agent “告诉我最近的AI发展”
示例2:使用DeepSeek进行逐步推理
# 用户:“询问deepseek解释如何解决此算法问题”
scripts/check_install_cli.sh
scripts/configure_provider.sh deepseek deepseek-reasoner
swiftopenai agent “逐步解释如何实现快速排序”
示例3:使用Groq快速代码生成
# 用户:“使用groq快速生成REST API”
scripts/check_install_cli.sh
scripts/configure_provider.sh groq llama-3.3-70b-versatile
swiftopenai agent “在Python中生成带认证的REST API”
示例4:通过OpenRouter访问Claude
# 用户:“使用openrouter访问claude并编写文档”
scripts/check_install_cli.sh
scripts/configure_provider.sh openrouter anthropic/claude-3.5-sonnet
swiftopenai agent “为待办事项应用API编写全面文档”
示例5:GPT-5带自定义参数
# 用户:“使用gpt-5带高推理解决此复杂问题”
scripts/check_install_cli.sh
scripts/configure_provider.sh openai gpt-5
swiftopenai agent “设计分布式缓存系统” \
--model gpt-5 \
--reasoning high \
--verbose high