2026 OpenClaw「작업은 오는데 답이 없음」실전: openclaw doctor부터 heartbeat·thinking·로그까지 순서 체크리스트(VNC 원격 Mac)
Telegram·웹훅·cron 등 인바운드는 오는데 사용자에게 보이는 어시스턴트 텍스트가 없음—대개 모델이 게으른 것이 아니라 무음 실패입니다. heartbeat와 thinking, 127.0.0.1에만 바인딩된 게이트웨이, 존재하지 않는 workflow 경로를 기억한 컨텍스트, 이미 종료된 프로세스를 옛 세션에서 보는 경우가 겹칩니다. 본문은 openclaw status → doctor → health → logs 고정 순서, 이어서 heartbeat/thinking·스케줄러 환경 일치, VNC 안에서 브라우저로 웹 콘솔을 여는 방법까지 한 흐름으로 정리합니다(SSH만으로 오판하기 쉬운 경우를 줄이기 위함).
10가지 오류 목록은 「질문 발사 10 해결」, 상시 실행은 launchd, Docker는 공식 Compose 글을 참고하세요. 이 글은 ‘트리거는 있는데 보이는 답이 없다’ 한 클래스만 다룹니다.
읽은 뒤 스스로에게 물어보세요: 게이트웨이 프로세스가 아직 살아 있는가? 예약 작업이 대화형 셸과 같은 환경·모델 플래그를 쓰는가? 콘솔이 실제로 테스트 중인 인터페이스에 바인딩되어 있는가? 하나라도 아니면 모델 교체부터 하지 마세요.
1. 증상 유형
- 채널 공백: 인바운드는 있는데 아웃바운드 본문 없음. 로그에 run만 있고 사용자 출력이 없을 수 있음.
- 스케줄만 무음: 수동 채팅은 되고 cron/heartbeat만 조용—thinking, heartbeat 모델, 환경 차이 의심.
- 가짜 다운: 로컬 curl은 되는데 원격에서는 죽은 것처럼 보임. 실제로는 루프백만 리슨—VNC 브라우저가 빠름.
세 가지는 동시에 나타나기 쉽습니다. 예약으로 run이 찍히는 동안 thinking이 보이는 토큰을 쓰고, 다른 호스트에서만 포트를 보면 혼란이 커집니다. 먼저 유형을 정한 뒤 아래 고정 명령 순서로 가세요.
2. 왜 스택 트레이스 대신 조용한가
- thinking이 채널로 내지 않음: 내부 스텝을 소모하고 짧은 heartbeat 간격에서는 “아무 일 없음”처럼 보임.
- 컨텍스트 오염: 없는 workflow에 대한 ENOENT 반복으로 제어 토큰 낭비.
- 설정 갈래: 대화형 셸에는 PATH·키가 있으나 launchd/Docker에는 없음—
doctor가 한쪽만 녹색일 수 있음. - 리슨·방화벽:
18789등이 localhost뿐이면 다른 호스트에서는 전부 죽은 것처럼 보임. - 재시도가 삼켜짐: UI는 연결됐는데 로그에 백오프—램프가 아니라 로그를 봄.
- 바이너리 여러 개: 셸의
openclaw와 데몬 실체가 다를 수 있음.
3. 증상×우선 점검 표
| 현상 | 먼저 | 다음 |
|---|---|---|
| 수동 OK·예약 무음 | heartbeat 모델 + thinking | cron/launchd 환경이 셸과 같은지 |
| 항상 무음 | openclaw status | doctor + health --json |
| 로그에 run, 답 없음 | 아웃바운드 경로·모델 출력 설정 | 긴 thinking·flush 부족 |
| 콘솔 불가 | 바인드·방화벽 | VNC 안 같은 사용자 브라우저 |
| 가끔만 글자 | 채널 쪽 rate limit·retry 로그 | 타임아웃·thinking 스텝 |
표는 첫 나침반이지 전체 분류가 아닙니다. 헷갈리면 status → doctor → health → logs로 돌아가고, 프로바이더 변경은 뒤로 미룹니다.
4. 7단계
openclaw status
기대 사용자 아래 프로세스가 살아 있는지. plist 수정 후 launchctl unload/load.
openclaw doctor
의존성·경로·권한 실패를 티켓용으로 한 번 저장.
openclaw health --json
두 번 실행해 JSON diff로 엔드포인트·버전 드리프트 확인.
openclaw logs --follow
재현 중 tail. Ctrl+C 전 타임스탬프 메모.
heartbeat/cron thinking
문서대로 끄고 예약 경로만 재시험.
유령 workflow 정리
ENOENT 루프면 컨텍스트 리셋 또는 설정 수정.
VNC 브라우저로 콘솔 URL
루프백 vs LAN/터널 교차 검증. 포트는 Docker/launchd 글과 대조.
최소 티켓 템플릿
매번 다섯 가지: (1) 트리거(수동/cron/Telegram); (2) status 한 줄 요약; (3) doctor 블로커 여부; (4) health --json의 게이트웨이·모델 엔드포인트 버전; (5) 타임스탬프 있는 로그 약 30줄. 두 주만 지켜도 무음 이슈가 이진 탐색 가능해집니다.
5. 인용 메모·체크리스트
doctor+health출력을 한 번 저장했는가- heartbeat가 채팅과 같은 설정 조각을 쓰는가
- 0.0.0.0 vs 127.0.0.1 리슨을 확인했는가
- 재현 구간에서
logs --follow시각을 남겼는가
6. FAQ·결론
「10 해결」과 차이? 그쪽은 오류 중심, 여기는 문자열 없는 무음과 명령 순서.
Docker? 같은 명령을 컨테이너 안에서. 포트 매핑은 Docker 글을 따르고 호스트/VNC에서 재검증.
헤드리스 VM vs VNC Mac? 데몬은 돌아가지만 로컬 콜백이나 브라우저 한 번 클릭이 GUI 없으면 막힘. VNC 있는 Mac은 관측 가능성을 사는 선택.
결론
무응답 다수는 설정·프로세스·thinking·바인드의 합이지 단일 모델 고장보다 드뭅니다. 일상이 Windows/Linux여도 게이트웨이를 실제 macOS에 두려면 VNC로 접속 가능한 원격 Mac에 doctor·로그·브라우저를 모으면 MTTR이 줄어듭니다. VNCMac과 OpenClaw 시리즈로 무음을 재현 가능한 티켓으로 바꾸세요.
화면이 하얗게 보일 때 “아웃바운드가 진짜 없는지, thinking/포맷이 먹었는지”를 로그로 갈라—API 키를 맹목 로테이션하기 전에 몇 초짜리 분기입니다.