Gemini CLI에서 만나는 새로운 차원의 상호작용

2025년 10월 15일
Gal Zahavi Software Engineer
Jack Wotherspoon Developer Advocate

워크플로를 더욱 강력하고 친숙하게 만들어주는 Gemini CLI의 향상된 기능을 소개하게 되어 기쁩니다. 터미널을 업그레이드하여 편집용 vim, 모니터링용 top, 대화형 git rebase -i 같은 복잡한 대화형 명령을 Gemini CLI 내에서 직접 실행할 수 있도록 했습니다. 더 이상 별도의 터미널로 이동하거나 대화형 명령을 '중지'하는 에이전트 CLI를 사용할 필요가 없습니다. 모든 것이 현재 위치그대로 유지됩니다.

모든 것을 컨텍스트에 맞추기

이제 모든 작업이 Gemini CLI의 컨텍스트 내에서 이루어지기 때문에 하나의 컨텍스트 안에 유지하는 것이 중요합니다. 이전에는 대화형 셸 명령을 실행하려면 Gemini CLI를 종료해야 했습니다. 더 중요한 것은 이런 명령이 Gemini CLI의 컨텍스트 밖에서 실행되고 있었다는 점입니다. 유사 터미널(PTY) 지원을 도입함으로써 텍스트 편집기, 시스템 모니터, 터미널 제어 코드에 대한 의존 같은 고급 기능이 필요한 명령도 이제는 모두 Gemini CLI 내부에서, 그리고 해당 컨텍스트 안에서 실행할 수 있게 되었습니다.

작동 방식: 터미널 상태 직렬화

이제 셸 명령을 실행하면 Gemini CLI는 백그라운드에서 node-pty 라이브러리를 활용해 가상 터미널 내에서 새 프로세스를 생성합니다. PTY는 중개자 역할을 하며, 운영체제가 세션을 터미널로 인식하는 데 필요한 인터페이스를 제공합니다. 이를 통해 애플리케이션과 명령을 자연스럽게 설계된 대로 실행할 수 있습니다.

그러면 백그라운드에서 실행되는 이 가상 터미널은 화면에 어떻게 표시될까요? 동영상 스트림이라고 생각하시면 됩니다. Google의 새로운 직렬 변환기는 가상 터미널의 모든 순간을 스냅샷으로 저장합니다. 모든 텍스트, 모든 색, 심지어 커서의 위치까지도 빼놓지 않고 포착합니다. 그런 다음 이러한 스냅샷이 개발자에게 스트리밍되어 실시간으로 터미널 애플리케이션을 보고 상호작용할 수 있도록 합니다. 이는 단순한 텍스트 스트림이 아니라 실시간 피드인 것입니다.

Gemini CLI - interactive shell

완전한 양방향 상호작용

이 새로운 아키텍처를 통해 양방향 통신을 할 수 있습니다. 터미널에 입력을 전달하는 기능과 실행 중에도 크기를 조정할 수 있는 새로운 기능이 추가되었습니다. 키를 입력하면 해당 키 입력이 실행 중인 프로세스로 전송되고, 창 크기를 조정하면 네이티브 터미널과 마찬가지로 Gemini 셸 내부의 애플리케이션이 자동으로 레이아웃을 조정합니다. Ctrl + F 키를 눌러 터미널에 포커스를 맞출 수 있습니다.

또한 다채로운 터미널 출력을 올바르게 렌더링할 수 있도록 출력 처리도 개선했으므로 선호하는 명령줄 도구를 최상의 환경에서 활용할 수 있습니다.

대화형 셸 시작하기

새로운 대화형 셸은 Gemini CLI v0.9.0부터 기본으로 활성화됩니다.

다음 명령을 사용하여 최신 버전으로 업그레이드하세요.

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

자세한 내용은 공식 Gemini CLI 설명서를 참조하세요.

다음은 대화형 셸로 실행할 수 있는 명령 유형의 몇 가지 예입니다.

  • vim, nvim 또는 nano로 코드를 편집합니다.
  • 대화형 git 명령으로 커밋을 관리합니다.
  • 선호하는 언어에 대화형 REPL을 사용합니다.
  • htop 또는 mc와 같은 전체 화면 터미널 애플리케이션을 실행합니다.
  • npm init 또는 ng new와 같은 대화형 설정 스크립트를 쉽게 탐색합니다.
  • 특정 gcloud 명령에 대한 대화형 프롬프트에 응답합니다.

이것은 셸 통합의 주요 단계이며 저희는 모든 플랫폼에서 입력 처리를 개선하기 위해 적극적으로 노력하고 있습니다. 불일치 사항을 발견하시는 경우 GitHub 저장소에 의견을 공유해 주시기 바랍니다.

사용해 보시고 여러분의 의견을 들려주십시오!