在 Gemini CLI 中集成 Task Master:MCP 配置、会话管理与差异化工作流实战指南
【免费下载链接】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(task-master-ai)是一个可嵌入 Cursor、Lovable、Windsurf、Roo、Gemini CLI 等环境的 AI 任务管理系统。本文聚焦于 Gemini CLI 这一特定入口,讲解如何通过settings.json配置 MCP 服务器、利用 Gemini CLI 内置的会话管理 / Headless 模式 / 搜索接地(Grounding)等专属能力,以及理解它与其他 Agent(如 Claude Code)在命令机制、安全模型、上下文持久化上的本质差异。读完本文,你将能够在 Gemini CLI 中完成 Task Master 的完整接入、模型配置与日常任务驱动开发。
Gemini CLI 集成总览:两份指南文件的分工
在仓库中,Gemini CLI 的接入遵循"通用能力 + 平台特性"的双文件结构:
- assets/AGENTS.md —— 面向所有 AI Agent 的通用指南,包含 Task Master 的核心命令(
init、parse-prd、list、next、set-status等)、任务结构与状态定义、MCP 工具分层说明,是所有 Agent 共用的基础。 - assets/GEMINI.md —— 仅包含 Gemini CLI 专属的功能与集成细节,即本文的主体内容。
这一分工在源码中也有直接体现:仓库的 src/profiles/gemini.js 中定义了gemini这个 profile,其fileMap明确将AGENT.md映射为根目录的AGENTS.md、将GEMINI.md映射为根目录的GEMINI.md,同时设置includeDefaultRules: false,避免把其他编辑器的规则文件混入 Gemini 项目。由 tests/integration/profiles/gemini-init-functionality.test.js 的断言可以看到,这份 profile 被刻意保持为最小实现,且没有任何生命周期钩子函数——Gemini 的集成方式就是"两个自动加载的 Markdown 文件 + 一个 MCP 配置"。
AGENTS.md和GEMINI.md会在每次 Gemini CLI 会话启动时被自动加载,因此将这两份文件置于项目根目录后,无需手动引入即可获得完整的任务管理上下文。
为 Gemini CLI 配置 Task Master MCP 服务器
写入~/.gemini/settings.json
Gemini CLI 使用settings.json(而不是 Claude Code 的.mcp.json)来声明 MCP 服务器。在用户级全局配置中添加如下内容:
{ "mcpServers": { "task-master-ai": { "command": "npx", "args": ["-y", "task-master-ai"] } } }关键点:
- 配置位置:全局配置位于
~/.gemini/settings.json,项目级配置位于项目根目录的.gemini/settings.json。需要团队共享时优先使用项目级配置。 - 运行方式:
npx -y task-master-ai会即时拉取并启动 MCP 服务器,无需预先全局安装 CLI。 - API Key 不在此处配置:Gemini CLI 集成下,API Key 通过
task-master models --setup交互式配置,而不是写在 MCP 配置的环境变量中。
仓库对"Gemini 必须使用settings.json而非mcp.json"这一约束有专门的测试保障:在 tests/unit/profiles/rule-transformer-gemini.test.js 中,断言mcpConfigName为settings.json、mcpConfigPath为.gemini/settings.json;在 tests/unit/profiles/gemini-integration.test.js 中,进一步验证初始化流程只会生成settings.json而不会生成任何mcp.json文件(mcpJsonCalls断言长度为 0)。
MCP 工具分层:按需启用能力
AGENTS.md中说明了 Task Master MCP 服务器的工具分层机制,通过环境变量TASK_MASTER_TOOLS控制暴露的工具范围(默认为core层):
| 分层 | 工具数量 | 涵盖能力 |
|---|---|---|
core | 7 | get_tasks、next_task、get_task、set_task_status、update_subtask、parse_prd、expand_task |
standard | 14 | core +initialize_project、analyze_project_complexity、expand_all、add_subtask、remove_task、add_task、complexity_report |
all | 44+ | standard + 依赖管理、标签、研究(research)、autopilot、范围调整、模型与规则工具 |
在 Gemini CLI 中升级工具范围时,需要在settings.json的env字段中设置TASK_MASTER_TOOLS,然后重启 MCP 连接生效。这些 MCP 工具在对话中与 Gemini CLI 的界面无缝集成,无需额外声明。
Gemini CLI 专属能力:会话、自动化、用量与搜索
Gemini CLI 提供了 Claude Code 所没有的若干内置能力,Task Master 可以充分借用它们来优化任务驱动开发体验。
会话管理(Session Management)
Gemini CLI 内置以下会话命令:
/chat—— 开启新对话,同时保留已有上下文/checkpoint save <name>—— 保存当前会话状态到指定名称/checkpoint load <name>—— 恢复已保存的会话/memory show—— 查看当前已加载的上下文
配合AGENTS.md与GEMINI.md的自动加载机制,每次进入 Gemini CLI 会话即可立即开始 Task Master 工作流:task-master next定位下一个任务 →task-master show <id>查看详情 →set-status推进状态。长会话进行到阶段性里程碑时,用/checkpoint save保存现场,避免上下文漂移。
Headless 模式:面向脚本与自动化
Gemini CLI 支持非交互式(headless)执行,非常适合把任务查询/操作接入 CI 或 shell 脚本:
# 简单文本响应 gemini -p "What's the next task?" # 输出 JSON 便于程序解析 gemini -p "List all pending tasks" --output-format json # 流式事件输出,适合长耗时操作(如 expand) gemini -p "Expand all tasks" --output-format stream-json-p(print)标志提供单次提示词执行;--output-format json可让下游脚本直接消费结构化结果;--output-format stream-json则按事件流输出,适合监听长任务的进度。这与AGENTS.md中"headless 模式用于自动化"的最佳实践一致——只是把claude -p换成了gemini -p。
Token 用量监控
# 在 Gemini CLI 会话中执行 /stats/stats会展示 Token 用量、API 成本与请求次数。对于长时间运行的 Task Master 会话(例如连续expand --all、analyze-complexity --research等 AI 密集操作),建议周期性查看/stats,控制长会话的成本与上下文占用。
Google Search Grounding:内置研究能力
Gemini CLI 自带 Google Search 接地(grounding)能力,可作为 Perplexity 研究模式(--research)之外的备选研究途径,适用于:
- 最佳实践调研(best practices research)
- 第三方库文档查阅(library documentation)
- 安全漏洞检查(security vulnerability checks)
- 实现模式参考(implementation patterns)
在需要研究增强的任务创建与更新场景(add-task --research、update-task --research)中,若未配置 Perplexity API Key,可直接借助 Gemini CLI 的搜索接地完成同类信息收集。
与 Claude Code 等 Agent 的关键差异
在 Gemini CLI 中使用 Task Master,必须理解以下四点平台差异,否则容易踩坑:
1. 不支持自定义斜杠命令
Gemini CLI不支持像 Claude Code 那样的自定义 slash commands(例如.claude/commands/taskmaster-next.md)。因此不要尝试迁移 Claude Code 的 slash 命令文件,改用自然语言表达意图,例如直接说"查找下一个可执行的任务并展示详情"。Task Master 的 MCP 工具会透明地处理底层调用。
2. 没有工具白名单机制
Gemini CLI 的安全控制在 MCP 层管理,而不是通过 Agent 配置文件中的allowedTools白名单。需要限制能力时,应在 MCP 服务器配置层面控制(例如通过TASK_MASTER_TOOLS环境变量选择core/standard/all分层,只暴露必要工具)。
3. 用/checkpoint而非 git worktree 管理多上下文
Claude Code 工作流推荐用 git worktree 隔离多个并行开发上下文;Gemini CLI 则使用内置的/checkpoint机制管理多个工作上下文。对于并行任务,可以在不同 checkpoint 间切换,而非创建多个 worktree。
4. 配置文件位置不同
| 用途 | 文件路径 | 说明 |
|---|---|---|
| MCP 服务器配置 | ~/.gemini/settings.json(全局)或.gemini/settings.json(项目级) | 不是.mcp.json,后者仅用于 Claude Code |
| Agent 指南 | 项目根目录AGENTS.md+GEMINI.md | 两者每次会话自动加载 |
推荐的模型配置
基于 MCP 方式(GEMINI.md 推荐路径)
在AGENTS.md提供的通用models命令基础上,为 Gemini CLI 用户推荐如下配置:
# 将 Gemini 设为主模型 task-master models --set-main gemini-2.0-flash-exp task-master models --set-fallback gemini-1.5-flash # 可选:研究角色使用 Perplexity(或依赖 Gemini CLI 内置 Google Search) task-master models --set-research perplexity-llama-3.1-sonar-large-128k-onlinemodels命令支持三种角色:--set-main(主模型)、--set-fallback(降级备用模型)、--set-research(研究增强模型)。API Key 统一通过task-master models --setup交互式配置。
基于 gemini-cli provider 的方式(进阶)
除了让 Gemini CLI 通过 MCP 调用 Task Master,仓库还提供了将Gemini CLI 本身作为 Task Master 的 LLM provider的路径(详见 docs/providers/gemini-cli.md)。这种方式利用你已有的 Gemini Code Assist 订阅与 OAuth 认证,无需管理 API Key:
# 安装 Gemini CLI npm install -g @google/gemini-cli # 先运行 gemini 完成 OAuth 登录(选择 Login with Google) gemini # 将 gemini-cli 设为主 provider task-master models --set-main gemini-2.5-pro --gemini-cli对应的.taskmaster/config.json示例(main / research / fallback 三角色):
{ "models": { "main": { "provider": "gemini-cli", "modelId": "gemini-2.5-pro", "maxTokens": 65536, "temperature": 0.2 }, "research": { "provider": "gemini-cli", "modelId": "gemini-2.5-pro", "maxTokens": 65536, "temperature": 0.1 }, "fallback": { "provider": "gemini-cli", "modelId": "gemini-2.5-flash", "maxTokens": 65536, "temperature": 0.2 } } }需要说明的是,gemini-cliprovider 目前仅支持有限模型集(如gemini-3-pro-preview、gemini-2.5-pro、gemini-2.5-flash),如需其他 Gemini 模型应改用标准googleprovider 配合 API Key。自 ai-sdk-provider-gemini-cli v1.4.0 起,该 provider 支持通过responseJsonSchema实现原生结构化输出,parse-prd、expand、add-task、update-task、analyze-complexity等命令可直接获得 schema 合规的 JSON,无需事后文本抽取(要求 Node.js 20+)。
作为 Gemini CLI 助手使用 Task Master 的五个实践原则
GEMINI.md给出了 Gemini CLI 助手的角色定位,核心原则是"保持自然对话"——Task Master MCP 工具与 Gemini CLI 界面无缝协作,不需要刻意的命令式操作:
- 自然地使用 MCP 工具:
get_tasks、next_task、parse_prd等工具透明地融入对话,用户以自然语言表达需求即可。 - 用
@引用文件:充分利用 Gemini CLI 的文件包含(file inclusion)能力,用@引入 PRD、任务文件或实现说明,让上下文更完整。 - 阶段性保存 checkpoint:在取得显著进展(如完成一批任务、expand 完成)后主动建议
/checkpoint save,保留可回退的工作现场。 - 监控用量:长会话中适时提醒用户使用
/stats查看 token 消耗与成本。 - 善用 Google Search:需要研究或核对资料时,利用 Gemini CLI 的搜索接地,而不是强依赖外部研究模型。
小结
Gemini CLI 与 Task Master 的组合,本质上是"Gemini 的原生会话/搜索能力 + Task Master 的任务管理 MCP 工具"的协作:settings.json一处配置即可接入全部任务能力;/chat、/checkpoint、/stats与 Google Search 接地为任务驱动开发提供了 Claude Code 所没有的会话与检索体验;而"无 slash 命令、无工具白名单、settings.json替代.mcp.json"三大差异则要求使用者调整既有习惯。仓库中的 src/profiles/gemini.js 与配套测试 tests/unit/profiles/gemini-integration.test.js 完整佐证了这套集成规范的实现细节,可作为排障与深入阅读的起点。
【免费下载链接】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),仅供参考