Task Master 模型选型完全指南:Supported Models 全景解析与配置实战
【免费下载链接】claude-task-masterAn AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-task-master
Task Master(claude-task-master)是一套可嵌入 Cursor、Windsurf、Roo、Lovable 等环境的 AI 任务管理系统,而 docs/models.md 记录了截至 2026 年 1 月 15 日该系统支持的全部 AI 模型清单,包括 SWE 基准分数、Token 单价与角色归属。本文以该文档为骨架,结合仓库中的 supported-models.json、models.js 与配置文档,讲解如何读懂这份模型目录、理解 main / research / fallback 三角色机制,并用task-master models系列命令完成实际的模型切换与自定义 Provider 接入。
模型目录速览:数据列的含义与来源
docs/models.md以三张大表(Main / Research / Fallback)加一张不支持模型表呈现所有受支持模型,每张表包含四列:
| 列 | 含义 | 取值说明 |
|---|---|---|
| Provider | 模型所属的接入渠道 | 见下方 Provider 分类说明 |
| Model Name | 传入配置的模型 ID | 必须与 supported-models.json 中id完全一致 |
| SWE Score | 模型在 SWE-bench 类基准上的得分(0~1) | —表示该模型未收录分数,JSON 中对应swe_score: null或0 |
| Input / Output Cost | 每百万 Token 的价格(美元) | 0表示 CLI/OAuth 订阅类模型不计费;—表示价格未知 |
这份表格的直接数据源是 scripts/modules/supported-models.json,它比文档多出三个关键字段,是判断模型"能不能用、怎么用"的核心依据:
allowed_roles:模型允许担任的角色(main/research/fallback),文档中的三张表正是按此字段归类;max_tokens:该模型的最大输出 Token 上限,setModel写入配置时会自动回填到models.<role>.maxTokens;supported:false表示模型被明确禁止(即文档最后的 Unsupported Models 表),并附reason字段说明原因。
从源码结构看,config-manager.js 通过import MODEL_MAP from './supported-models.json'加载这份清单,因此JSON 才是运行时真相,Markdown 文档只是给人看的快照。若两者不一致,应以 JSON 为准。
Provider 分类:从 API 直连到本地模型
文档表中的 Provider 大致可分为四类,理解其差异有助于正确选型:
- API 直连型:
anthropic、openai、google、xai、groq、perplexity、openrouter、zai、azure、bedrock。需要配置对应 API Key,价格列为真实美元单价。 - CLI 订阅型:
claude-code(opus / sonnet / haiku)、codex-cli(gpt-5.2-codex 等)、gemini-cli(gemini-3-pro-preview 等)、grok-cli(grok-4-latest 等)。通过本机 CLI 的 OAuth 会话调用,Input/Output Cost 恒为 0,不需要 API Key。 - MCP 采样型:
mcp的mcp-sampling,通过 MCP 客户端的 sampling 能力调用,成本为 0,但要求运行环境具备采样能力(详见 configuration.md)。 - 本地/自定义型:
ollama(gpt-oss、qwen3、phi4 等)与lmstudio,以及可通过--openrouter、--ollama、--bedrock、--azure、--vertex、--lmstudio、--openai-compatible等 flag 接入的任意自定义 Provider。
其中 codex-cli、gemini-cli、grok-cli 等 Provider 的模型虽然写入了supported-models.json,但从代码路径看(models.js),setModel会对这些 Provider 的模型 ID 做名单校验——不在名单内会给出 warning 但仍可设置。
三角色机制:main / research / fallback 如何协同
docs/models.md将模型按角色拆成三张表,对应配置中models.main、models.research、models.fallback三个槽位。默认值定义在 config-manager.js:
{ "models": { "main": { "provider": "anthropic", "modelId": "claude-sonnet-4-20250514", "maxTokens": 64000, "temperature": 0.2 }, "research": { "provider": "perplexity", "modelId": "sonar", "maxTokens": 8700, "temperature": 0.1 }, "fallback": { "provider": "anthropic", "modelId": "claude-3-7-sonnet-20250219", "maxTokens": 120000, "temperature": 0.2 } } }- main:主执行模型,负责任务生成、PRD 解析、任务更新等核心 AI 操作;
- research:研究模型,配合
--research旗标执行联网调研类任务。文档的 Research Models 表中出现了gpt-4o-search-preview、gpt-4o-mini-search-preview、sonar、sonar-deep-research等搜索增强模型,这些模型的allowed_roles在 JSON 中仅含research; - fallback:兜底模型,当主模型调用失败(如超时、限流、API 异常)时接管。注意
docs/models.md中 Fallback Models 表与 Main Models 表高度重合,说明主流模型通常同时被允许担任 main 与 fallback 角色。
运行时getModelConfiguration(models.js)会读取这三个槽位的 provider、modelId、baseURL,并逐一校验 CLI 与 MCP 两条路径的 API Key 状态(keyStatus.cli/keyStatus.mcp),返回结构化配置。并非所有模型都能任意担任三个角色——例如o1、o3-mini、o1-pro、gpt-4o-mini等模型在 JSON 中allowed_roles仅含main,不可用作 research 或 fallback。
如何解读 SWE Score 与 Token 成本
SWE Score 是文档中最直观的选型依据,但需结合角色与场景解读:
- 分数最高的头部模型:
gpt-5.2-codex(0.82)、gpt-5.2-pro(0.82)、claude-opus-4-5(0.809)代表当前目录中的最强代码能力梯队,适合作为 main 模型处理复杂任务拆解; - 性价比之选:
claude-haiku-4-5(0.733,输入 $1 / 输出 $5)、gpt-5.1(0.76,输入 $1.25 / 输出 $10)、llama-3.1-8b-instant(0.32,输入 $0.05 / 输出 $0.08)适合成本敏感场景或 research 角色; - 成本为 0 的条目:
claude-code、codex-cli、gemini-cli、grok-cli、mcp、ollama全部计费为 0——前四者走订阅/OAuth,后两者走本地或 MCP 采样,适合不想为 Token 单独付费的用户; - 本地模型:
ollama下的gpt-oss:120b(0.624)提供了近乎云端模型的 SWE 分数,且完全免费、数据不出本机。
注意:文档中部分条目(如google的gemini-2.5-pro-preview-05-06)价格为—,对应 JSON 中cost_per_1m_tokens: null,表示价格未收录,成本计算会显示 Unknown。
实战一:用 CLI 查看与切换模型
模型管理的入口是task-master models系列命令(TS 侧封装见 apps/cli/src/commands/models 与 model-management.ts):
# 交互式设置模型(创建/修复 .taskmaster/taskmaster.json) task-master models --setup # 列出当前可用模型 task-master models list # 为指定角色设置模型(角色:main / research / fallback) task-master models --set-main claude-opus-4-5 task-master models --set-research sonar-reasoning-pro task-master models --set-fallback claude-3-7-sonnet-20250219 # 设置自定义 Provider 模型 task-master models --set-main gpt-5.2-codex --codex-cli task-master models --set-fallback gpt-5 --codex-cli task-master models --set-main some-model --ollama task-master models --set-main some-model --openrouter在 MCP 场景下(如 VS Code 等客户端)也可通过models工具调用:
task-master models set-main --provider mcp --model claude-3-5-sonnet-20241022 task-master models set-research --provider mcp --model claude-opus-20240229 task-master models list底层setModel(models.js)的判定逻辑值得注意:
- 先按
providerHint+modelId在supported-models.json中精确查找; - 找到则直接采用内置 Provider;找不到时,若 hint 为
openrouter会实时请求 OpenRouter/api/v1/models验证,若为ollama会请求本地http://localhost:11434/api/tags验证(fetchOpenRouterModels、fetchOllamaModels); - 自定义模型设置成功后返回
warning,提示官方未验证、兼容性不保证; - 写配置时会自动同步
maxTokens(来自 JSON 的max_tokens字段)并对不需要 baseURL 的 Provider 清除旧值。
因此:内置模型可直接--set-<role> <model-id>使用;自定义模型必须携带 Provider flag,否则会报MODEL_NOT_FOUND_NO_HINT。
实战二:自定义与本地模型接入
对于表中未列出的模型,文档的 Unsupported Models 表给出了边界示例:OpenRouter 的:free免费模型(如deepseek/deepseek-chat-v3-0324:free)被明确禁止,理由是"严重的速率限制、缺乏工具调用支持及其他可靠性问题,不适合生产使用"。但付费版deepseek/deepseek-chat-v3-0324本身是支持的(JSON 中supported: true)。
接入手册:
- OpenRouter 自定义模型:
task-master models --set-main <id> --openrouter,需提供 OpenRouter API Key; - Ollama 本地模型:
task-master models --set-main qwen3:32b --ollama,默认连http://localhost:11434/api,可通过--baseURL或配置global.ollamaBaseURL修改; - Azure:
--azure要求提供 baseURL(可从配置global.azureBaseURL读取),否则报错; - LM Studio:
--lmstudio默认连http://localhost:1234/v1; - OpenAI 兼容端点:
--openai-compatible必须提供baseURL; - Bedrock / Vertex:
--bedrock、--vertex直接以自定义 ID 设置,不做运行时校验,需自行确保模型在云账户中可用。
配置文件位于项目根目录.taskmaster/taskmaster.json(旧版为taskmaster.config.json),手工编辑需遵循如下结构(见 configuration.md):
{ "models": { "main": { "provider": "anthropic", "modelId": "claude-opus-4-5", "maxTokens": 32000, "temperature": 0.2 }, "research": { "provider": "perplexity", "modelId": "sonar-reasoning-pro", "maxTokens": 8700, "temperature": 0.1 }, "fallback": { "provider": "anthropic", "modelId": "claude-3-7-sonnet-20250219", "maxTokens": 120000, "temperature": 0.2 } } }若配置文件缺失或损坏,Task Master 会报错提示运行task-master init或task-master models --setup重建。
当前模型目录中的重点型号(截至 2026-01-15)
基于docs/models.md三张表与supported-models.json的交叉核对,几个值得重点关注的型号:
| 型号 | Provider | 定位 | 备注 |
|---|---|---|---|
| claude-opus-4-5 | anthropic | main 旗舰 | SWE 0.809,输入 $5 / 输出 $25,性价比优于 opus-4 系列 |
| claude-sonnet-4-5 | anthropic | main 均衡 | SWE 0.772,输入 $3 / 输出 $15 |
| claude-haiku-4-5 | anthropic | fallback 轻量 | SWE 0.733,输入 $1 / 输出 $5,max_tokens达 200000 |
| gpt-5.2-codex | codex-cli | 代码任务主力 | SWE 0.82,走 OAuth 订阅不计费 |
| gpt-5.2 / gpt-5.2-pro | openai | API 直连旗舰 | SWE 0.80 / 0.82,pro 版输入 $21 / 输出 $168 |
| gemini-3-pro-preview | google / gemini-cli | 多模态长上下文 | SWE 0.762,max_tokens达 1000000 |
| gpt-oss:120b | ollama | 本地免费首选 | SWE 0.624,数据不出本机 |
| sonar-reasoning-pro | perplexity | research 主力 | SWE 0.211,同时支持 main / research / fallback |
| glm-4.6 | zai | 中文场景 | SWE 0.68,输入 $0.6 / 输出 $2.2 |
选型建议与限制说明
- 以角色定模型:main 选 SWE 高分旗舰(opus-4-5 / gpt-5.2 系列 / sonnet-4-5);research 选搜索增强模型(sonar 系列、search-preview 系列);fallback 选成本低、稳定性高的模型(haiku-4-5、gpt-5.1 等);
- 注意
allowed_roles约束:gpt-4o-search-preview等仅限 research,o1、o1-pro等仅限 main,强行配置到不允许的角色会失败; - 模型 ID 必须精确匹配:文档表中的 Model Name 即配置中的
modelId,例如 Bedrock 模型必须使用us.anthropic.claude-sonnet-4-20250514-v1:0这种完整 ARN 格式 ID; - 自定义模型需自担风险:官方只对内置列表保证兼容,自定义 Provider 会收到 warning;OpenRouter 免费模型则被硬性禁止;
- 数据时效:本目录为 2026 年 1 月 15 日的快照,新模型以
supported-models.json与task-master models list的实时输出为准。
如需进一步深入,可阅读 configuration.md(模型相关配置全解)、models.js(设置/校验/API Key 状态实现)以及 model-management.ts(TypeScript 封装层),并结合task-master models --setup完成交互式初始化。
【免费下载链接】claude-task-masterAn AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-task-master
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考