메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

처음 설정하는 경우 시작하기부터 시작하세요. 온보딩 세부 정보는 온보딩(CLI)을 참조하세요.

요약

업데이트를 얼마나 자주 원하는지, Gateway를 직접 실행할지에 따라 설정 워크플로를 선택하세요.
  • 맞춤 설정은 저장소 밖에 둡니다: 저장소 업데이트가 건드리지 않도록 구성과 작업공간을 ~/.openclaw/openclaw.json~/.openclaw/workspace/에 보관하세요.
  • 안정 워크플로(대부분에게 권장): macOS 앱을 설치하고 앱이 번들 Gateway를 실행하게 하세요.
  • 최신 개발 워크플로(dev): pnpm gateway:watch로 Gateway를 직접 실행한 다음 macOS 앱이 Local 모드로 연결하게 하세요.

사전 요구 사항(소스 기준)

  • Node 24 권장(Node 22 LTS, 현재 22.16+, 여전히 지원됨)
  • 소스 체크아웃에는 pnpm이 필요합니다. OpenClaw는 dev 모드에서 번들 plugins를 extensions/* pnpm 작업공간 패키지에서 로드하므로, 루트에서 npm install을 실행해도 전체 소스 트리가 준비되지 않습니다.
  • Docker(선택 사항, 컨테이너 기반 설정/e2e에만 필요 - Docker 참조)

맞춤 설정 전략(업데이트가 문제를 일으키지 않도록)

“나에게 100% 맞춤” 이면서 쉬운 업데이트를 원한다면 사용자 지정을 다음 위치에 보관하세요.
  • 구성: ~/.openclaw/openclaw.json (JSON/JSON5 유사)
  • 작업공간: ~/.openclaw/workspace (skills, 프롬프트, 메모리; 비공개 git 저장소로 만드세요)
한 번 부트스트랩합니다.
openclaw setup
이 저장소 안에서는 로컬 CLI 항목을 사용하세요.
openclaw setup
아직 전역 설치가 없다면 pnpm openclaw setup으로 실행하세요.

이 저장소에서 Gateway 실행하기

pnpm build 후에는 패키징된 CLI를 직접 실행할 수 있습니다.
node openclaw.mjs gateway --port 18789 --verbose

안정 워크플로(macOS 앱 우선)

  1. OpenClaw.app(메뉴 막대)을 설치하고 실행합니다.
  2. 온보딩/권한 체크리스트(TCC 프롬프트)를 완료합니다.
  3. Gateway가 Local이고 실행 중인지 확인합니다(앱이 관리함).
  4. 표면을 연결합니다(예: WhatsApp).
openclaw channels login
  1. 상태를 확인합니다.
openclaw health
빌드에서 온보딩을 사용할 수 없다면:
  • openclaw setup을 실행한 다음 openclaw channels login을 실행하고, Gateway를 수동으로 시작하세요(openclaw gateway).

최신 개발 워크플로(터미널의 Gateway)

목표: TypeScript Gateway를 작업하고, 핫 리로드를 사용하며, macOS 앱 UI는 연결된 상태로 유지합니다.

0) (선택 사항) macOS 앱도 소스에서 실행

macOS 앱도 최신 개발판으로 사용하려면:
./scripts/restart-mac.sh

1) dev Gateway 시작

pnpm install
# First run only (or after resetting local OpenClaw config/workspace)
pnpm openclaw setup
pnpm gateway:watch
gateway:watch는 이름이 지정된 tmux 세션에서 Gateway watch 프로세스를 시작하거나 다시 시작하고, 대화형 터미널에서는 자동으로 연결합니다. 비대화형 셸은 분리된 상태로 유지되며 tmux attach -t openclaw-gateway-watch-main을 출력합니다. 대화형 실행을 분리된 상태로 유지하려면 OPENCLAW_GATEWAY_WATCH_ATTACH=0 pnpm gateway:watch를 사용하고, 포그라운드 watch 모드에는 pnpm gateway:watch:raw를 사용하세요. watcher는 관련 소스, 구성, 번들 plugin 메타데이터 변경 시 다시 로드합니다. 감시 중인 Gateway가 시작 중 종료되면 gateway:watchopenclaw doctor --fix --non-interactive를 한 번 실행하고 재시도합니다. 이 dev 전용 복구 단계를 비활성화하려면 OPENCLAW_GATEWAY_WATCH_AUTO_DOCTOR=0을 설정하세요. pnpm openclaw setup은 새 체크아웃을 위한 일회성 로컬 구성/작업공간 초기화 단계입니다. pnpm gateway:watchdist/control-ui를 다시 빌드하지 않으므로, ui/ 변경 후에는 pnpm ui:build를 다시 실행하거나 제어 UI 개발 중에는 pnpm ui:dev를 사용하세요.

2) 실행 중인 Gateway를 macOS 앱에 지정

OpenClaw.app에서:
  • 연결 모드: Local 앱은 구성된 포트에서 실행 중인 Gateway에 연결됩니다.

3) 확인

  • 앱 내 Gateway 상태가 **“Using existing gateway …”**로 표시되어야 합니다.
  • 또는 CLI로 확인:
openclaw health

흔한 실수

  • 잘못된 포트: Gateway WS 기본값은 ws://127.0.0.1:18789입니다. 앱과 CLI를 같은 포트로 유지하세요.
  • 상태가 저장되는 위치:
    • 채널/프로바이더 상태: ~/.openclaw/credentials/
    • 모델 인증 프로필: ~/.openclaw/agents/<agentId>/agent/auth-profiles.json
    • 세션: ~/.openclaw/agents/<agentId>/sessions/
    • 로그: /tmp/openclaw/

자격 증명 저장소 맵

인증을 디버깅하거나 무엇을 백업할지 결정할 때 사용하세요.
  • WhatsApp: ~/.openclaw/credentials/whatsapp/<accountId>/creds.json
  • Telegram 봇 토큰: 구성/env 또는 channels.telegram.tokenFile(일반 파일만 가능, 심볼릭 링크는 거부됨)
  • Discord 봇 토큰: 구성/env 또는 SecretRef(env/file/exec 프로바이더)
  • Slack 토큰: 구성/env(channels.slack.*)
  • 페어링 허용 목록:
    • ~/.openclaw/credentials/<channel>-allowFrom.json(기본 계정)
    • ~/.openclaw/credentials/<channel>-<accountId>-allowFrom.json(기본이 아닌 계정)
  • 모델 인증 프로필: ~/.openclaw/agents/<agentId>/agent/auth-profiles.json
  • 파일 기반 비밀 페이로드(선택 사항): ~/.openclaw/secrets.json
  • 레거시 OAuth 가져오기: ~/.openclaw/credentials/oauth.json 자세한 내용: 보안.

업데이트(설정을 망가뜨리지 않고)

  • ~/.openclaw/workspace~/.openclaw/를 “내 것”으로 유지하세요. 개인 프롬프트/구성을 openclaw 저장소에 넣지 마세요.
  • 소스 업데이트: git pull + pnpm install + 계속 pnpm gateway:watch 사용.

Linux(systemd 사용자 서비스)

Linux 설치는 systemd 사용자 서비스를 사용합니다. 기본적으로 systemd는 로그아웃/유휴 시 사용자 서비스를 중지하며, 이로 인해 Gateway가 종료됩니다. 온보딩은 사용자를 위해 lingering 활성화를 시도합니다 (sudo 프롬프트가 표시될 수 있음). 여전히 꺼져 있다면 다음을 실행하세요.
sudo loginctl enable-linger $USER
항상 켜져 있어야 하거나 다중 사용자 서버인 경우 사용자 서비스 대신 시스템 서비스를 고려하세요 (lingering 필요 없음). systemd 참고 사항은 Gateway 런북을 참조하세요.

관련 문서