# CLI 智能工具指南 Gemini CLI 能够集成多种智能工具(如大型语言模型 LLM),以增强您的开发工作流。本指南将帮助您理解这些智能工具如何工作,以及如何有效地利用它们。 ## 1. 什么是智能工具? 智能工具是集成到 Gemini CLI 中的高级 AI 模型,它们能够理解自然语言、分析代码、生成文本和代码,并协助完成复杂的开发任务。它们就像您的智能助手,可以自动化重复性工作,提供洞察,并帮助您做出更好的决策。 ## 2. 核心工作原理 Gemini CLI 中的智能工具遵循以下核心原则: - **上下文感知**: 工具会理解您当前的项目状态、代码内容和开发意图,从而提供更相关的建议和操作。这意味着它们不会“凭空”回答问题,而是基于您的实际工作环境提供帮助。 - **模块化**: 智能工具被设计为可互换的后端。您可以根据任务需求选择或组合不同的 LLM。例如,某些模型可能擅长代码生成,而另一些则擅长复杂推理。 - **自动化与增强**: 智能工具可以自动化重复或复杂的任务(如生成样板代码、基础重构、测试脚手架),并通过提供智能建议、解释和问题解决协助来增强您的开发能力。 - **用户控制与透明**: 您始终对工具的操作拥有最终控制权。工具会清晰地解释其建议的更改,并允许您轻松审查和修改。工具的选择和执行过程也是透明的。 详情可参考 `../../workflows/intelligent-tools-strategy.md`。 ## 3. 智能工具的应用场景 智能工具被集成到 CLI 工作流的多个关键点,以提供全面的帮助: - **提示增强**: 优化您的输入提示,使智能工具更好地理解您的需求。 - **命令**: `enhance-prompt` - **代码分析与审查**: 快速洞察代码,识别潜在问题,并提出改进建议。 - **命令**: `analyze`, `chat`, `code-analysis`, `bug-diagnosis` - **规划与任务分解**: 协助将复杂问题分解为可管理的小任务,并生成实施计划。 - **命令**: `plan`, `discuss-plan`, `breakdown` - **代码生成与实现**: 根据您的规范生成代码片段、函数、测试甚至整个模块。 - **命令**: `execute`, `create`, `codex-execute` - **测试与调试**: 生成测试用例,诊断错误,并建议修复方案。 - **命令**: `test-gen`, `test-fix-gen`, `tdd-plan`, `tdd-verify` - **文档生成**: 自动化代码、API 和项目模块的文档创建。 - **命令**: `docs`, `skill-memory`, `update-full`, `update-related` - **工作流编排**: 智能选择和协调工具与代理来执行复杂的工作流。 - **命令**: `workflow:status`, `resume`, `plan`, `execute` (工作流级别) ## 4. 如何选择和使用工具 Gemini CLI 允许您使用 `--tool` 标志来指定用于特定操作的智能工具。这为您提供了灵活性,可以根据任务的性质选择最合适的模型。 - `--tool codex`: 优先使用 Codex(或兼容的专注于代码的 LLM)。非常适合精确的代码生成、重构和类似 linting 的任务。 - **何时使用**: 当您需要生成高质量代码、进行代码审查或修复代码错误时。 - `--tool gemini`: 优先使用 Gemini(或兼容的通用 LLM)。擅长复杂的推理、更广泛的分析、规划和自然语言理解任务。 - **何时使用**: 当您需要进行高层次的规划、理解复杂概念或进行广泛的代码库分析时。 - `--tool qwen`: 优先使用 Qwen(或兼容的特定领域/语言 LLM)。适用于需要专业知识或特定语言支持的任务。 - **何时使用**: 当您的项目涉及特定技术栈或需要特定语言的专业知识时。 - **(默认/自动)**: 如果未指定工具,CLI 会根据任务上下文和可用配置智能地选择最合适的工具。 **示例**: ```bash # 使用 Gemini 进行项目规划 gemini plan --tool gemini "设计一个新的微服务架构" # 使用 Codex 生成代码 gemini execute --tool codex "task-id-for-code-generation" # 使用 Qwen 分析特定领域的代码 gemini analyze --tool qwen "分析医疗数据处理模块" ``` 通过理解这些智能工具及其用法,您可以更有效地利用 Gemini CLI,加速您的开发过程。