掘金 人工智能 16小时前
Google 开源 Gemini CLI:用自然语言操作命令行
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Gemini Cli是一个由Google开发的命令行工具,它通过整合AI技术,使用户能够通过自然语言指令与终端交互,简化操作流程。用户只需用类似“帮我找到所有JavaScript文件并按大小排序”的语句,Gemini Cli即可自动执行相应的命令。该工具采用三层架构设计,包括用户界面(Cli)、AI通信和工具调度(Core)以及具体功能执行(Tools),确保了模块职责分明、安全性高和易于扩展。Gemini Cli支持工具链机制,通过FunctionCall请求执行具体任务,并提供多种内置工具,如文件系统工具、执行工具、Web工具等,极大地丰富了其功能。用户可以通过GitHub、Google博客和Codelabs获取更多关于Gemini Cli的文档和信息。

💡 Gemini Cli 是一款基于 Google 开发的命令行工具,它允许用户通过自然语言指令与终端交互,简化操作流程。用户只需输入指令,例如“帮我找到所有 JavaScript 文件并按大小排序”,Gemini Cli 即可自动执行相应的命令,提高工作效率。

🛠️ Gemini Cli 采用三层架构设计,分别是 Cli、Core 和 Tools。Cli 负责用户界面和交互,Core 负责 AI 通信和工具调度,Tools 则执行具体的功能。这种设计使得模块职责分明,易于扩展,并确保了系统的安全性。

⚙️ Gemini Cli 支持工具链机制,模型通过 FunctionCall 请求工具执行具体任务。Core 接收并触发对应 handler,然后将结果反馈回模型。该工具提供了多种内置工具,包括文件系统工具、执行工具、Web 工具和内存工具等,用户可以根据需求选择使用。

大家好, 这里是 CodeAgent, 今天来简单了解下 Gemini Cli

📌 Gemini Cli 是什么

想象一下,你可以对终端说:"帮我找到所有 JavaScript 文件并按大小排序",然后系统自动执行:

find . -name "*.js" -exec ls -lh {} + | sort -k5 -h

Gemini Cli 就是这样一个工具, 终端操作,并且展示步骤的命令行工具.

安装步骤直接根据:

github.com/google-gemi…

安装完成后, 询问下 "weather about Beijing, China"

同时可以看到, cli 也支持 mcp

📌 架构设计

原文:
github.com/google-gemi…

gemini-cli 做了三层设计

为什么这么设计?

📌 工具链

工具(Tools)API 是Gemini Cli 中一种插件机制,模型通过 FunctionCall 请求工具执行具体任务,Core 接收并触发对应 handler,然后将结果再反馈回模型,实现推理 + 工具执行。

Tools 执行流程如下:

User Prompt   ↓1. Model Request   - 模型根据用户 prompt 和 tool schemas,决定使用某个工具   - 返回一个 FunctionCall,包含 tool 名和参数   ↓2. Core Receives Request   - 核心接收并解析这个 FunctionCall   ↓3. Tool Retrieval   - 在 ToolRegistry 中查找目标工具   ↓4. Parameter Validation   - 调用工具的 validateToolParams() 方法进行参数校验   ↓5. Confirmation (if needed)   - 调用 shouldConfirmExecute() 判断是否需要用户确认   - 如果需要确认:     - Core 把确认详情发回 CLI → CLI 提示用户确认     - 用户选择(如继续、取消)反馈回 Core   ↓6. Execution   - 若参数合法且已确认(或无需确认)   - 调用工具的 execute() 方法,附带 AbortSignal(支持取消)   ↓7. Result Processing   - Core 接收到工具执行返回的 ToolResult   ↓8. Response to Model   - 将 ToolResult 中的 llmContent 打包为 FunctionResponse   - 返回给模型用于后续生成   ↓9. Display to User   - 将 ToolResult 中的 returnDisplay 返回给 CLI   - 呈现给用户查看工具执行的实际效果

同时在 packages/core/src/tools 下也提供了内置的几类 tools

这些工具都继承自 BaseTool,并实现了其特定功能所需的方法。

更多Tools 的可以直达

github.com/google-gemi…

📌 文档

Gemini Cli 的文档都在仓库下,以及 G 家的博客还有codelabs:

github.com/google-gemi…

blog.google/technology/…

codelabs.developers.google.com/codelabs/co…

💬 好了,今天就到这里,周末愉快.

欢迎关注我的公众号 CodeAgent

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Gemini Cli 命令行工具 AI
相关文章