在 Gemini CLI 中体验全新的互动体验

2025年10月15日
Gal Zahavi Software Engineer
Jack Wotherspoon Developer Advocate

我们很高兴宣布 Gemini CLI 已获得增强,可以使您的工作流功能更强大,体验更熟悉。终端现已升级,您可以直接在 Gemini CLI 中运行复杂的交互式命令,例如用于编辑的 vim、用于监控的 top,甚至是交互式 git rebase -i。您不再需要跳转到单独的终端或处理因为交互式命令而“挂起”的智能体 CLI,而是可以直接在当前位置执行一切操作。

在上下文内运行一切

这很重要,因为现在一切都在 Gemini CLI 的上下文中运行。以前,您必须退出 Gemini CLI 才能运行交互式 shell 命令。更重要的是,这些命令在 Gemini CLI 的上下文之外运行。通过引入伪终端 (PTY) 支持,需要丰富功能(如文本编辑器、系统监视器或依赖终端控制代码)的命令现在都可以在 Gemini CLI 及其上下文中运行。

工作原理:将终端状态序列化

现在,当您运行 shell 命令时,Gemini CLI 会利用 node-pty 库在后台的伪终端中生成一个新进程。PTY 充当中介,为使操作系统将会话识别为终端提供必要的接口。这可以让应用和命令按照原本设计的方式运行。

那么,这个在后台运行的虚拟终端如何在屏幕上显示呢?您可以把它想象成一个视频流。我们的新序列化器每时每刻都会拍摄伪终端的快照:捕获每段文本、每种颜色,甚至光标的位置。随后系统会将这些快照传输给您,让您能够实时查看终端应用并与之交互。这不仅仅是文本流,而是实时 Feed

Gemini CLI - interactive shell

完全双向的互动

这种新架构可实现双向通信。我们添加了向终端写入输入,甚至可以实时调整其大小的新功能。当您键入时,按键操作将被发送到正在运行的进程;当您调整窗口大小时,Gemini shell 中的应用将调整其布局,就像在本机终端中一样。您可以通过按 CTRL + F 来聚焦终端。

我们还改进了输出处理,以便正确渲染彩色终端输出,因此您可以尽情享受最喜爱的命令行工具的强大功能。

交互式 shell 入门指南

v0.9.0 开始,新的交互式 shell 将在 Gemini CLI 中默认启用。

使用以下命令升级到最新版本:

npm install -g @google/gemini-cli@latest

如需了解更多信息,请参阅官方 Gemini CLI 文档

以下是几个现在可以使用交互式 shell 运行的命令类型示例:

  • 使用 vim、nvim 或 nano 编辑代码。
  • 使用交互式 git 命令管理您的提交。
  • 为您最喜欢的语言使用交互式 REPL。
  • 运行全屏终端应用,如 htop 或 mc。
  • 轻松完成 npm init 或 ng new 等交互式设置脚本的交互过程。
  • 响应某些 gcloud 命令的交互式提示。

这是 shell 集成的重要一步,我们正在积极努力改进所有平台的输入处理。如果您遇到任何不一致之处,欢迎在我们的 GitHub 存储库上分享反馈。

试用这个版本,并告诉我们您的想法!