OpenCode 문제 해결

OpenCode 세션은 어디에 저장될까? 백업과 정리를 위한 5가지 점검

OpenCode 세션은 프로젝트와 연결된 로컬 기록으로 보는 것이 안전합니다. 복사, 삭제, 공유 전에 데이터 디렉터리와 프로젝트별 세션 폴더를 확인하고 민감한 정보가 들어 있는지 점검해야 합니다.

빠른 답: OpenCode 공식 문서는 사용자 데이터 영역 안의 프로젝트별 세션 저장 패턴을 안내합니다. Unix 계열 환경에서는 ~/.local/share/opencode/project/{project}/storage/session 같은 형태일 수 있지만, 실제 위치는 OS, WSL, 컨테이너, 원격 환경에 따라 달라집니다.

빠른 답: 세션 폴더는 로컬이며 프로젝트별로 나뉜다

이 검색은 보통 과거 대화를 복구하거나, 다른 장비로 옮기거나, 디스크 사용량을 확인하거나, 민감한 정보가 남았는지 확인하려는 상황에서 발생합니다. OpenCode 세션은 공개 로그가 아니라 프로젝트의 사적인 작업 기록으로 다뤄야 합니다.

공식 문서의 경로는 출발점입니다. 하지만 WSL, Docker, SSH, Dev Container, 원격 서버에서는 호스트 OS와 다른 데이터 디렉터리를 사용할 수 있습니다.

세션 기록, 프로젝트 설정, provider 인증정보는 서로 다릅니다. 세션을 백업한다고 API key 관리가 끝나는 것도 아니고, 설정 파일만 복사한다고 대화 기록이 항상 이동되는 것도 아닙니다.

OpenCode 세션 파일을 보호된 로컬 프로젝트 폴더로 표현한 그림
세션 기록은 로컬 프로젝트 맥락이므로 먼저 올바른 저장 폴더를 확인해야 합니다.

복사나 삭제 전에 확인할 5가지

먼저 세션을 만든 같은 저장소로 돌아갑니다. 그 다음 OpenCode가 실제 사용하는 데이터 디렉터리를 확인하고, 프로젝트에 해당하는 폴더를 찾고, 수정 시간을 확인한 뒤 전체 세션 폴더를 개인 백업 위치로 복사합니다.

경로가 애매하면 버려도 되는 테스트 프로젝트에서 짧은 세션을 만들고 어떤 파일이 바뀌는지 보세요. 실제 프로젝트를 건드리지 않고 저장 규칙을 확인할 수 있습니다.

눈에 보이는 JSON 하나만 복사하지 마세요. 주변 메타데이터나 인덱스가 히스토리 복원에 필요할 수 있습니다.

어떤 세션 작업을 해결하려는지 먼저 구분하기

세션 기록, 프로젝트 설정, provider 연결은 서로 다른 작업입니다. 먼저 찾기, 복사, 복원, 정리, 공유 중 무엇이 목표인지 나누어 판단하세요.

상황권장 작업이유
session 폴더를 찾아야 함실행 환경과 프로젝트 데이터 경로를 확인호스트 OS, WSL, 컨테이너, SSH, 프로젝트 slug에 따라 달라질 수 있음
opencode.json을 찾고 있음설정 가이드를 먼저 확인설정과 세션 기록은 다른 데이터임
provider 연결을 점검하려는 상황인증정보, 모델, provider 설정을 먼저 점검연결 실패는 session 저장보다 설정 문제인 경우가 많음
다른 기기로 기록을 옮기려고 함대상 프로젝트를 한 번 열고 개인 백업을 복원먼저 목적지 구조를 만들면 경로와 버전 문제를 줄일 수 있음
session 파일을 공유하려고 함요약이나 최소 재현을 우선원본에 prompt, 경로, 코드, 터미널 출력, 비밀값이 들어갈 수 있음

OpenCode 세션을 안전하게 백업하거나 옮기는 방법

복사 전 OpenCode를 닫아 쓰기 중인 파일을 피하세요. 세션 폴더는 Git 저장소 밖의 개인 위치, 가능하면 암호화된 저장소에 보관합니다.

새 장비로 옮길 때는 먼저 OpenCode를 설치하고 대상 프로젝트를 한 번 열어 기본 폴더를 생성합니다. 그런 다음 복사본을 복원하고 히스토리가 표시되는지 확인합니다.

팀에 공유할 때는 원본 세션 파일보다 기술 요약이 더 안전합니다. 요약은 결론을 전달하면서 로컬 경로, 내부 코드, 터미널 출력 노출을 줄입니다.

OpenCode 세션 위치 확인 백업 복원을 위한 세 단계 흐름
백업은 폴더 확인, 개인 보관, 대상 프로젝트 생성 후 복원 순서가 안전합니다.

공유나 정리 전 개인정보 점검

세션에는 프롬프트, 파일 경로, 명령 출력, 오류, 코드 조각, 모델 응답이 포함될 수 있습니다. 공유 전 API key, token, 내부 도메인, 고객 식별자, 환경 변수를 검색하세요.

버그 제보가 목적이면 실제 업무 프로젝트의 긴 세션을 지우는 것보다 최소 재현 프로젝트에서 새 세션을 만드는 편이 안전합니다.

오래된 세션 삭제는 디스크와 노출 위험을 줄입니다. 다만 감사, 인수인계, 디버깅에 필요할 수 있으면 먼저 개인 백업을 남깁니다.

공유 전 OpenCode 세션 파일 개인정보 점검 그림
공유 전 token, 경로, 명령 출력, 개인 코드를 점검하세요.

예상 폴더가 비어 있을 때

실행 환경, 사용자 계정, 프로젝트 이름, OpenCode 버전을 확인하세요. 세션은 WSL, SSH, 컨테이너, 원격 장비 또는 다른 사용자에서 만들어졌을 수 있습니다.

저장소 경로를 옮긴 경우 예전 세션은 남아 있어도 현재 프로젝트와 자동 연결되지 않을 수 있습니다. 후보 폴더를 복사한 뒤 타임스탬프와 구조를 확인하세요.

중요한 히스토리를 찾는 동안 불필요한 새 세션 생성을 줄이세요. 수정 시간 단서가 바뀔 수 있습니다.

정리: 세션은 사적인 프로젝트 기록이다

안전한 순서는 찾기, 백업, 점검, 정리입니다. Git에 넣지 말고 팀의 AI 코딩 도구 운영 문서에 이 규칙을 남기면 같은 문제가 반복되지 않습니다.

OpenCode 세션 저장 FAQ

OpenCode 세션은 어디에 저장되나요?

OpenCode의 로컬 데이터 영역에 보통 프로젝트별로 저장됩니다. 실제 경로는 실행 환경에서 확인하세요.

오래된 세션을 삭제해도 되나요?

필요 없는 히스토리라면 가능합니다. 단, OpenCode를 닫고 중요한 내용은 먼저 개인 백업을 만드세요.

세션 파일을 Git에 커밋해도 되나요?

아니요. 프롬프트, 코드, 경로, 터미널 출력이 포함될 수 있습니다.

폴더를 못 찾는 이유는 무엇인가요?

WSL, SSH, 컨테이너, 다른 사용자 환경에서 실행했을 수 있습니다.

다른 장비로 옮길 수 있나요?

대체로 가능하지만 대상 장비에서 기본 폴더를 만든 뒤 복원하고 표시 여부를 확인해야 합니다.

Sources

Use official documentation for current path examples and third-party session readers only as supporting context.