설정
처음 설정하는 경우에는 시작하기부터 읽으세요.
마법사 관련 세부 내용은 Onboarding Wizard를 참고하세요.
TL;DR
- 개인화는 저장소 밖에 둡니다:
~/.openclaw/workspace(workspace) +~/.openclaw/openclaw.json(config). - 안정적인 워크플로우: macOS 앱을 설치하고, 번들된 Gateway를 앱에 맡겨 실행합니다.
- 최신 개발 워크플로우:
pnpm gateway:watch로 직접 Gateway를 실행하고, macOS 앱을 Local mode로 연결합니다.
사전 요구사항 (소스 빌드 기준)
- Node
>=22 pnpm- Docker (선택 사항, 컨테이너 기반 설정 또는 e2e 테스트에서만 필요. Docker 참고)
개인화 전략(업데이트 시 설정이 깨지지 않게)
“나에게 100% 맞춘 구성”과 쉬운 업데이트를 모두 원한다면, 커스터마이징은 다음 위치에 두세요.- Config:
~/.openclaw/openclaw.json(JSON/JSON5 유사 형식) - Workspace:
~/.openclaw/workspace(skills, prompts, memories 저장. 비공개 git repo 권장)
pnpm openclaw setup으로 실행하세요.
이 저장소에서 Gateway 실행하기
pnpm build 후에는 패키징된 CLI를 직접 실행할 수 있습니다.
안정적인 워크플로우(macOS 앱 우선)
- OpenClaw.app을 설치하고 실행합니다(메뉴 막대 앱).
- 온보딩/권한 체크리스트(TCC prompts)를 완료합니다.
- Gateway가 Local로 설정되어 있고 실행 중인지 확인합니다(앱이 관리함).
- 채널 surface를 연결합니다(예: WhatsApp).
- 기본 점검:
openclaw setup을 실행한 뒤openclaw channels login을 실행하고, 이후 Gateway를 수동으로 시작하세요(openclaw gateway).
최신 개발 워크플로우(터미널에서 Gateway 실행)
목표: TypeScript Gateway를 개발하면서 hot reload를 사용하고, macOS 앱 UI는 계속 연결된 상태로 유지하는 것입니다.0) (선택 사항) macOS 앱도 소스에서 실행하기
macOS 앱도 최신 상태로 돌리고 싶다면:1) 개발용 Gateway 시작
gateway:watch는 Gateway를 watch mode로 실행하고 TypeScript 변경 시 다시 로드합니다.
2) macOS 앱을 현재 실행 중인 Gateway에 연결
OpenClaw.app에서:- Connection Mode: Local 앱이 설정된 포트에서 실행 중인 Gateway에 연결합니다.
3) 확인
- 앱 안의 Gateway status가 **“Using existing gateway …”**로 표시되어야 합니다.
- 또는 CLI로 확인:
자주 걸리는 함정
- 포트 불일치: Gateway WS 기본값은
ws://127.0.0.1:18789입니다. 앱과 CLI가 같은 포트를 쓰도록 맞추세요. - 상태 저장 위치:
- Credentials:
~/.openclaw/credentials/ - Sessions:
~/.openclaw/agents/<agentId>/sessions/ - Logs:
/tmp/openclaw/
- Credentials:
자격 증명 저장 위치 맵
인증 문제를 디버깅하거나 백업 대상을 결정할 때 참고하세요.- WhatsApp:
~/.openclaw/credentials/whatsapp/<accountId>/creds.json - Telegram bot token: config/env 또는
channels.telegram.tokenFile(일반 파일만 허용, symlink 거부) - Discord bot token: config/env 또는 SecretRef (env/file/exec providers)
- Slack tokens: config/env (
channels.slack.*) - Pairing allowlists:
~/.openclaw/credentials/<channel>-allowFrom.json(default account)~/.openclaw/credentials/<channel>-<accountId>-allowFrom.json(non-default accounts)
- Model auth profiles:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - File-backed secrets payload (optional):
~/.openclaw/secrets.json - Legacy OAuth import:
~/.openclaw/credentials/oauth.json자세한 내용: Security
설정을 망치지 않고 업데이트하기
~/.openclaw/workspace와~/.openclaw/는 “내 데이터”로 보고, 개인 프롬프트나 config를openclaw저장소 안에 넣지 마세요.- 소스 업데이트:
git pull+pnpm install(lockfile이 바뀐 경우) 후 계속pnpm gateway:watch를 사용하세요.
Linux (systemd user service)
Linux 설치는 systemd user service를 사용합니다. 기본적으로 systemd는 logout/idle 시 user service를 중지하므로 Gateway도 종료됩니다. 온보딩은 이를 막기 위해 lingering을 자동 활성화하려고 시도하며, 필요하면 sudo를 요청할 수 있습니다. 아직도 꺼져 있다면 다음을 실행하세요.관련 문서
- Gateway runbook (flags, supervision, ports)
- Gateway configuration (config schema + examples)
- Discord 및 Telegram (reply tags + replyToMode settings)
- OpenClaw assistant setup
- macOS app (gateway lifecycle)