OpenBot Desktop이 사용자의 기존 실행 환경을 덜 건드리고 업데이트 중 데이터 삭제 위험을 줄이는 새 시험판을 내놨다. 개인 컴퓨터에서 앱을 쓰는 사용자는 앱 전용 실행 공간과 미리 내려받는 업데이트를 통해 설치와 갱신을 관리하게 된다.

CopilotKit이 11월 11일 공개한 버전은 1.0.2-rc.3이다. 핵심은 앱을 돌리는 공간을 분리하고, 오래된 실행 도구를 자동 갱신하며, 새 버전을 설치할 때 봇과 대화를 보존하는 것이다.

1. OpenBot 전용 머신에서 실행

Podman 머신은 컨테이너를 돌리는 별도 실행 공간이다. 아래 명령으로 만들면 머신 안에서 관리자 권한 없이 실행하는 rootless 방식이 된다. 기존 OpenBot은 관리자 권한이 필요한 로컬 백엔드, 앱의 기능 처리를 맡는 구성요소를 여기서 실행하려다 설정 변경 화면에서 멈추는 문제가 있었다.

podman machine init

새 버전은 머신 안에서 관리자 권한으로 실행하는 rootful 방식의 전용 머신을 사용한다. Windows에서는 사용자 머신과 나란히 실행하며, Mac에서는 사용자 머신이 rootless일 때 전용 머신을 쓴다. Mac의 기존 rootful 머신이나 Docker는 종전대로 사용한다.

전용 머신 이름은 openbot이다. Windows에서는 Docker 도구가 엔진에 접속하는 기본 통로인 docker_engine을 차지하지 않는다. 사용자의 기본 Podman 연결도 바꾸지 않아, 앱을 설치해도 기존 도구의 연결 대상을 유지한다.

2. 오래된 엔진은 실행 전에 갱신

설치 때와 앱을 시작할 때 엔진 버전을 확인하고 실행 기준보다 낮으면 갱신한다. 릴리스 노트상 Docker Compose는 2.27.2 미만이 대상이며, 이에 대응하는 Docker Desktop 기준은 4.32 미만이다.

Podman은 6.1 미만이면 갱신한다. Docker Desktop 4.27에서는 설정은 끝나도 시작 단계에서 Compose 오류로 멈추는 사례가 있었다. 새 버전은 컨테이너 실행 구성을 읽는 Compose가 작업하기 전에 엔진을 검사해 이 문제를 다룬다.

Docker Desktop은 Docker의 업데이트 경로에서 받아 체크섬, 파일 변경 여부를 판별하는 값과 서명, 배포자와 파일의 출처를 증명하는 정보를 확인한 뒤 기존 설치 위에 갱신한다. 이미지와 컨테이너, 데이터를 저장하는 볼륨, 컨테이너 밖에 데이터를 보관하는 공간은 보존한다. Podman은 OpenBot이 고정한 설치 파일로 갱신하며, 기존에 실행 중이던 사용자 머신과 컨테이너도 갱신 후 다시 실행한다.

3. 다운로드를 앞당기고 앱 데이터는 남긴다

기존에는 설치를 누른 뒤 필요한 파일을 차례로 받았다. 새 버전은 첫 화면부터 엔진 이미지와 Podman 설치 파일, 배포 파일, 앱 설치에 필요한 파일 묶음과 앱 소프트웨어를 함께 내려받는다. 로그인과 권한 승인 중에도 준비를 진행하는 방식이다.

회사 발표 기준 신규 Mac 설치 예시의 엔진 이미지는 937 MB였고, 기본 봇용 소프트웨어는 약 1.1 GB다. 중단된 다운로드는 다음 실행 때 이어받으며, 사용 전에는 파일의 무결성 확인값을 미리 지정한 값과 대조한다.

새 버전이 나오면 사용 중인 봇의 구성 요소와 바뀐 백엔드도 백그라운드에서 미리 받는다. 준비가 끝나면 사용자가 업데이트를 시작하고, 앱은 정지·백업·새 버전 적용·재시작 순서로 진행한다. 자동 사전 다운로드는 디스크 여유가 있을 때 작동하며, 후보판, 정식 공개 전 검증용 버전과 내부 빌드, 외부 공개 전 내부에서 만든 버전은 대상에서 제외된다.

Windows에서 기존 버전 위에 새 설치 파일을 실행할 때는 이전 제거 프로그램의 데이터 삭제 확인 창을 거치지 않고 업데이트한다. 설정의 앱 제거 기능은 먼저 OpenBot이 실행한 서비스를 멈춘다. 데이터 삭제를 선택하면 OpenBot 머신과 백엔드, 설치 폴더 안의 OpenBot 파일을 지우지만 그 폴더에 둔 사용자 파일은 남긴다. 삭제를 선택하지 않으면 관련 항목은 멈춘 상태로 남아 재설치에 쓰인다.

4. 업그레이드 전 데이터베이스 확인

이번 릴리스에서는 데이터베이스 구조를 바꾸는 마이그레이션, 기존 데이터를 새 버전 구조에 맞추는 작업을 추가로 실행하지 않는다. 1.0.1 데이터베이스는 그대로 사용하고 스키마, 데이터베이스 항목과 구조를 정한 틀도 0088_approval_reviewer_guidance 상태를 유지한다.

1.0.0이나 0.3.x에서 올리는 사용자는 이 중간 버전의 마이그레이션을 거친다. 따라서 업그레이드 준비는 현재 데이터베이스 버전을 확인하고 이전 상태의 백업을 확보하는 데서 시작한다.

5. 환경 분리와 자동 관리의 맞바꿈

전용 머신은 사용자 환경에 대한 간섭을 줄이고, 엔진 자동 갱신은 시작 오류를 설치 관리 단계에서 다루게 한다. 업데이트 파일을 미리 받는 방식도 사용자가 갱신을 누른 뒤 기다리던 다운로드를 작업 중으로 옮긴다.

그 대가로 Mac에서는 동의를 받아 rootless 사용자 머신을 잠시 멈추고 앱 종료 때 컨테이너와 함께 재개하며, Docker Desktop 갱신 때도 컨테이너가 일시 정지한 뒤 다시 실행된다. 기존 사용자 머신의 설치는 전용 머신에서 처음 시작하되 예전 데이터는 원래 머신에 남고, 1.0.0·0.3.x에서 마이그레이션한 데이터베이스를 되돌리려면 업그레이드 전 백업을 복원해야 한다.

이번 판의 핵심은 기존 작업 환경에 대한 간섭과 업데이트 실수를 줄이면서, 앱 실행과 데이터 보존을 함께 관리하는 데 있다.