OpenClaw 워크스페이스, openclaw.json, ~/.openclaw 상태 분리(공유 대여 Mac mini, 2026)
VmMac에서 단일 대여 Apple Silicon Mac mini에 OpenClaw를 올려두는 플랫폼 엔지니어는 금세 깨닫습니다. 「내 셸에서는 된다」와 「두 개의 스쿼드가 launchd 아래에서도 된다」는 같지 않습니다. 깨지기 쉬운 이음부는 모델 카드가 아니라 거의 항상 워크스페이스 루트, 체크인된 openclaw.json 계약, 그리고 역사적으로 ~/.openclaw 아래에 있던 사용자별 상태 트리입니다. 스테이징 실험이 프로덕션 토큰 옆에 캐시를 쓰거나 배포 후 WorkingDirectory가 어긋나면 게이트웨이는 잘못된 파일을 읽고 인시던트는 「LLM 퇴보」처럼 보입니다. 이 2026 매트릭스는 경계를 명명하고 스테이징 대 프로덕션 launchd 분리, 시크릿과 plist 위생, 멀티 계정 분리와 짝을 이뤄 홍콩·일본·한국·싱가포르·미국 VmMac 호스트를 지루할 정도로 맞춥니다.
설치 및 배포부터 시작하고 접근 의미는 도움말에서 확인하세요. 리더십이 한 주 더 공유 상태를 파헤치는 것보다 두 번째 mini가 가장 싼 해법이라고 동의하면 가격을 엽니다.
워크스페이스 경계: 저장소 루트 대 런타임 체크아웃
OpenClaw workspace는 자동화가 체크아웃하는 디렉터리로 취급합니다. openclaw.json, skills 매니페스트, 코드 리뷰로 덮고 싶은 래퍼가 들어갑니다. 런타임에 생성되는 큰 캐시, 다운로드한 가중치 미러, 스크래치패드는 명시적인 아티팩트 정책이 없으면 git 밖입니다.
VmMac에서는 종종 심볼릭 링크조차 필요 없습니다. 명료함이 요령을 이깁니다. 엔지니어가 ~/src/openclaw-tenant-a에 클론했는데 launchd가 지난달 ~/build/openclaw를 가리키면 유령을 쫓게 됩니다. SSH 바스티온과 같은 페이지에 테넌트별 정규 절대 경로를 적습니다.
- Git은 의도——기본값, 기능 플래그, 감사된 도구 목록.
- 디스크는 엔트로피——캐시, 나중에 마스킹할 트랜스크립트, 임시 내보내기.
- Plist는 접착제——환경, cwd, 사용자 세션, 로그 경로.
계약으로서의 openclaw.json: 버전, 리뷰, 시크릿 형태
openclaw.json은 API 스키마처럼 읽혀야 합니다. 안정적인 키, 명시적 기본값, JSON 방언이 허용하는 곳에만 주석. 리뷰에서 인라인으로 장수명 API 키를 숨긴 diff는 거절하세요——그것들은 시크릿 위생에서 설명하는 금고 평면에 속하며 모든 인턴이 cherry-pick 할 수 있는 파일이 아닙니다.
릴리스에 태그를 달아 SSH 없이 「도쿄에서 03:14에 어떤 설정이 돌았나」에 답하세요. 리전 핫픽스가 필요하면 브랜치·배포·머지——공유 호스트의 임시 스노우플레이크는 주인보다 오래 삽니다.
tools 허용 목록을 필요로 하면 다른 파일이나 다른 사용자가 필요합니다——매일 같은 경로를 두 번 손으로 토글하지 마세요.
~/.openclaw와 그 주변: 절대 충돌하면 안 되는 것
홈 상태 접두사와 워크스페이스에 무엇을 둘지 매트릭스로 결정합니다.
| 산출물 | 워크스페이스 | 홈 상태 |
|---|---|---|
| 게이트웨이 라우트 표 / 고정 도구 매니페스트 | 예——리뷰된 JSON | 아니오——분열 방지 |
| 세션 쿠키, 디바이스 페어링 blob | 아니오——커밋 금지 | 예——chmod 엄격히 |
| 구조화된 로그 | 템플릿 선택 | 예——크고 로테이션 |
| 개발자별 오버라이드 | 공유 CI 호스트에서는 절대 | 개인 노트북만 |
「~/.openclaw를 지워 리셋할 수 있나요?」라는 질문에는 즉흥이 아니라 런북 절을 인용해 답합니다——삭제는 오염된 캐시를 고치지만 내보내기 단계를 건너뛰면 정당한 페어링도 깨집니다.
한 대 Mac mini의 멀티테넌트 매트릭스
VmMac은 전용 베어메탈에 강하지만 재무가 공유를 강요할 때도 있습니다. 솔직하게 순위를 매깁니다.
| 패턴 | 격리 강도 | 운영 부담 |
|---|---|---|
| 테넌트별 물리 호스트 | 최고 | 드라마 최소 |
| 한 호스트에서 macOS 사용자 분리 | 높음 | 중——디스크 쿼터와 VNC 규율 |
| 동일 사용자, 다른 디렉터리 | 낮음——실수 유발 | 높음——지속 감사 |
세 번째 행을 강요받더라도 최소한 겹치지 않는 LaunchAgent 레이블, 겹치지 않는 localhost 포트, 그리고 활성 plist를 매일 밤 git과 diff하는 자동화를 강제하세요. 더 나은 방법은 재무가 또 한 대를 승인할 때까지 스테이징 분리를 따르는 것입니다.
launchd WorkingDirectory, EnvironmentVariables, 경로 우선순위
WorkingDirectory는 장식이 아닙니다——openclaw.json 안의 상대 경로가 어떻게 해석되는지, 어떤 node_modules 트리가 로드되는지 정합니다. 노트북에서 ~/.zshrc로 내보낼 것은 EnvironmentVariables로 명시하세요. 편집 후에는 승리를 선언하기 전에 반드시 launchctl print gui/$UID/com.example.openclaw(도메인 조정)로 검증합니다.
cd하라고 하면 plist가 미완성입니다.
홍콩·일본·한국·싱가포르·미국 전역에서 plist 템플릿은 동일하게 유지하고, 리전 엔드포인트는 절대 경로로 참조하는 작은 env 파일에 두어 감사 시 diff가 읽기 쉽게 합니다.
인시던트 런북: 상태 오염 대 진짜 모델 퇴보
launchctl print출력에서 실행 중 게이트웨이의pwd를 캡처합니다.- 그 cwd의
openclaw.json을 해시하고 배포했다고 생각하는 git 태그와 비교합니다. - 상태 디렉터리 하위의 크기와 mtime을 나열하고 비대해진 SQLite나 JSONL을 찾습니다.
- 신규 트래픽을 막고 큐를 비우고 로그를 스냅샷합니다.
- 오염된 상태를 삭제가 아니라 이동——사후 분석을 위해 증거를 남깁니다.
- 깨끗한 VmMac 카나리아에서 실패 요청을 재생합니다.
- 티켓을 닫기 전에 수정이 설정, 디스크, 모델 중 무엇이었는지 문서화합니다.
2026년에 보는 가짜 「모델 품질」 하락 대부분은 같은 상태 트리에 나란히 앉은 오래된 도구 허용 목록과 만료된 OAuth 리프레시 토큰 때문입니다——LLM은 멀쩡하고 파일 시스템이 아닙니다.
FAQ: 대여 Mac mini의 OpenClaw 워크스페이스와 상태
공유 렌탈 Mac mini에서 openclaw.json을 git에 두어야 하나요? 스키마와 비밀이 아닌 기본값에는 예이지만, 시크릿의 유일한 보관처로는 안 됩니다——저장소 파일을 단일하게 문서화된 시크릿 평면과 테넌트별 상태 접두사와 짝지어 스테이징이 디스크에서 프로덕션 토큰을 읽지 못하게 하세요.
~/.openclaw와 워크스페이스 체크아웃에는 무엇이 들어가나요? 영속적인 머신 로컬 캐시, 디바이스 페어링, 민감한 런타임 자료는 홈 상태 트리 아래에 두고, 팀이 리뷰한 설정은 워크스페이스에 두며 launchd가 WorkingDirectory를 명시적으로 설정하는지 확인합니다.
한 VmMac 호스트에서 두 팀을 OpenClaw 상태를 섞지 않고 격리하려면? 별도 macOS 사용자나 별도 호스트를 선호합니다. 공유가 필요하면 겹치지 않는 OPENCLAW_HOME 스타일 접두사, 겹치지 않는 LaunchAgent 레이블, 서로 다른 localhost 포트를 사용하고 스테이징 분리 런북을 따르세요.
launchd WorkingDirectory가 어떤 openclaw.json이 읽히는지 바꾸나요? 상대 경로는 WorkingDirectory와 사용자 환경에서 해석됩니다. 모호한 cwd는 스테이징이 프로덕션 워크스페이스 사본을 읽는 주된 원인입니다——검증 후 plist에 절대 경로로 고정하세요.
홍콩·일본·한국·싱가포르·미국 호스트를 맞추려면? openclaw.json은 동일한 git 리비전을 저장하고 의도적인 리전 환경 덮어쓰기만 허용합니다. plist는 매월 diff하고 티켓 없는 호스트별 임시 편집은 거절합니다.
왜 두 번째 VmMac Mac mini가 공유 상태 수술보다 저렴한가
테넌트를 다른 mini로 나누면 모호한 chmod 퍼즐이 보안팀에도 설명 가능한 네트워크 도달 경계로 바뀝니다. 한계 임대료는 COGS에 깔끔히 잡히지만 포렌식 병합에 쓴 엔지니어 주는 잡히지 않습니다.
리더십이 망설이면 지난 분기 근본 원인이 「잘못된 cwd」 또는 「공유 캐시」였던 인시던트 수를 보여 주세요. 0이 아니면 물리가 동의합니다——별도 호스트가 필요했습니다.