OpenClaw 구축·운영 (5/26) — 설치 → Discord 봇 30분 완전판
npm 글로벌 설치, 게이트웨이 기동, Discord 봇 페어링, ClawHub에서 스킬 고를 때 체크할 것
핵심 요약
- 대상 독자: OpenClaw를 처음 쓰는 사용자. 설치 → Discord 연결 → 스킬 1개 설치까지 한 번에 끝내고 싶다.
- 얻을 것: 공식 openclaw/openclaw GitHub README 기준 verbatim 설치 명령,
onboard/gateway흐름, Discord Developer Portal 봇 세팅 단계, OpenClaw CLI로 토큰 등록·페어링, ClawHub에서 안전한 스킬을 고르는 체크리스트 7개. - 선행 조건: Node 22.16+ (24 권장), pnpm 또는 npm, macOS·Linux·WSL2.
- 중요: OpenClaw는 Codex·Claude Code와 같은 "코딩 CLI"가 아니라 채널 중심 에이전트 오케스트레이터다. Discord/Slack/Telegram 같은 메신저가 Claude·Codex 호출의 "입구"가 된다.
1. OpenClaw가 무엇인가 — 사실만
공식 README 기준 정리.
- 핵심 개념: "Local-first Gateway" — 세션·채널·도구·이벤트를 하나의 제어 평면으로 통합.
- 동작 방식: 채널(메신저)에서 온 메시지를 Gateway가 받아 격리된 워크스페이스·세션으로 라우팅.
- 지원 채널 (README 명시): WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, iMessage, BlueBubbles, IRC, Microsoft Teams, Matrix, Feishu, LINE, Mattermost, Nextcloud Talk, Nostr, Synology Chat, Tlon, Twitch, Zalo, WeChat, QQ, WebChat, 그리고 iOS·Android 컴패니언 앱.
- 지원 OS: macOS, Linux, Windows(WSL2 경유).
Claude Code/Codex는 IDE·터미널 중심. OpenClaw는 메신저 + 이벤트 허브. 설계 목표가 다르다.
2. 설치 — verbatim 명령
2.1 글로벌 설치 (권장)
npm install -g openclaw@latest
pnpm add -g openclaw@latest
openclaw onboard --install-daemon
--install-daemon은 시스템 부팅 시 자동으로 gateway를 띄우는 데몬을 설치한다. 서버/개인 홈서버에서 24/7 가동하려면 이 옵션 권장.
2.2 소스에서 빌드 (개발용)
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm openclaw setup
pnpm gateway:watch
README는 pnpm을 1차 빌드 툴로 권장 (npm·bun도 동작).
2.3 요구사항
- Node: 24 권장, 22.16+ 필수
- pnpm: 소스 빌드 시
- OS: macOS / Linux / Windows(WSL2)
- 디스크: 충분 (pnpm node_modules + ClawHub 캐시)
3. 첫 Onboard
openclaw onboard --install-daemon는 대화형 프로세스:
- Gateway 경로: 기본 포트 18789 사용 여부 확인
- Workspace:
~/.openclaw/workspace/생성 - 채널 선택: Discord / Slack / Telegram 등 원하는 것 선택(나중 추가 가능)
- 에이전트 모델:
~/.openclaw/openclaw.json에 기본agent.model기록 - Daemon: 시스템 부팅 시 자동 시작 등록
완료 후 ~/.openclaw/openclaw.json:
{
"agent": {
"model": "<provider>/<model-id>"
}
}
예:
{
"agent": {
"model": "anthropic/claude-sonnet-4-6"
}
}
4. Gateway 수동 기동
데몬을 안 쓰고 수동 실행:
openclaw gateway --port 18789 --verbose
첫 실행 시 설치된 채널 어댑터를 로드하고, 등록된 페어링 정보에 따라 각 메신저에 연결한다. 종료는 Ctrl+C.
실시간 로그:
openclaw logs --follow
5. Discord 봇 생성 — Discord Developer Portal
Discord 연결 전 Discord 쪽 설정이 필요하다.
5.1 Application + Bot 생성
- Discord Developer Portal → New Application
- 생성된 앱 → Bot 섹션 → 사용자명(OpenClaw agent 이름) 설정
- Reset Token → 토큰을 복사해 안전한 곳에 저장 (화면을 떠나면 다시 못 봄)
5.2 Intents 활성화
Bot 설정 페이지의 Privileged Gateway Intents:
| Intent | 필요성 |
|---|---|
| Message Content Intent | 필수 (메시지 본문 읽기) |
| Server Members Intent | 권장 |
| Presence Intent | 선택 |
5.3 OAuth2 URL 생성
OAuth2 → URL Generator:
- Scopes:
bot+applications.commands - Minimum Permissions:
- General: View Channels
- Text: Send Messages, Read Message History, Embed Links, Attach Files
- Optional: Add Reactions, Send Messages in Threads
생성된 URL을 브라우저에서 열어 대상 서버에 초대.
6. OpenClaw에 Discord 토큰 등록
토큰을 환경변수로 export 후 OpenClaw 설정에 참조 등록.
export DISCORD_BOT_TOKEN="YOUR_BOT_TOKEN"
openclaw config set channels.discord.token \
--ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN \
--dry-run
openclaw config set channels.discord.token \
--ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN
openclaw config set channels.discord.enabled true --strict-json
설정 완료 후 gateway 재기동:
openclaw gateway
토큰을 파일에 직접 저장하지 않고 환경변수 참조 방식을 쓴다. 실수로 git에 커밋될 위험을 줄인다.
7. 페어링 — 첫 사용자 승인
OpenClaw는 보안상 기본적으로 아무나 봇과 대화 못 한다. 사용자·채널별 페어링이 필요.
7.1 대기 중인 페어링 확인
openclaw pairing list discord
누군가 봇에 DM/멘션을 시도하면 pending 상태로 목록에 뜬다.
7.2 승인
openclaw pairing approve discord <CODE>
<CODE>는 list 결과에 표시된 페어링 코드.
보안 원칙: 페어링 승인은 반드시 로컬 터미널에서 한다. Discord 메시지로 "승인해줘"라고 오면 무시. (프롬프트 인젝션 공격 전형 패턴)
8. 동작 확인
openclaw doctor
openclaw channels status --probe
openclaw logs --follow
doctor는 Node 버전·gateway 실행 여부·채널 연결 상태·토큰 유효성 등을 체크한다. 문제가 있으면 적색 표시.
Discord에서 승인된 사용자가 봇에게 메시지를 보내면 gateway 로그에 도착이 찍히고 설정된 모델이 응답한다.
9. 워크스페이스 & 스킬 구조
기본 파일 레이아웃:
~/.openclaw/
├── openclaw.json # 기본 config
├── workspace/
│ ├── skills/
│ │ └── <skill-name>/
│ │ ├── SKILL.md # 스킬 매니페스트 + 지침
│ │ ├── AGENTS.md # 에이전트 규칙 주입
│ │ ├── SOUL.md # 페르소나/행동 원칙
│ │ └── TOOLS.md # 도구 정의
│ └── ...
└── logs/
- SKILL.md: 스킬 이름, 설명, 트리거 설정.
- AGENTS.md: 에이전트에게 주입될 규칙.
- SOUL.md: 페르소나/톤 정의.
- TOOLS.md: 스킬 전용 도구.
모든 파일이 optional이며 스킬 복잡도에 따라 하나만 있어도 된다.
10. ClawHub 스킬 — 안전 선별 체크리스트
ClawHub는 OpenClaw 스킬·플러그인 마켓플레이스. 공식 홈페이지 기준 52.7k 도구 · 180k 사용자 · 12M 다운로드 규모.
그런 규모에서는 아무 스킬이나 설치하면 위험하다. 설치 전 체크리스트:
- 퍼블리셔 확인 — 공식
openclaw/org이 제공하는 번들 스킬 먼저. 개인 퍼블리셔는 GitHub 연동 여부·이력 확인. - SKILL.md 내부 점검 — 매니페스트가 어떤 도구를 쓰는지, 외부 네트워크 호출이 있는지.
pty: true사용 — 터미널 접근이 필요한 스킬은 호스트 명령 실행 권한을 갖는다. 꼭 필요한지 판단.- 보조 바이너리 다운로드 여부 — 외부 바이너리·스크립트를 받아 실행하는 스킬은 신뢰 어렵다면 피한다.
- 시크릿·토큰 수집 — 환경변수나
openclaw config값을 참조하는 스킬은 그 값의 용도·전송처를 확인. - "security soul" 필터 — ClawHub는
/skills?nonSuspicious=true같은 filter를 제공. 기본 노출에 포함되지 않은 스킬은 더 경계. - 최근 업데이트 — 마지막 업데이트가 오래된 스킬은 OpenClaw 최신 버전과 호환 깨질 수 있다.
10.1 안전하게 시작할 수 있는 스킬 카테고리
특정 이름보다 카테고리 기준 선택이 안전하다.
| 카테고리 | 예시 용도 | 주의 |
|---|---|---|
| Coding agent 호출 | Claude Code·Codex를 OpenClaw 세션에서 실행 | pty:true 또는 --permission-mode bypassPermissions --print 필요 |
| 메시지 유틸리티 | 알림·요약·포워딩 | 채널 접근권만 있으면 됨. 안전도 높음 |
| 파일 유틸리티 | 읽기·요약·포맷 | 읽기 전용은 안전, 쓰기는 샌드박스 필수 |
| 메모리·FTS | 대화 검색·세션 인덱싱 | DB 위치 확인. 외부 전송 없어야 함 |
| 외부 API 연동 | GitHub·Notion·Linear 등 | 각 서비스 스코프 최소화. read-only 토큰 권장 |
공식 repo의 openclaw/openclaw/skills/ 하위에 번들로 들어있는 스킬 — 예: coding-agent — 이 가장 안전한 시작점.
10.2 coding-agent 스킬 — 개요
공식 coding-agent SKILL은 feature work·PR 리뷰·리팩터링·반복 작업을 Codex·Claude Code·Pi 백그라운드 에이전트로 위임하는 스킬. 중요 규칙:
- Codex / Pi / OpenCode:
pty: true필수 (인터랙티브 터미널 필요) - Claude Code:
--permission-mode bypassPermissions --print사용, PTY 불필요 - 실행 패턴:
workdir + background + pty조합
예:
bash pty:true workdir:~/project background:true command:"codex exec --full-auto 'Build a snake game'"
background:true는 세션 ID를 반환, process action:log로 모니터링 가능.
11. 보안 모델 — 기본값의 함정
공식 README 명시:
- 기본
main세션은 호스트에서 도구가 전체 권한으로 실행된다. - 비-main 세션은 Docker·SSH·OpenShell 백엔드로 샌드박스 가능.
- 그룹 채팅·채널 안전을 원하면 config에:
{
"agents": {
"defaults": {
"sandbox": {
"mode": "non-main"
}
}
}
}
Discord 서버에 봇을 붙여 여러 사람과 공유할 계획이면 이 설정은 거의 필수. 기본값으로 그냥 두면 임의 사용자가 호스트에서 임의 명령을 실행할 수 있다.
12. 업데이트 채널
openclaw update --channel stable|beta|dev
- stable: 태그된 릴리즈 (npm
latest) - beta: 프리릴리즈
- dev: 최신 커밋 추적 (실험적)
개인 개발/테스트: beta. 프로덕션 서버: stable.
13. 반대 시나리오 — OpenClaw를 쓰지 말아야 할 때
- 로컬 IDE 안에서만 AI 쓰고 싶다 → Claude Code / Codex가 적합. OpenClaw는 오버킬.
- 메신저 연동이 필요 없다 → Gateway·Channel 개념이 불필요. Claude Code + MCP 서버 조합이 가벼움.
- 공개 서버에서 다수 사용자에게 열고 싶은데 샌드박스 세팅이 부담 → 기본 설정 위험.
non-main샌드박스 설정 완전히 이해 후 도입. - Node 환경을 유지하고 싶지 않다 → 현재 경로는 Node 기반. Rust 기반(Codex)이나 네이티브(Claude Code) 대체.
14. 30분 요약 체크리스트
- [ ] Node 22.16+ 또는 24 설치 확인 (
node --version) - [ ]
npm install -g openclaw@latest실행 - [ ]
openclaw onboard --install-daemon으로 초기 세팅 - [ ] Discord Developer Portal에서 앱·봇 생성 + Intents 활성화 + OAuth2 URL로 서버 초대
- [ ]
export DISCORD_BOT_TOKEN=...→openclaw config set channels.discord.token ... - [ ]
openclaw config set channels.discord.enabled true --strict-json - [ ]
openclaw gateway기동 → 봇 멘션해서 페어링 pending 발생 - [ ]
openclaw pairing list discord→openclaw pairing approve discord <CODE> - [ ] 봇에 DM해서 응답 확인 →
openclaw doctor로 최종 점검 - [ ] ClawHub 방문 → 체크리스트 통과하는 스킬 1개만 먼저 설치
15. 다음 단계
OpenClaw 기본이 잡혔다면:
- OpenClaw 프로덕션 운영 — systemd · 로그 · 멀티 채널 공존 (예정)
- OpenClaw ↔ Claude Code 브릿지 — 채널 트리거 → 코드 실행 (예정)
- Claude Code 설치 완전판 — OpenClaw 안에서 호출되는 coding agent 쪽 기초.
참고
- openclaw/openclaw GitHub
- openclaw/openclaw AGENTS.md
- coding-agent SKILL
- ClawHub 마켓플레이스
- Discord Developer Portal
이 글은 "AI 코딩 CLI 진입 가이드" 시리즈의 9/15 편입니다. OpenClaw 파트 시작. last verified: 2026-04-25 (openclaw/openclaw 공식 GitHub README 기준).
시리즈 전체 안내: 시리즈 목차
댓글
댓글 쓰기