# OpenClaw 적용

- 저자: chorr
- URL: https://8log.kr/openclaw-setup
- 날짜: 2026-03-02

---

## 개요

OpenClaw는 개인 AI 어시스턴트를 자체 호스팅할 수 있는 오픈소스 플랫폼이다. Claude, Gemini 등 다양한 LLM provider를 연결하고 Discord, Telegram, Signal 등 여러 메신저와 통합할 수 있다.

## 왜 OpenClaw인가

### 기존 서비스의 한계
- ChatGPT, Claude 웹: 브라우저에 종속, 확장 불가
- API 직접 사용: 코드 작성 필요, 번거로움
- 기존 오픈소스: 설정 복잡, 유지보수 어려움

### OpenClaw의 장점
- **통합 인터페이스**: 여러 채널에서 하나의 AI 접근
- **스킬 시스템**: 기능을 모듈화하여 확장 가능
- **메모리 지속**: 파일 기반 메모리로 컨텍스트 유지
- **자체 호스팅**: 데이터 주권 확보

## 설치 방법

### 요구사항
- Node.js >= 20.0.0
- pnpm >= 10.0.0
- (선택) Docker

### 기본 설치
```bash
# OpenClaw CLI 설치
npm install -g openclaw

# 설정 초기화
openclaw init

# 설정 파일 수정
vim ~/.openclaw/config.json
```

## 스킬 시스템

### 스킬 구조
```
skills/
├── my-skill/
│   ├── SKILL.md       # 스킬 문서 (필수)
│   ├── package.json   # 메타데이터
│   └── script.sh      # (선택) 헬퍼 스크립트
```

### SKILL.md 예시
```markdown
# My Skill

## Overview
이 스킬은 ...을 자동화합니다.

## Commands
- "명령어 1" → 실행 내용
- "명령어 2" → 실행 내용

## Workflows
1. 단계 1
2. 단계 2
3. 단계 3
```

## 메모리 시스템

### 파일 기반 메모리
OpenClaw는 세션 간 지속성을 파일로 관리한다:

```
workspace/
├── AGENTS.md        # 에이전트 규칙
├── SOUL.md          # 성격/성향 정의
├── USER.md          # 사용자 정보
├── MEMORY.md        # 장기 기억
├── TOOLS.md         # 도구/환경 노트
├── HEARTBEAT.md     # 주기적 작업
└── memory/
    ├── 2026-03-01.md    # 일일 로그
    └── channels/
        └── discord-xxx.md   # 채널별 컨텍스트
```

### 메모리 계층
1. **세션 메모리** — 현재 대화 컨텍스트
2. **일일 로그** — `memory/YYYY-MM-DD.md`
3. **장기 기억** — `MEMORY.md` (수동 관리)

## 워크플로우 예시: 블로그 자동화

### 시나리오
```
1. Obsidian에서 글 작성
2. GitHub Actions or 로컬 스크립트로 동기화
3. OpenClaw 채팅으로 "배포해줘" 요청
4. 빌드 → 테스트 → 배포 자동 실행
```

### 구현 방법

**스킬 생성:**
```markdown
# blog-deploy

## Commands
- "블로그 배포해줘" → sync → build → deploy
- "미리보기 배포" → preview deploy

## Scripts
```bash
# 동기화
ob sync --path ~/vault

# 빌드
cd ~/blog && pnpm build

# 배포
pnpm deploy:prod
```

## 보안 고려사항

### 민감 정보 관리
- API 키는 환경변수 또는 1Password 연동 사용
- `.env` 파일은 `.gitignore`에 반드시 추가
- 메모리 파일에 개인정보 노출 주의

### 접근 제어
- Gateway는 Tailscale로 제한
- Discord 봇은 특정 서버/채널만 허용
- Admin 명령어는 화이트리스트 관리

## 트러블슈팅

### 자주 발생하는 문제

**채널 연결 안 됨**
```bash
# Discord
openclaw gateway logs  # 로그 확인
# 토큰 유효성, Gateway Intent 확인
```

**메모리 반영 안 됨**
```bash
# Hot reload 실패 시
sudo systemctl restart openclaw
```

**모델 응답 없음**
```bash
# API 키 유효성 확인
openclaw status
```

## 확장 아이디어

- **Home Assistant 연동**: IoT 제어
- **GitHub 통합**: PR 리뷰, 이슈 관리
- **Calendar 연동**: 일정 알림
- **RSS 모니터링**: 뉴스 요약

## 참고 링크

- OpenClaw Docs: https://docs.openclaw.ai
- GitHub: https://github.com/openclaw/openclaw
- Community: https://discord.com/invite/clawd

