세션 관리
Gemini CLI에는 대화 내역을 자동으로 저장하는 강력한 세션 관리 기능이 포함되어 있습니다. 이를 통해 작업을 중단하고 정확히 중단한 지점에서 다시 시작하거나, 과거 상호 작용을 검토하거나, 대화 기록을 효과적으로 관리할 수 있습니다.
자동 저장
Gemini CLI와 상호 작용할 때마다 세션이 자동으로 저장됩니다. 이것은 수동 개입 없이 백그라운드에서 발생합니다.
- 저장되는 내용: 다음을 포함한 전체 대화 내역:
- 프롬프트와 모델의 응답.
- 모든 도구 실행(입력 및 출력).
- 토큰 사용 통계(입력/출력/캐시 등).
- 에이전트 생각/추론 요약(사용 가능한 경우).
- 위치: 세션은
~/.gemini/tmp/<project_hash>/chats/에 저장됩니다. - 범위: 세션은 프로젝트별로 저장됩니다. 다른 프로젝트로 디렉토리를 전환하면 해당 프로젝트의 세션 기록으로 전환됩니다.
세션 재개
이전 세션을 재개하여 이전 컨텍스트가 복원된 상태로 대화를 계속할 수 있습니다.
명령줄에서
CLI를 시작할 때 --resume (또는 -r) 플래그를 사용할 수 있습니다:
-
최신 세션 재개:
gemini --resume가장 최근 세션을 즉시 로드합니다.
-
인덱스로 재개: 먼저 사용 가능한 세션을 나열한 다음 (세션 나열 참조), 인덱스 번호를 사용하세요:
gemini --resume 1 -
ID로 재개: 전체 세션 UUID를 제공할 수도 있습니다:
gemini --resume a1b2c3d4-e5f6-7890-abcd-ef1234567890
대화형 인터페이스에서
CLI가 실행되는 동안 /resume 슬래시 명령을 사용하여 세션 브라우저를
열 수 있습니다:
/resume그러면 다음과 같은 대화형 인터페이스가 열립니다:
- 탐색: 과거 세션 목록을 스크롤합니다.
- 미리보기: 세션 날짜, 메시지 수, 첫 번째 사용자 프롬프트와 같은 세부 정보를 봅니다.
- 검색:
/를 눌러 검색 모드로 들어가서 ID나 내용으로 세션을 필터링합니다. - 선택:
Enter를 눌러 선택한 세션을 재개합니다.
세션 관리
세션 나열
명령줄에서 현재 프로젝트에 대해 사용 가능한 모든 세션 목록을 보려면:
gemini --list-sessions출력 예시:
Available sessions for this project (3):
1. Fix bug in auth (2 days ago) [a1b2c3d4]
2. Refactor database schema (5 hours ago) [e5f67890]
3. Update documentation (Just now) [abcd1234]세션 삭제
오래되거나 원치 않는 세션을 제거하여 공간을 확보하거나 기록을 정리할 수 있습니다.
명령줄: 인덱스 또는 ID와 함께 --delete-session 플래그를 사용하세요:
gemini --delete-session 2세션 브라우저에서:
/resume명령으로 브라우저를 엽니다.- 삭제하려는 세션으로 이동합니다.
x를 누릅니다.
구성
settings.json 파일에서 Gemini CLI가 세션 기록을 관리하는 방법을 구성할 수 있습니다.
세션 보존
기록이 무한정 커지는 것을 방지하기 위해 자동 정리 정책을 활성화할 수 있습니다.
{
"general": {
"sessionRetention": {
"enabled": true,
"maxAge": "30d", // 30일 동안 세션 보관
"maxCount": 50 // 가장 최근 50개의 세션 보관
}
}
}enabled: (boolean) 세션 정리의 마스터 스위치입니다. 기본값은false입니다.maxAge: (string) 세션을 보관할 기간(예: "24h", "7d", "4w")입니다. 이 기간보다 오래된 세션은 삭제됩니다.maxCount: (number) 보관할 최대 세션 수입니다. 이 수를 초과하는 가장 오래된 세션은 삭제됩니다.minRetention: (string) 최소 보존 기간(안전 제한)입니다. 기본값은"1d"이며; 이 기간보다 최신인 세션은 자동 정리로 삭제되지 않습니다.
세션 제한
컨텍스트 창이 너무 커져 비용이 많이 드는 것을 방지하기 위해 개별 세션의 길이를 제한할 수도 있습니다.
{
"model": {
"maxSessionTurns": 100
}
}-
maxSessionTurns: (number) 단일 세션에서 허용되는 최대 턴 수(사용자 + 모델 교환)입니다. 제한 없음을 설정하려면-1로 설정하세요(기본값).제한 도달 시 동작:
- 대화형 모드: CLI가 정보 메시지를 표시하고 모델에 요청 전송을 중지합니다. 새 세션을 수동으로 시작해야 합니다.
- 비대화형 모드: CLI가 오류와 함께 종료됩니다.