mcpField
Q
qianwen-model-selector

qianwen-model-selector

github.com/qianwen-aiAgent 工作流1155.6k 次安装3 周前更新
代码仓库

关于 qianwen-model-selector

面向用户及其他技能的 Qwen 模型选型顾问,可按任务、能力、速度、质量或成本筛选模型。它结合诊断问题与模型目录,并推荐使用 QianWen CLI 查询当前可用性、价格和额度。

主要功能

  1. 01交互式模型选择问题
  2. 02跨技能模型查询
  3. 03基于目录的推荐
  4. 04通过 CLI 查询当前模型信息
  5. 05账单范围与生命周期检查

适用场景

  1. 01按任务和优先级选择模型
  2. 02按内容类型缩小候选范围
  3. 03查询模型当前可用性或价格
  4. 04按能力查找模型

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/qianwen-ai/qianwen-ai --skill qianwen-model-selector

安装后在 Claude Code 中输入/qianwen-model-selector确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

cdn/references/
qianwen-audio-tts-models.md
qianwen-image-generation-models.md
qianwen-model-list.md
qianwen-model-pricing.md
qianwen-model-recommendations.md
qianwen-text-models.md
qianwen-token-plan-models.md
qianwen-video-generation-models.md
qianwen-vision-models.md
references/
cli-usage.md
error-handling.md
pricing-disclaimer.md
pricing.md
sources.md

详细介绍

Qwen 模型选择器(顾问)

检测密钥类型

运行此命令以检测 API 密钥类型(输出 token-plan、payg 或 not-set):

python3 -c "
import os
from pathlib import Path
env_file = Path('.env')
if not env_file.exists():
    for parent in [Path.cwd()] + list(Path.cwd().parents):
        if (parent / '.git').exists() or (parent / 'skills').is_dir():
            env_file = parent / '.env'
            break
