OpenClaw 모델 허용 목록 거부 및 프로덕션 수정(MacLogin 클라우드 Mac 2026-04-23): HK·JP·KR·SG·US 게이트웨이에서 Model not allowed 무음 퇴행 중단
OpenClaw 로그가 자세한 스택에서 갑자기 짧은 Model not allowed만 남으면 대부분의 팀은 공급자 장애로 단정합니다. 임대된 Apple Silicon 게이트웨이에서는 2026년 4월 더 흔한 근본 원인이 허용 목록 드리프트입니다. agents.defaults.models가 마이너 업그레이드 후 라우터나 cron이 요청하는 카탈로그 ID와 더 이상 교차하지 않습니다. 이 글은 정책 대 카탈로그 매트릭스, 맞춰야 할 JSON5 키, 명시적 롤백이 있는 7단계 배포, 거짓 양성을 잡는 curl 프로브, MacLogin 리전 FAQ를 안내합니다.
doctor 진단, 설치 스크립트와 npm 전역, 프로덕션 컷오버 헬스 체크 규율을 유지하세요. 공급자 백오프와 병행합니다. 허브: OpenClaw 주제 색인. 운영: 도움말, 요금, VNC.
MacLogin 다중 리전에서는 허용 목록 변경을 도쿄 staging에서 검증한 뒤 홍콩 일반 자동화 호스트, 싱가포르와 서울의 읽기 위주 에이전트, 마지막으로 미국 프로덕션으로 진행합니다. 각 단계에서 거부 카운터와 p95 꼬리 지연을 기록하지 않으면 staging은 성공인데 프로덕션만 무음 거부가 납니다. 변경 티켓에 doctor JSON diff와 게이트웨이 git describe를 필수로 첨부하세요.
규제 고객은 마스킹된 curl과 헬스 본문을 최소 한 번의 전체 cron 주기 보관해 cron 자식과 대화형 셸이 동일한 모델 ID를 쓰는지 증명합니다. launchd 환경 주입과 디스크가 다르면 plist의 OPENCLAW_MODEL 제거 등 영구 수정을 티켓에 명시하고 재시작만으로 가리지 마세요.
「설정을 안 바꾼 주」 뒤에 Model not allowed가 뜨는 이유
상위 OpenClaw는 라우팅 별칭 이름 변경, 기본 거부 목록 강화, 프리뷰와 안정 SKU 분할을 할 수 있습니다. 게이트웨이 JSON5는 짧은 레거시 ID를 유지하지만 런타임은 벤더 한정 문자열을 기대합니다. YAML에 모델을 고정한 cron 스킬은 대화형 온보딩을 건너뛰어 불일치가 덜 드러납니다.
- 환경 주입: launchd plist가
OPENCLAW_MODEL을 출력하면 한 자식만 JSON5를 덮어쓰고 cron 자식이 돌기 전까지doctor에 숨습니다. - 부분 병합: Git 승격에서 tools만 가져오고
agents.defaults가 빠지면 프로덕션이 staging보다 엄격해집니다. - 지역 카탈로그: US와 JP 엔드포인트의 모델 목록이 몇 분 차이면 동일 문자열이라도 가용성 플래그가 달라 JP만 거부될 수 있습니다.
정책 대 카탈로그 드리프트 매트릭스
| 신호 | 정책 측 | 카탈로그 측 | 검증 |
|---|---|---|---|
| 공급자 401 | 가능성 낮음 | 키 로테이션 | curl 공급자 /models |
| 즉시 200이고 빈 완성 | 알 수 없는 ID 매핑 | 모델 퇴역 | 게이트웨이 로그에서 거부 ID grep |
| cron에서만 간헐 거부 | cron 환경에 새 ID 없음 | 동일 | launchd 작업 안 printenv |
| npm 업그레이드 후만 거부 | 스키마 기본값 강화 | 피어 의존성이 라우터 변경 | openclaw doctor --json diff |
JSON5 형태와 팀이 잊는 키
agents.defaults.models는 명시적 문자열 배열로 유지하고 파서를 깨는 후행 쉼표와 cherry-pick으로 되살아나는 주석 줄을 피합니다. 공급자 ID는 문자 그대로 일치해야 합니다. -latest와 고정 해시가 모두 있으면 프로덕션은고정 해시, staging은 soak용 하나의 별칭만 둡니다.
각 항목 옆 JSON5 주석에 담당 팀과 분기 검토일을 적습니다. 설명 없는 와일드카드는 감사에서 실패입니다. 편집 후 openclaw doctor --fix로 잘못된 키를 정규화하고 --fix 없이 안정을 재확인합니다.
7단계 배포(JP 카나리아 → US 프로덕션)
- 상태 디렉터리 백업에 따라
~/.openclaw스냅샷. - JP staging 리스에 허용 목록 diff 적용. 합성 부하는 5 RPS 미만.
- doctor 두 번. 경고가 기준선보다 1 많으면 실패.
- 홍콩 일반 자동화 호스트로 승격, 24시간 거부 모니터.
- SG와 KR 읽기 위주 에이전트로. 꼬리 p95 확인.
- 거래 분석을 다루는 모델은 재무 서명 후에만 미국 프로덕션.
- 어느 리전이든 시간당 거부가 15를 넘기면 tarball 복원 후 launchd 재시작으로 롤백.
재시작 후 curl 프로브(거짓 녹색 방지)
로컬 헬스 엔드포인트를 200 ms 간격으로 5회 호출합니다. 첫 호출은 성공해도 두 번째에서 허용 목록을 다시 강제하는 플러그인이 로드됩니다. 빌드 해시가 있는 헤더를 저장해 어떤 바이너리가 응답했는지 확인합니다. TLS 종료가 리버스 프록시면 127.0.0.1:18789에서도 curl해 네트워크 정책과 OpenClaw 정책을 분리합니다.
| 프로브 | 통과 기준 | 실패 의미 |
|---|---|---|
| GET /health(로컬) | HTTP 200, 본문 OK | 재시작 후 게이트웨이 미바인딩 |
| 완성 샘플 | 어시스턴트 텍스트 비어 있지 않음 | 무음 허용 목록 거부 경로 |
| cron 드라이런 | 수동과 동일 모델 ID | 환경 드리프트 |
프록시가 X-OpenClaw-Build를 제거하면 인시던트 채널에 게이트웨이 git describe를 저장해 허용 목록 스키마 버전 diff 대상을 맞춥니다. 이 상관을 건너뛰는 팀은 몇 시간 간격의 두 semver JSON5를 무의식적으로 비교해 평균 47분 더 doctor를 돌립니다.
FAQ
임시로 allow-all을 켤 수 있나요? 일회성 클론 안에서만. 다른 테넌트 스킬이 같은 홈 레이아웃을 물려받는 공유 MacLogin 리스에서는 금지입니다.
대소문자는? 예. 모델 ID는 대소문자를 구분하는 불투명 문자열로 취급합니다.
분기 카탈로그 검토 소유자는? 플랫폼 엔지니어링과 AI 거버넌스 서명. 도움말에 연결된 런북에 명단을 적습니다.
Mac mini M4가 허용 목록 검증 주기를 단축하는 이유
M4급 Apple Silicon은 doctor와 npm link 게이트웨이 재시작을 벽시계 90초 안에 유지해 영업 전 다섯 메트로를 도는 반복에 유리합니다. 통합 메모리로 토크나이저 캐시를 따뜻하게 유지한 채 curl 프로브를 병행할 수 있어 단계 생략 유혹을 줄입니다. HK·JP·KR·SG·US 플릿으로 JP 우선 모델 가용성을 고정해도 모든 미세 조정에 미국 엔지니어를 깨울 필요가 없습니다.
요금에서 카나리아를 추가하는 것이 프로덕션 거부 리스크보다 쌉니다. 더 엄격한 허용 목록 복제본을 24/7 온라인으로 두고 전체 cron 주기를 통과한 뒤에만 JSON5를 승격하세요.
전용 Apple Silicon에서 OpenClaw 허용 목록 변경 실행
doctor로 게이트한 JSON5를 HK·JP·KR·SG·US MacLogin 노드와 짝지으세요.