문제 해결
준비 실패, 진단 복사, doctor 점검을 다룹니다.
이 페이지
어느 단계에서 문제가 생겼는지 먼저 확인하고, 해결되지 않으면 진단 정보를 모아 보고합니다.
Butler Agent를 준비하지 못할 때
첫 실행의 설치 단계에서 Butler Agent를 준비하지 못했습니다. 메시지가 표시되면 다음 순서로 시도합니다.
- 다시 시도를 누릅니다. Agent 상태를 처음부터 다시 확인합니다.
- 같은 오류가 반복되면 복구를 누릅니다. 앱에 포함된 Agent를 멈췄다가 다시 시작한 뒤 상태를 확인합니다.
- 그래도 실패하면 진단 복사를 눌러 진단 정보를 클립보드에 복사합니다. 문제를 보고할 때 이 내용을 붙여 넣습니다.
- 지금 해결하기 어렵다면 종료로 앱을 닫습니다.
진단 정보 읽기
복사한 진단 정보는 JSON 형식이며 checks에 점검 항목이 순서대로 들어 있습니다. 상태가 failed인 첫 항목이 준비가 멈춘 지점입니다.
- Butler Agent 실행
- Butler Agent 연결
- Agent 버전 확인
- 로컬 인증 확인
- 상태 확인
- 프로토콜 확인
- Electron 연결 확인
errors의 code가 bundled_agent_version_missing이면 앱 패키지에서 Agent 버전을 읽지 못했다는 뜻입니다. GitHub Releases에서 네이티브 Agent가 포함된 최신 DMG를 받아 앱을 다시 설치합니다.
앱이 열리지 않을 때
Butler 앱은 Apple 공증을 거치지 않아 처음 열 때 macOS가 실행을 막을 수 있습니다. 시스템 설정 → 개인정보 보호 및 보안에서 그래도 열기를 선택합니다.
모델 연결 문제
모델 목록을 불러오지 못할 때
- 첫 실행의 모델 단계에서 모델 목록을 불러오지 못했습니다. 메시지가 나오면 다시 불러오기를 누릅니다.
- 입력창의 모델 선택에 모델 상태 오류가 표시되면 설정 → 모델에서 기본 모델과 연결 상태를 확인합니다.
- 선택한 모델 사용 불가가 표시되면 다른 모델을 고릅니다.
응답이 실패할 때
대화에 응답 처리 중 문제가 발생했습니다. 메시지가 표시되면 아래 버튼으로 다시 시도합니다.
- 원래 설정으로 다시 시도: 실패한 요청을 원래 모델과 설정으로 다시 보냅니다.
- 현재 설정으로 새로 시도: 지금 선택한 모델과 설정으로 새로 보냅니다. 모델을 바꾼 뒤에 씁니다.
같은 모델이 자주 응답하지 않으면 설정 → 모델의 예비·정리 모델에서 예비 모델 사용을 켜고 예비 모델 추가로 이어받을 모델을 등록합니다. 자세한 내용은 예비 모델을 참고합니다.
OAuth 로그인이 끝나지 않을 때
설정 → 모델 → 모델 관리에서 OAuth로 모델을 추가할 때 로그인이 끝나지 않으면 다음 순서로 확인합니다.
- 브라우저가 열리지 않으면 링크 복사를 눌러 브라우저에 직접 붙여 넣습니다.
- 브라우저에서 인증을 마친 뒤 Butler로 돌아와 인증 완료 확인을 누릅니다.
- OAuth 인증이 완료되지 않았습니다. 메시지가 표시되면 다시 인증을 누릅니다.
OAuth 로그인은 http://localhost:1455/auth/callback으로 결과를 받습니다. 다른 프로그램이 1455번 포트를 쓰고 있으면 로그인을 마칠 수 없으므로, 그 프로그램을 종료한 뒤 다시 인증합니다.
연결이 끊겼다고 표시될 때
실시간 연결이 끊겨 다시 연결하고 있습니다. 표시된 작업 상태는 최신이 아닐 수 있습니다. 안내가 표시되면 Butler가 자동으로 다시 연결합니다. 오래 지속되면 Butler를 종료하고 다시 엽니다.
앱에 포함된 Agent는 Butler가 열려 있는 동안에만 실행됩니다.
화면에 오류가 표시될 때
버틀러 화면에 오류가 발생했습니다. 메시지가 표시되면 창을 새로고침하거나 Butler를 다시 엽니다.
Git 안내가 표시될 때
입력창에 Git이 설치되어 있지 않습니다 안내가 표시되면 Butler는 계속 쓸 수 있지만 브랜치, 커밋, Ledger 커밋 증거 기능은 쓸 수 없습니다. Git 설치 안내를 눌러 Git을 설치합니다.
업데이트 문제
macOS에서는 앱 업데이트가 자동으로 설치되지 않습니다. 새 버전의 DMG를 받아 직접 설치합니다.
- 설정 → 업데이트에서 확인을 누릅니다.
- 새 버전이 있으면 버틀러 항목에 현재 버전과 새 버전이 표시됩니다. 업데이트를 누르면 새 버전의 DMG를 내려받아 엽니다.
- Butler를 종료하고, 열린 DMG에서
Butler.app을 응용 프로그램 폴더로 끌어다 놓아 기존 앱을 바꿉니다. - 업데이트 확인 실패나 업데이트 적용 실패가 반복되면 GitHub Releases에서 최신 DMG를 받아 다시 설치합니다.
버틀러 항목 아래에는 앱에 포함된 Agent 버전(Butler Agent <버전>)도 표시됩니다.
standalone Agent는 butler update --check로 새 버전을 확인합니다. butler update --apply --yes는 아카이브를 데이터 폴더에 내려받아 두기만 하므로, 설치는 Butler Agent CLI의 절차대로 직접 합니다.
알림이 오지 않을 때
- 설정 → 일반 → 알림 권한에서 OS 알림 상태를 확인합니다.
- 테스트를 눌러 테스트 알림을 보냅니다.
- 알림이 보이지 않으면 macOS 알림 설정을 눌러 시스템 설정에서 Butler 알림을 허용합니다.
로그 확인
앱의 개발자 로그
개발자 로그에서는 모델 요청 컨텍스트 조립 결과와 응답 원문을 모델 턴 단위로 볼 수 있습니다.
- 설정 → 정보의 개발자 영역에서 개발자 모드를 켭니다.
- 설정 목록의 앱 및 시스템 그룹에 로그가 나타나면 엽니다.
- 필터에서 실패한 모델 턴을 고르면 실패한 요청만 볼 수 있습니다.
- 항목을 열어 컨텍스트, 요청, 응답, 메타데이터 탭을 확인합니다.
검색창으로 모델, 세션, 섹션, 응답 내용을 찾거나 세션 ID로 걸러 볼 수 있습니다. 개발자 모드를 켜면 이 앱 창에서 Chrome DevTools도 열 수 있습니다.
개발자 로그는 설정 → 개인정보의 진단이 켜져 있을 때만 기록되며, 데이터 폴더의 app/developer-logs/model-turns.jsonl에 저장됩니다. 진단을 끄면 로그 항목도 사라집니다.
standalone Agent의 서비스 로그
butler start로 실행한 서비스의 로그는 데이터 폴더(기본값 ~/.butler)의 logs/butler-agent-service.stdout.log와 logs/butler-agent-service.stderr.log에 기록됩니다.
butler logs --lines 200
butler logs --followdoctor로 설치 점검
standalone Agent는 butler doctor로 설치 상태를 점검합니다. 읽기 전용이며 문제를 고치지는 않습니다. 점검 범위는 Butler Agent CLI를 참고합니다.
butler doctor
butler doctor --check installation결과가 degraded이면 FAIL이나 WARN으로 표시된 항목을 확인합니다. 서비스가 실행 중이 아니면 서비스 항목이 WARN이 되므로, 설치만 확인할 때는 --check installation을 씁니다.
자주 보는 오류와 해결 방법입니다.
butler_data_overlaps_installation: 데이터 폴더가 설치 폴더와 겹칩니다. 설치 폴더 밖의 다른 폴더를--data로 지정합니다.--home is unsupported:--home대신--data를 씁니다.native_home_unavailable:HOME환경 변수가 비어 있습니다. MCP 클라이언트에서 실행할 때 자주 생깁니다.update --apply requires --yes: 업데이트 적용에는--yes를 함께 붙입니다.
다시 설치하기
앱
- Butler를 종료합니다.
- GitHub Releases에서 최신
butler-app-<버전>-darwin-arm64.dmg를 내려받습니다. - DMG를 열고
Butler.app을 응용 프로그램 폴더로 끌어다 놓아 기존 앱을 바꿉니다.
대화와 기억, Agent 설정은 앱이 아니라 데이터 폴더(~/.butler)에 저장되므로 앱을 다시 설치해도 유지됩니다.
standalone Agent
새 버전 폴더에 다시 설치합니다. 기존 설치 폴더는 수정하지 않습니다. 기존 데이터와 분리된 상태로 확인하려면 --data로 비어 있는 새 폴더를 지정해 실행합니다. 기존 DATA 폴더는 그대로 남습니다.
문제 보고
해결되지 않는 문제는 GitHub Issues에 새 이슈로 보고합니다. Butler 저장소는 설정 → 정보의 GitHub 저장소에서도 열 수 있습니다. 보고할 때 다음을 함께 적으면 원인을 찾기 쉽습니다.
- 설정 → 정보의 버전
- macOS 버전과 Mac 칩 종류
- 문제가 생기기까지의 순서
- 첫 실행 준비 실패라면 진단 복사 결과
- standalone Agent라면
butler version --json과butler doctor --json출력
자주 묻는 질문
창을 닫으면 Agent도 멈추나요?
앱에 포함된 Agent는 Butler가 열려 있는 동안에만 실행됩니다. 설정 → 일반의 트레이 및 메뉴바에 표시를 켜면 창을 닫아도 앱이 메뉴바에 남습니다.
데이터는 어디에 저장되나요?
데이터 폴더인 ~/.butler에 저장됩니다. 설정은 butler.config.json, 클라우드 모델 API 키는 auth/model-provider-credentials.json, 웹 검색 API 키 같은 그 밖의 비밀값은 .env에 있습니다. 자세한 위치는 클라우드 모델을 참고합니다.
대화 내용이 외부로 전송되나요?
클라우드 모델을 쓰거나 사용자 정보 분석을 켜면 요청에 필요한 프롬프트, 컨텍스트, 프로필 후보 텍스트가 설정한 모델 제공자로 전송될 수 있습니다. 처리 내용을 기기 안에만 두려면 로컬 모델을 Custom 모델로 연결해 씁니다.
Windows나 Linux에서 쓸 수 있나요?
현재 릴리스는 Apple Silicon Mac용으로만 패키징하고 검증합니다. Windows와 Linux용 네이티브 Agent 번들은 아직 지원하지 않습니다.
이전 버전을 설치했는데 준비가 계속 실패합니다.
이전 릴리스에는 지금은 쓰지 않는 TypeScript/Bun Agent가 들어 있을 수 있습니다. 네이티브 Agent가 포함된 최신 릴리스로 다시 설치합니다.