2026 OpenClaw v2026.5.20 완전 가이드:
Discord 실시간 voice followUsers, xAI device-code OAuth, Policy 플러그인 doctor lint(일일 macOS 격리)
자체 호스팅 Gateway를 v2026.5.20으로 올린 뒤 Discord 텍스트는 살아 있는데 voice만 안 따라오고, VPS에서 xAI OAuth가 localhost 콜백에 막히며, doctor에 처음 보는 Policy lint가 쏟아지는 패턴은 세 건의 우연이 아니라 한 릴리스 테마입니다. 본문은 개발·운영을 위해 세 가지 페인, voice·인증·Policy 결정 매트릭스, 7단계, 트리아지 표, 데이터 3건, 1~3일 일일 macOS 일정을 제공합니다. 연결: 설치·배포 가이드, Telegram/Discord 채널 페어링, v2026.5.12 모듈형 설치, 명령 오류 FAQ, SSH/VNC FAQ.
목차
01. 세 가지 페인: voice 추종, 헤드리스 xAI OAuth, Policy lint
1) Discord voice가 «채널 미설치»처럼 보임: v2026.5.20의 voice.followUsers는 bot이 지정 Discord 사용자 snowflake를 따라 voice 채널에 join·move·leave합니다. /vc join·고정 autoJoin만 검증했다면 DM은 되는데 voice만 무응답입니다. 표시 이름을 ID로 넣거나 guild/channel allowlist를 빠뜨리면 텍스트 페어링이 통과해도 voice ingress는 거절됩니다. 합격 신호: 추종 대상이 allowed voice 입장 → bot 동일 채널 → STT/라우팅 로그.
2) VPS/SSH xAI OAuth가 브라우저 전제로 실패: 5.20 이전엔 노트북 token 복사·SSH 포트포워드가 흔했습니다. 이제 openclaw models auth login --provider xai --device-code가 URL·짧은 코드를 출력하고, 아무 기기 브라우저 승인 후 헤드리스 호스트에 저장됩니다. 실패는 «localhost 미도달»에서 «코드 만료·무방치 터미널»·«평문 xAI key가 새 OAuth profile 덮어씀»으로 이동합니다. device-code는 사람이 대기하는 변경 창 작업입니다.
3) Policy 플러그인 doctor lint 신규 등장: 번들 Policy는 채널 conformance·doctor lint·선택적 workspace repair를 제공합니다. WARN 한 줄을 Gateway 전멸로 읽는 경우가 많지만, 실제론 DM policy·allowlist 공백·openclaw.json 평문 secret·선언 보안 posture 불일치가 많습니다. 5.20 doctor는 sandbox가 MCP 도구를 숨긴다는 경고·symlink 자격 증명 fail-closed도 같은 보고서에 섞입니다. 프로덕션 guild voice 확대 전 doctor를 돌리면 렌탈 Mac 수정 비용이 훨씬 낮습니다.
세 축은 연동됩니다. realtime voice는 기본적으로 IDENTITY.md·USER.md·SOUL.md를 bounded 주입하므로 톤 drift는 bootstrap 파일 이슈인 경우가 많습니다. xAI device-code는 Grok 계열 추론 경로를 헤드리스에 확보하고, Policy lint는 follow-users로 연 voice 채널이 allowlist 스토리와 맞는지 검증합니다.
02. 결정 매트릭스: followUsers, bootstrapContextFiles, device-code, Policy
변경 창 수용 시트로 사용하고, 우열 증거는 렌탈 호스트에서 마스킹 후 wipe하십시오.
| 표면(5.20) | 합격 신호 | 렌탈 증거 |
|---|---|---|
voice.followUsers |
열거 사용자 allowed voice 입장 시 bot 추종; 채널 이동·퇴장 시 leave | 마스킹 voice 상태 로그 + channels status --channel discord JSON |
voice.followUsersEnabled |
목록 설정 시 기본 true; false로 ID 유지·일시 중지 | Control UI voice 패널 토글 캡처 |
voice.realtime.bootstrapContextFiles |
기본 IDENTITY/USER/SOUL; 부분집합·[]로 비활성 |
구두 프로브 전후 transcript 발췌 |
| xAI device-code OAuth | device-code login 완료; xAI 모델 목록; 1회 completion smoke | 마스킹 auth profile 목록(설정 JSON 평문 key 없음) |
| Policy 플러그인 / doctor lint | WARN 해소 또는 티켓 waive; repair는 opt-in만 | doctor stdout 수정 전후 아카이브 |
| voice allowlist ingress | 비 allowlist 멤버 발화는 전사 전 거절 | 허용 vs 차단 테스트 계정 프로브 |
v2026.5.12와 병행: Discord 플러그인 installed/enabled가 전제, 5.20은 voice/realtime 층을 추가합니다. join 모드는 의도적으로 선택—followUsers(온콜 huddle 이동), autoJoin(고정 룸), /vc join(단발 세션). 혼용 시 우선순위 미기록은 «유령 bot 빈 채널» 티켓을 만듭니다.
bootstrapContextFiles: realtime voice 맥락
realtime 턴은 저지연이며 workspace 전문 자동 재생 없음. 5.20은 소형 profile을 provider 지시에 주입해 구두 응답을 routed agent persona에 맞춥니다. latency 부담이면 부분집합, 중립 최우선이면 []. openclaw_agent_consult·도구·메모리 대체 아님.
03. 7단계: 업그레이드 → voice → xAI → doctor → 증거
- 기준선 동결:
openclaw --version, Discord voice 블록, xAI auth profiles,openclaw channels status --json; 로드openclaw.json경로·Gateway 인자 기록. - 백업·업그레이드: IDENTITY/USER/SOUL 스냅샷;
openclaw update로 v2026.5.20; stdout·종료 코드·npm integrity(pin 시) 저장. - followUsers 구성: snowflake만(표시 이름 금지); 페어링 가이드 guild/channel allowlist 확인; 변경 후 Gateway 재시작.
- bootstrapContextFiles 조정: 기본→짧은 구두 프로브; persona 과하면 부분집합, 중립이면
[]. - 헤드리스 xAI: SSH/VPS에서 device-code login; 코드 수명 내 스마트폰·노트북 승인; 고객 트래픽 전 모델 목록·1회 completion.
- Policy·doctor:
openclaw doctor; lint 해소 또는 waive 문서화; repair는 폐기 가능 호스트 선행;doctor --fix후 stale schema 재확인. - channels 교차·증거: Discord configured/enabled와 voice 프로브 일치; 로그 마스킹; 데모 token·임시 OAuth profile 삭제.
openclaw --version
openclaw channels status --json | head -c 8000 | tee /tmp/oc520-channels-before.json
openclaw update
openclaw models auth login --provider xai --device-code
openclaw doctor 2>&1 | tee /tmp/oc520-doctor.txt
openclaw channels status --probe --channel discord
여유 디스크 15 GB 미만이면 업그레이드·voice warmup·doctor repair 병행 실패 확률 상승. 대역폭·렌탈 비용은 SSH/VNC FAQ. 신규 설치는 다중 플랫폼 가이드로 Node 24(≥22.19) 정렬.
followUsers 설정 예
{
"channels": {
"discord": {
"voice": {
"enabled": true,
"followUsers": ["123456789012345678"],
"followUsersEnabled": true,
"realtime": {
"bootstrapContextFiles": ["IDENTITY.md", "USER.md", "SOUL.md"]
}
}
}
}
}
04. 트리아지: 증상 → 우선 조치 → 오작동
| 증상 | 우선 조치 | 오작동 |
|---|---|---|
| 온콜 voice를 bot이 무시 | followUsers user ID·allowed 채널·Connect 권한 |
텍스트 groupPolicy: open으로 voice «수리» |
| voice persona ≠ 텍스트 agent | bootstrapContextFiles·workspace profile MD |
AGENTS.md 전체를 voice 설정에 복제 |
| xAI device-code 만료 | 담당자 대기 후 재 login; VPS 시계 skew | git 추적 JSON에 장기 API key |
| doctor Policy WARN 범람 | secret/allowlist/sandbox·MCP 분류·수정·waive | doctor 비활성·Policy 플러그인 삭제 |
| 비 allowlist 발화 전사됨 | Discord member/channel allowlist 강화·차단 계정 재시험 | bot join=voice 공개로 단정 |
| DAVE 끊김 후 bot 고착 | follow 이동 재시도; 5.20 DAVE 복구 메모; Gateway 재시작 | allowlist 제거로 강제 join |
텍스트 Discord OK·voice NG면 분할: OAuth·app 등록은 공유, voice는 realtime provider·follow FSM·ingress allowlist 추가. xAI 재인증·SOUL 수정·allowlist 확대를 동시에 하기 전 channels status·짧은 voice 로그 저장. 도구 거부는 명령 오류 FAQ 참조.
05. 데이터 3건·오해와 1~3일 렌탈 일정
- 데이터 1: GitHub v2026.5.20 2026-05-21 공개. Discord
followUsers, realtime bootstrap, Policy, xAI device-code가 Release Notes에 명시—변경 감사 앵커. - 데이터 2: npm integrity
sha512-cgshS76CxS3Vp9NGtJR2UGtVZxVR5/4rvok8DKGGL19DugAftNabsXfYajyAEiJ3dC8QTXNqF62MdQNzUnQe8Q==공개—고객 incident 재현 시 렌탈 호스트 pin. - 데이터 3: M4 렌탈 샘플에서 allowlist 문서가 정리돼 있으면 followUsers·device-code·Policy lint를 3~5시간에 압축—5.12 이전 pairing 부채 시 1~2일.
오해 A: followUsers가 allowlist 대체(아님). 오해 B: device-code=SecretRef 불필요(평문 key WARN 유효). 오해 C: Policy lint=즉시 롤백(대개 conformance 부채 가시화).
1일: 오전 channels·auth 동결; 오후 5.20·doctor; 저녁 테스트 guild 단일 followUsers.
2일: bootstrap A/B; 프로덕션 VPS 동형 device-code; xAI completion.
3일: lint 처리·waive; allowlist vs 차단 voice 프로브; secret wipe; Runbook(voice ID·bootstrap·auth 순서).
06. 헤드리스 Linux VPS vs 일일 Mac
Linux VPS는 24/7 Gateway·device-code에 적합—스마트폰 브라우저 승인, 자격 증명은 서버 잔류. Discord voice 상태 디버그·Control UI voice 토글·Keychain deploy key·profile MD를 들으며 읽기까지 포함하면 SSH·폰·개인 Discord 삼기기 왕복 숨은 비용이 짧은 Apple Silicon 렌탈을 넘기 쉽습니다.
CLI 체크리스트 대부분 VPS 단독 가능, 프로덕션 Linux 유지도 가능. 일일 Mac 가치는 리허설 충실도—Gateway·Control UI·Discord 데스크톱 단일 세션, followUsers 증거 삼기기 복사 없이, 폐기 workspace에서 Policy repair. 컨테이너는 스파이크용, voice latency·follow handoff UX 재현은 약함.
1~3일 내 인수 Runbook·하드웨어 구매·개인 Discord production OAuth 회피가 목표면 VPS SSH+폰 OAuth+즉석 오디오보다 일일 Mac이 매끄러운 경우가 많습니다. M4 요금 안내, 연결·비용 SSH/VNC FAQ.