Gemini CLI가 모델 목록을 확인하는 명령을 추가하고, 컨테이너에서 실행할 때 호스트 에디터와 연결되는 기능을 보탰다. 모델 목록을 자동화 도구에서 읽거나 격리된 개발 환경에서 에디터 기능을 쓰려는 개발자는 각각 조회 작업과 IDE 연동을 더 수월하게 할 수 있다.
1. 모델 목록을 터미널과 JSON으로 확인
11월 4일 공개된 이번 버전에서는 gemini models로 모델 정보를 조회한다. gemini models list도 같은 목록을 출력하며, 터미널에서 읽기 쉬운 글이나 다른 프로그램이 처리할 수 있는 JSON을 선택할 수 있다.
JSON은 배열이며 각 항목에 모델 식별자와 표시 이름, 설명, 입력·출력 토큰 한도가 담긴다. 따라서 모델 이름만 확인하는 데 그치지 않고, 뒤이은 스크립트에서 목록을 읽어 선택이나 표시 작업에 활용할 수 있다.
목록 확인은 대화형 화면이나 샌드박스를 초기화하기 전에 끝난다. 파이프, 명령 결과를 다음 프로그램에 넘기는 연결 방식으로 결과를 전달할 때 표준 출력, 프로그램이 기본으로 결과를 내보내는 경로가 인증 정보 갱신 로그로 섞이지 않도록, 비대화형, 사용자 입력을 기다리지 않는 목록 조회에서는 불필요한 인증 갱신도 건너뛴다.
원문의 검증 절차에서 패키지를 빌드한 뒤 실행하는 JSON 출력 예시는 다음과 같다. 별도 조회 명령과 목록 출력용 옵션을 각각 사용하는 방식이다.
node packages/cli/dist/index.js models -o json | jq .
node packages/cli/dist/index.js --list-models -o json | jq .2. 격리된 컨테이너와 호스트 에디터 사이를 중개
기존에는 CLI가 격리된 실행 공간인 컨테이너 샌드박스 안에 있고 에디터는 바깥의 호스트 컴퓨터에 있으면 IDE 연동이 동작하지 않았다. 에디터 확장 기능이 호스트 내부의 연결만 받고 인증 토큰을 요구하는데, 실행기는 그 토큰을 컨테이너에 넘기지 않았기 때문이다.
새 방식에서는 호스트의 CLI 실행기가 인증 정보를 보관한 채 에디터와 통신하고, 컨테이너의 명령 실행 통로와 내부 소켓, 프로그램 간 통신 연결점을 이용해 대화를 중개한다. 네트워크 대신 표준 입출력으로 연결하므로, 컨테이너 네트워크를 별도로 격리하는 gVisor 환경에서도 사용할 수 있도록 설계됐다.
중개자는 샌드박스 세션이 유지되는 동안 동작한다. 에디터 확장 기능과 연결이 끊기면 CLI에 다시 연결을 켜라는 안내가 나오며, 다음 연결 초기화 때 호스트 측에서 에디터를 다시 찾아 연결한다.
3. 에디터 작업은 이어가고 경로 검증은 호스트에 맡긴다
사용자는 VS Code에서 프로젝트를 열고 Gemini CLI 동반 확장 기능을 실행한 뒤, 에디터의 통합 터미널에서 컨테이너 방식으로 CLI를 시작한다. 컨테이너 이미지에는 node가 있어야 하며, 확장 기능은 샌드박스가 시작될 때 실행 중이어야 한다.
연결 후에는 /ide status로 상태를 확인하고, 수정을 요청해 에디터에서 변경 전후 차이를 볼 수 있다. 원문의 검증 절차에서는 에디터에서 수정을 수락하거나 거절한 결과가 CLI에도 전달되는지 확인한다.
개발자는 실행 환경을 컨테이너로 격리하면서도 열린 파일의 문맥 전달과 변경 검토 기능을 이어 쓸 수 있다. 그 대신 호스트 실행기가 통신 중개와 접근 경계 검증을 맡는다. 허용된 도구 요청과 작업 폴더 안의 경로만 통과시키고, 폴더 밖의 파일에 대한 변경 비교 요청은 에디터에 도달하기 전에 거절하는 방식이다.
4. 지원 범위와 확인된 환경
변경 사항은 Docker와 Podman 실행 경로에 적용됐다. 개발자가 변경 제안에 기록한 검증 환경은 리눅스 워크스테이션과 Docker 29.7이며, 일반 Docker 실행과 gVisor용 실행기인 runsc를 사용한 실행을 모두 시험했다. 실제 VS Code 창과 에디터 역할을 대신하는 시험용 프로그램 양쪽에서 연결을 확인했다.
다만 LXC와 Windows 호스트는 이번 구현 범위에서 빠졌고, 변경 전 이미지에서는 중개 연결이 없을 때 이전 안내 문구가 표시될 수 있다. 검증 호스트에서 관리자 권한 없이 실행하는 Podman은 기존 사용자 아이디 매핑, 호스트와 컨테이너의 계정 연결 규칙 문제로 CLI 시작 전에 실패해, 해당 실행 경로는 단위 테스트, 작은 단위로 동작을 확인하는 시험으로만 확인했다.
이번 버전의 핵심은 모델 정보를 자동화에 넘기는 입구를 만들고, 컨테이너의 격리를 유지하며 에디터 작업을 이어갈 연결 통로를 마련한 데 있다.