if env_file.exists():
    for line in env_file.read_text().splitlines():
        line = line.strip()
        if not line or line.startswith('#') or '=' not in line:
            continue
        k, v = line.split('=', 1)
        k, v = k.strip(), v.strip().strip('\"').strip(\"'\")
        if k in ('QIANWEN_API_KEY', 'DASHSCOPE_API_KEY') and k not in os.environ:
            os.environ[k] = v
key = os.environ.get('QIANWEN_API_KEY') or os.environ.get('DASHSCOPE_API_KEY') or ''
print('token-plan' if key.startswith('sk-sp-') else 'payg' if key else 'not-set')
"
输出计费模式操作
token-planToken Plan(额度)获取当前的 Token Plan 模型目录,并且只从中选择模型。版本未知时,默认使用 Team 超集。如果无法访问 CDN,则使用本地备用文件。
payg按量付费可使用完整模型目录;继续执行下文。
not-set未配置密钥不要阻止流程。 询问用户:“你打算采用哪种方式?(1)标准 PAYG 密钥(2)Token Plan 密钥(3)暂时跳过——只浏览推荐。” 根据用户的选择继续。

Windows:如果无法使用 python3,请使用 python。多行 -c 字符串在 PowerShell 和 CMD 中都可运行。或者,将代码片段保存到临时 .py 文件后运行。

此技能以两种模式运行:

  1. 交互式建议 — 通过诊断问题推荐合适的模型(见诊断流程)。
  2. 跨技能解析 — 为需要决定模型、但无需与用户交互的执行技能提供快速模型查询。先获取 CDN 推荐;如果无法访问 CDN,则使用 本地备用文件。

不要编造模型名称——只能推荐 CDN 模型目录中列出或由 CLI 返回的模型。 此技能属于 QianWen-AI/qianwen-ai。

技能目录

按需加载。需要模型列表、默认值或推荐时,获取文档所述的 CDN 模型目录。除非用户明确要求获取最新数据,否则不要获取其他外部 URL。

cdn/ 下的所有路径都是本地备用文件,并非主要来源。对于 cdn/<path>,先获取 https://alioth.alicdn.com/skills-info/models/<path>,仅当 CDN 请求失败时才使用本地文件。

位置用途
references/cli-usage.mdCLI 优先的数据策略:何时使用 CLI、3 步登录流程、显示规则
references/error-handling.mdCLI 错误分类与恢复操作(身份验证、未找到、网络等)
CDN 模型推荐跨领域推荐和 Token Plan 限制;如果不可用,则使用本地备用文件
references/pricing-disclaimer.md仅限 PAYG:价格免责声明(中文/英文)+ 控制台链接
references/pricing.md稳定的计费单位、费用注意事项和 CDN 价格备用信息
CDN 模型目录跨领域模型目录快照;如果不可用,则使用本地备用文件
references/sources.md官方文档 URL(仅供手动查询)

前提条件

强烈建议使用 QianWen CLI——它是模型可用性、价格和配额的权威实时数据源。运行以下命令进行验证:

qianwen version

如果尚未安装:

npm install -g @qianwenai/qianwen-cli

CLI 需要 Node.js >= 18。即使没有 CLI,你仍可根据 CDN 目录回答某一时点的一般导航问题和基础模型信息问题。但你无法验证当前可用性、当前准确价格、快照之外的能力搜索结果,或特定账户的配额信息。

安全与凭据模型

QianWen 有两套相互独立的凭据系统——切勿混淆:

凭据用途提供方式
API Key (sk-... / sk-sp-...)在代码中调用模型 API$DASHSCOPE_API_KEY / $QIANWEN_API_KEY 环境变量
CLI 会话授权 qianwen CLI 子命令qianwen auth login(浏览器设备流程)

红线(适用于两者):

  • 绝不以明文形式输出任何凭据值。 使用变量引用;只报告状态(“已设置” / “未设置”、“有效” / “无效”)。绝不显示 .env 或配置文件的内容。
  • 绝不混淆这两套系统。 如果 CLI 返回 Not authenticated / AUTH_REQUIRED,请运行 3 步设备流程登录(参见 cli-usage.md)。不要向用户索要 API key,也不要尝试设置 $DASHSCOPE_API_KEY 来修复 CLI 身份验证问题。

数据查询顺序

根据用户的问题选择合适的数据源。在尝试更高优先级数据源中的恢复操作之前,不要回退到较低优先级的数据源。

问题类型首选数据源备注
一般导航或某一时点的基础模型详情CDN 推荐和领域目录回答前先获取数据。如果无法访问 CDN,请使用对应的本地回退数据。需要说明数据时效性时,指出目录数据是快照。
当前 / 准确 / 特定账户的信息(可用性、价格、配额)必须使用 CLI——参见 cli-usage.md快照无法验证当前状态;绝不编造数字
按能力搜索(“能执行 X 的模型”)qianwen models search "<X>" --format json快照的关键词覆盖不完整
CLI 返回错误执行 error-handling.md 中的恢复操作,然后重试身份验证失败 → 运行 3 步登录,不要跳过 CLI 而直接使用快照
CLI 完全不可用,且用户拒绝安装或登录CDN 模型目录 + pricing.md只回答快照支持的事实,并提示数据可能过时;不要声称可用性、当前准确价格或账户配额
以上方法都无法回答,且用户确认进行在线查询sources.md 中的 URL绝不主动获取

诊断流程(交互式建议)

前提条件:先完成上文的检测密钥类型,并缩小候选范围再继续。所有从 CDN 目录加载的建议都必须符合用户的计费范围。

按顺序询问用户:

  1. 内容类型? — 文本 / 图像 / 视频 / 音频 / 视觉
  2. 主要任务? — 生成 / 理解 / 编码 / 推理 / 翻译
  3. 优先级? — 质量还是速度或成本
  4. 输入规模? — 短 / 中等 / 长上下文
  5. 结构化输出? — 是否需要 JSON / 函数调用

默认推荐

推荐任何模型之前,请先对照官方退役列表(id、expiredTime)和任何 CLI lifecycle 结果,检查模型的确切 ID。即使目录或套餐仍列出了已计划退役或已经退役的模型,也不要将其作为默认选项或推荐。如果用户明确选择了此类模型,请告知其退役日期和公告,建议使用受支持的替代模型,且不要在未说明的情况下替换。如果无法验证生命周期数据,请明确说明;仅凭快照不能证明模型当前可用。

在选择默认模型或推荐模型之前,请获取并阅读上文链接中的最新 CDN 推荐。对于 Token Plan 密钥,还要阅读上文链接中的 Token Plan 模型目录,并将候选范围限定在其中。

  • 如果用户明确指定了模型,请先验证该模型在用户的计费范围内可用,再使用该模型。
  • 否则,先匹配最强的任务信号,再选择合适的质量、速度或成本档位。
  • 如果缺失的信息会实质性影响选择,请比较相关领域的选项,并请用户澄清。
  • 保留所选模型文档中说明的思考默认设置,除非用户或任务要求覆盖;对于简单任务,不要仅仅为了设定通用默认值而启用思考。

CLI 快速参考

需要身份验证。 所有 models 和 usage 命令都需要有效的 CLI 会话(浏览器设备授权登录——不是 API 密钥)。如果命令返回 Not authenticated / AUTH_REQUIRED:

  1. 按照 cli-usage.md 中的说明执行设备授权登录的 3 个步骤(主动使用适用于操作系统的命令打开验证 URL,然后立即轮询)。
  2. 收到 success 后,重试原始命令。
  3. 不要向用户索要 $DASHSCOPE_API_KEY / $QIANWEN_API_KEY——这些密钥用于模型 API 调用,不用于 CLI 会话。请参阅上文的安全与凭证模型。
  4. 不要在未说明的情况下回退到快照。

Token Plan(sk-sp- 密钥):建立有效的 CLI 会话(通过设备授权登录)后,qianwen usage 命令会同时报告登录账户的按量付费使用量,以及 Token Plan 席位额度 / 共享套餐 Credits。购买共享套餐、调整席位或查看完整计费历史,请引导用户前往 Token Plan 订阅控制台。Token Plan 模型的可用性(文本 + 图像 + 视频 + TTS)记录在上文链接的 CDN Token Plan 模型目录中。

需求命令
完整模型目录qianwen models list --all --format json
按模态筛选qianwen models list --input image --output text --format json
单个模型详情qianwen models info <model-id> --format json
关键词搜索qianwen models search "<query>" --format json
免费档剩余额度qianwen usage free-tier --format json
身份验证状态qianwen auth status --format json

显示规则:解析 --format json 输出,并以易读的摘要形式呈现;切勿直接输出原始 JSON。原样显示 --format text 输出,然后在 --- 之后添加分析。详情请参阅 cli-usage.md。

CLI 错误处理 — 快速指南

CLI 失败时,先分类,再恢复,然后重试。切勿静默回退到快照。

类别恢复方法(摘要)
auth-failure执行 3 步登录 → 重试原始命令。仅在用户拒绝时才回退。
not-installed显示安装命令 → 请用户安装 → 重试。切勿静默使用快照。
model-not-found运行 qianwen models search "<keyword>" → 推荐排名前 3 的结果 → 使用正确的 ID 重试。
network-timeout等待 2 秒后重试一次;仅在第二次失败后询问是否回退。
quota-exhausted显示 Billing Console;切勿使用快照。
version-mismatch建议运行 qianwen version --check 或使用更新检查技能 → 升级 → 重试。
other显示原始 stderr;提供文档链接;仅在用户选择退出后才回退。

完整的分类、信号和示例流程:error-handling.md。

定价与成本估算(仅限 PAYG)

Token Plan 用户请跳过本节。

  • 最新定价:首先运行 qianwen models info <model> --format json;仅在此命令失败时,才使用 pricing.md 链接的 CDN 定价参考。切勿编造价格。
  • 强制免责声明:所有与成本相关的回答都必须以 pricing-disclaimer.md 中的免责声明结尾(根据用户的回复语言使用中文或英文版本)。遗漏免责声明属于严重错误。
  • 免费额度:切勿假设有可用的免费额度——使用 qianwen usage free-tier 验证,或引导用户前往 控制台。
  • 用量/账单查询:引导用户前往相应的控制台页面——参见 pricing-disclaimer.md 中的表格。

更新检查

用户要求检查更新时(“check for updates”“check version”“is there a new version”“update skills”):

  1. 查找 qianwen-update-check:在同级技能目录中查找 qianwen-update-check/SKILL.md。
  2. 如果找到 — 运行:python3 <qianwen-update-check-dir>/scripts/check_update.py --print-response 并报告结果。如果用户要求强制检查,则使用 --force。
  3. 如果未找到 — 运行 qianwen version --check 并报告结果。

反模式

  • 绝不捏造模型名称——只推荐 CDN 模型目录中列出或 CLI 返回的模型。
  • 绝不根据请求措辞推断 API 密钥类型——以已配置的 Key 或调用上下文为准。
  • 绝不推荐超出用户计费范围的模型——Token Plan 密钥只能使用上方链接的 Token Plan 模型目录中的模型;PAYG 密钥可以使用完整目录。违反此规则会导致用户遇到硬性错误。
  • 绝不编造或猜测任何价格数字——只使用 CLI、pricing.md 或官方定价页面。编造价格属于严重错误。
  • CLI 出错时绝不悄悄回退到快照——先执行 error-handling.md 中的恢复操作。
  • 绝不假定有免费额度可用——额度可能已被用完、过期或移除。始终先说明付费单价。
  • 绝不以明文形式输出 API 密钥——请参阅安全部分。
  • 绝不混淆 CLI 会话与 API 密钥——CLI 身份验证使用浏览器设备流登录;对于 CLI 的 Not authenticated / AUTH_REQUIRED 错误,绝不提供 $DASHSCOPE_API_KEY 或 $QIANWEN_API_KEY 作为解决方法。
  • **绝不主动获取任意 URL 或触发网络搜索。**需要模型数据时,获取文档中列出的 CDN 模型目录;只有当 CLI 和 CDN 目录都无法解答,且用户确认后,才能访问其他在线来源。
  • 绝不构造用量、计费或控制台 URL——只使用此技能或其参考资料中列出的确切链接。若未列出某个 URL,就不要编造。
  • 任何与费用相关的回答都必须包含费用免责声明(请参阅 pricing-disclaimer.md)。

参考资料

来源用途
cli-usage.mdCLI 优先策略、三步登录、显示规则、模型详情 URL
error-handling.mdCLI 错误分类与恢复
qianwen-model-recommendations.md (CDN) (本地备用文件)跨领域推荐和 Token Plan 限制
pricing-disclaimer.md定价指南、强制免责声明和计费控制台链接
pricing.md稳定的计费单位、费用注意事项和 CDN 定价备用信息
qianwen-model-list.md (CDN) (本地备用文件)跨领域模型目录快照
sources.md官方文档 URL
qianwen models list --format json动态:完整模型目录,包含定价、功能和额度
qianwen models info <id> --format json动态:单个模型详情(定价层级、上下文、速率限制)
qianwen models search "<q>" --format json动态:基于关键词发现模型
qianwen usage free-tier --format json动态:各模型剩余的免费层额度

评论

支持 Markdown