Gemini CLI 迎来一项重大更新,显著提升了您的工作流效率。现在,您可以直接在 Gemini CLI 内部运行复杂的交互式命令,例如使用 vim
编辑文件、通过 top
监控系统,甚至执行 git rebase -i
等操作。您无需再切换到独立的终端,也告别了因交互式命令而“卡住”的窘境。
将一切保留在上下文中
这一改进的核心优势在于,所有操作都将在 Gemini CLI 的上下文中进行。以往,运行交互式 shell 命令需要退出 Gemini CLI,这会导致命令在 Gemini CLI 的上下文之外执行,从而丢失会话信息。
通过引入伪终端(Pseudo-Terminal, PTY)支持,那些需要丰富终端功能的应用——如文本编辑器、系统监视器或依赖终端控制码的工具——现在都可以在 Gemini CLI 内部及其上下文中无缝运行。
工作原理:序列化终端状态
当您执行 shell 命令时,Gemini CLI 会借助 node-pty
库,在后台的一个伪终端内启动一个新进程。PTY 充当中间层,为操作系统提供必要的接口,使其将该会话识别为一个终端。这使得各种应用程序和命令能以其原生设计的方式运行。
实时状态流
那么,这个在后台运行的虚拟终端是如何呈现在您屏幕上的呢?可以将其想象成一个视频流。我们全新的序列化器会实时捕捉伪终端的每一个快照——包括所有文本、颜色,甚至是光标位置。这些快照以流的形式传输给您,让您能够实时查看并与终端应用交互。这不仅仅是文本流,而是动态的实时画面。
完整的双向交互
新架构实现了完整的双向通信。我们增加了向终端写入输入甚至动态调整其大小的功能。您的键盘输入会被发送到正在运行的进程中;当您调整窗口大小时,Gemini shell 内的应用程序也会像在原生终端中一样自适应布局。
您可以使用 ctrl+f
组合键聚焦于终端。同时,我们还改进了输出处理,能够正确渲染彩色的终端输出,让您尽情享受心爱命令行工具的完整体验。
如何开始使用
自 v0.9.0
版本起,新的交互式 shell 已默认启用。您可以通过以下命令升级到最新版本:
npm install -g @google/gemini-cli@latest
如需更多信息,请参阅 Gemini CLI 的官方文档。
应用场景示例
以下是您现在可以在交互式 shell 中运行的部分命令类型:
- 使用
vim
、nvim
或nano
编辑代码。 - 通过交互式 Git 命令(如
git rebase -i
)管理提交。 - 运行您偏爱语言的交互式 REPL 环境。
- 执行
htop
或mc
等全屏终端应用。 - 轻松导航
npm init
或ng new
等交互式设置脚本。 - 响应特定
gcloud
命令的交互式提示。
展望与反馈
这是我们 shell 集成迈出的重要一步。我们正积极优化跨平台的输入处理。如果您在使用过程中遇到任何问题或不一致的情况,欢迎在我们的 GitHub 仓库中分享您的反馈。
👉 如果你需要 ChatGPT 代充 / Claude / Claude Code / 镜像 / 中转 API:
- 购买 / 了解更多:ai4.plus
- 备用入口:kk4099.com